ICTester Manual

2014 MCbx (preliminary work-in-progress version)

IC Tester is a set of programs which allow to use Everyday Practical Electronics' IC Tester device in operating systems other than Windows XP or earlier. Original program for this wonderful tester is written in Visual Basic thus it's impossible to successfully run it in newer versions of Windows or in any Linux operating system.
IC Tester is written in C++/Qt, so it's portable and can be run both in Windows and Linux environment. All configuration is stored in 2 files (.ictestrc.ini and .icpower.rc) in user's home directory.

Table of contents

  1. Getting to work.
  2. Main Window.
  3. Typical workflow.
  4. Configuration.
  5. Sheet editor.
  6. Low-level interface test.
  7. Command-line version.
  8. File structure

Getting to work

The first thing you should do after installation or compiling (ICTester requires Qt libraries and QtSerialPort library, if you want to build it from sources) is to create your own directory for test sheets. Test sheets are files which store test procedures for circuits. You can use test sheets from the previous version of the software.
To get these files, you have to download full installation (MSI) version of Windows software (e.g. from here) and install it. In Linux you have to install the software with Wine (use Wine's msiexec) and take Datasheets from their directory.
The original software doesn't work with Wine 1.6.2.
I recommend to create simple directory structure for different families of circuits (74xx logic, 40xx logic etc) as it helps a lot. Then you can put test sheet files in your directory and run the program.

Main Window

The program's main window (shown below) consists of several parts.

Typical workflow

The first thing to do is to load test sheet for verified circuit. To do it, press the first button in toolbar or select item from File menu. File menu keeps list of 10 recently used test sheets. After you click Open icon, Open dialog pops up:

The first thing to do here is to select your test sheets directory - it will be stored with program's configuration so you won't have to click through all directories again. Now you can select test sheet. You can quickly find the sheet by typing part of its name/description in text box above the list. After you click a sheet, you'll see its preview.

Then you have to configure test parameters, do it by inspecting left-bottom part of main window. The options are explained below:

After you've configured test parameters, you can hit Start button. This doesn't start the test yet. Instead, power requirements window is displayed:

Then you configure your tester according to drawing and after putting IC in socket hit OK to start the test. Any time you can display current sheet's power configuration by pressing Show Power Requirements button in toolbar.

A successful test run is shown below:

As we can see from log, device (tester) was restarted, configured, power has been turned on and IC passed all checks. Notice Test Statistics counters state.

If you get a device error like this:

it means that there was a problem. In most cases the problem is:

Error codes are following:

If your tester hanged with power on, you can always force its reset by clicking the last icon in a toolbar.

Configuration

Configuration window can be called from Tools menu or toolbar icon. Let's see the first configuration tab:

This is quite straightforward. In this window you can change communication port to which tester is connected. And in most cases only this setting has to be changed. Modification of baud rate requires modification of tester itself, so it's safe to leave it at default 19200. Timeout value 1000 is suitable for most computers. If your computer is so fast that during long tests tester "drops" some commands, you can slightly increase Delay every step value.

This part allows to define colors for IC visualization provided in main window. It should be noticed that drawings and text may in newer systems work only in drawings, text may remain black.

This tab is very important. As you've seen by looking at IC tester hardware, IC tester has 4 DIP switches connected to power or ground, but it can support more with user settings. For example if you check many chips in 24-pin sockets, and they have power to pin 24, you can use 5th DIP to connect power to pin 24. This window allows to define these additional switches and they're taken to account when suggesting you power configuration before test. Double-click on a selected DIP switch function to change what is connected to it: Power (Vcc) or ground (GND). There may be "empty" DIP switch too, it's just disconnected so it's only drawn as present, but not used. Then you specify pin which is connected with this DIP switch. You can always revert to default setting by pressing Set defaults button.

WARNING! - bad configuration of DIP switches in program may produce misleading results in power configurations provided by it. This may cause even damage of tester or IC tested!. It is important to double-check are settings entered here reflecting IC tester wiring!

Building your own sheet

You can build your own test sheet to test new ICs.
First, open any sheet from directory in which you want your new sheet to be located. This tells the active directory.
Then press the Create new test sheet button in a toolbar. Program will ask you for new sheet's name and then will go to editor. You can call editor with any sheet by pressing Edit current test sheet button.

The editor consists of two tabs. In the first one you specify inputs and outputs of circuit and it should be filled first. Notice that Changing pin number erases the test script so don't make mistake here.

If you change sheet's name, the file name changes too. If you've changed it, program will ask do you want to preserve file with old name.
Change pin functions by double-clicking on Usage cell. You may fill Tag with pin name to make identification easier. In some operating systems pressing Return will automatically move editing to the next pin. After specifying IC details you have to program a test script in the second tab.

This is a script editor. Usually most scripts start with Reset-5V ON commands. If your IC has pins which are inputs and outputs, you can re-configure I/O during script execution. High-Low-Doesn't matter (X) states are modified by double-clicking specified cell. A good testing script should cover the following issues:

Low level interface test

To check are all pins working, the software has a low level test which allows to "light up" a pin in socket. The test window is shown below:

Because PIC's lines use pull-up resistors conencted with switchable +5V, it is needed to take it into account during testing with logic probe. To avoid short-circuits, remember to switch all DIP switches OFF and remove any wire links before connecting with device.

To get information about tester software, use Identify device command in Tools menu.

Command line version

There is a command-line tool which has basic tests and diagnostic capabilities. The usage is following:
ictestcon ttySx x circuit.mod
Where:

Available commands:


Files structures

 - ictestrc.ini is quite self-explainatory, the only thing is with colors - they're stored separately, Red-Green-Blue, value after value.
 - icpower.rc consists of set of lines, each line has 3 comma-separated values. The first value is DIP switch number. Second - to which is connected (0 - ground, 1 - power, 2 - nothing), third - DIP socket pin which is connected to the other side of switch.

TEST SHEET (MOD FILE) FORMAT:
The format is the same as in original EPE IC tester. CR/LF (line endings) are the same in Linux version, Windows-like.
If a line starts with # - it's a comment. Skipped during read. Empty lines are skipped too.
After ignoring comments and blank lines, we have a pure script file.
Now it's needed to parse it, each line has its meaning, line order is sigificant here.
1. IC Model name (eg. 7404)
2. IC description (eg. Quad NAND gate)
3. Number of pins in package  (called later NumOfPins)
4. Pin for + power .
5. Pin for GND  - if there are more GND/power pins original software gets lost, my software proposes wire-based solution.
Starting from line 6 there are NumOfPins lines for each pin, they look like: a,b,c: (3 fields comma separated):
  - a -  Pin number.
  - b -  Pin description as string
  - c - pin usage
    - 0 - Logic i/p
    - 1 - Logic o/p
    - 2 - Universal i/o reconfigurable later? - not fully implemented.
    - 3 - GND
    - 4 - Vcc
    - 5 - NC
 Then test script lines come until end of file, they look like a,bcdefghijklmnopqrstuvwxyz
  - a - line number
  - b - command
    - 0 - Reset device (Vcc off)
    - 1 - Vcc on
    - 2 - Configure pins.
          This operation is usually not present in start of script, but generated from pin configuration.
    - 3 - Send state to pins - zero should be sent to o/p pins.
    - 4 - Read state from pins
  - c..z - directive arguments:
    - 0 - logic 0 , or input in command 2
    - 1 - logic 1 , or output in command 2
    - X - logic "doesn't matter" in testing or power pins in setup

This is the end of the document.
MCbx, 2014.