Integrated Circuit Tester & Exploratory Tool

Interactive tester and exploratory tool for logic chips

Public Chat
Similar projects worth following
This is a hardware and software impl that provides an exploratory tool for IC's as well as testing and identification. However, it is somewhat unusual in that it is capable of identifying tristate outputs and can also differentiate push-pull outputs from open-collector. An interactive mode is supported that allows one to exercise the test subject directly to explore how it works, and there's also an "identify" mode that runs throught a database of chips.It was primarily built to help me check a bunch of chips I'd bought but also to provide a tool to help me verify my understanding of some uncommon logic devices without having to hack around on breadboards and the interactive mode helps here.See also my Youtube channel

There were various motivations for building this:

  • To test a bunch of chips I bought from eBay and AliExpress
  • To allow me to check my understanding of the functioning of certain interesting and rarely mentioned logic chips.
  • To learn something about Arduinos
  • To learn about EasyEda
  • To have some fun getting a PCB made up (not having to etch it myself like the old days)
  • Nostalgia - I built something with a similar function at university in 1984 but it was a much bigger physically and hooked up to a BBC PC.

This was not intended to be a chip identification tool as I can read that off the top of the device, but more about testing and learning.

Full details can be found on...

Github docs include notes of a load of stuff I learned along the way.

  • More data on limits

    John Lonergan05/25/2021 at 18:12 0 comments

    During the design I chose current limiting resistors that were low enough to properly drive the chip being tester, but not so low as to damage the chip if the IO is being driven by opposing levels, eg driving 5v from the tester into a pin that is currently an output with a low value. In this situation the current limiting resistor prevents damage to get test device and the circuit under test.

    However I came across this recently in the Phillips HCT User Guide, in section 8.2 "Push-pull outputs", it says ...

    "A shorted output will also cause the maximum DC current rating to be exceeded. However, one output may be shorted for up to 5 s without causing any direct damage to the IC."

    There is more info on that page.

    Assuming most folk will be working with CMOS then I expect this to be true of most/all? devices and so my current limiting resistors could have been smaller still or perhaps non-existent as long as the tester only enabled it's pins momentarily to test the device and then went back to hi Z.

    This is intuitive I think as any damage would be caused by heating and so a very short pulse would cause very little heat.

    Thus is just an observation for a possible simplification of this setup.

    The high value resistors on the other test pin of each pair is still needed to facilitate the tristate tests. If you don't care about those tests then the tester world work without any resistors and using only half the GPIO pins. But I really liked the idea that this device would be able to make strong assertions about all output types. I believe this tester would also correctly test/identify open collector variants.

  • Video - Exploratory GUI demo

    John Lonergan03/03/2020 at 03:51 0 comments

  • Interactive Exploratory GUI

    John Lonergan02/26/2020 at 02:58 0 comments

    Got around to creating a GUI for the exploratory function.

    Alows one to pick the config for the test pins and then displays the result of the test, highlighing the outcome of any pin value expectations in green and red.

    Each pin is equiped with a cfg drop down...

  • Interactive mode, Graphical UI or done for now??

    John Lonergan02/19/2020 at 02:13 1 comment

    At this stage the project has almost served it's purpose.

    There's one more thing I might invest in and that's a graphical UI for the interacgtive mode across the serial interface.

    It would make the exploratory side of things a lot easier.

    Toggle pin states, apply, see results etc.

    Python or Java I suppose - any suggestions?

    The interactive mode is now complete along with various options. I've included a serial monitor that uses the readline library to make usage a lot more convenient.

  • Video - Interactive Mode and Usage

    John Lonergan02/19/2020 at 02:10 0 comments

    Take a look 

  • High-Z test possible using only 1 GPIO pin?

    John Lonergan02/10/2020 at 23:10 0 comments

    I use currently dedicate two GPIO pins per test pin in this device and this allows me to distinguish between 1/0 and Z outputs.

    I was wondering if I'd missed a trick, and whether I could have done this reliably with only one pin plus a pull down resistor.

    See simulation ..

    Firtsly, I don't think this idea works at all if I want to support TTL because I need an external pull down resistor who's value is able to pull-down a high-Z line but without interfering with reading a high logic level. That means we need a high value.

    However if we use a very high resistance for the pull-down then the input low leakage current (out) of the devices will ensure that we are not able to achieve a 0.8v low anymore.

    However if we use a low value then this will pull down the line so much that we can't achieve a valid logic high.

    This page explains pullup/down value selection and the problems associated with poor choices (recomended).

    Turns out the max pull-down for TTL is 2k !! This is assuming an input leakage current of 400uA and a max valid low threshold of 0.8v   Eg 74LS245 is 200uA 

    By contrast the MCP23017 has Input a leakage current of 1uA , 74HCT is 0.1uA, ATmega328p is 1uA which might allow for a pull down of something like 800k perhaps. 

    However,  even 800k would probably pull the logic high down to 4.4v and since this device is already pushing it a bit with voltage levels I'm not keen on taking a device that I've found reliable in testing and then making it flakey.

    So - no after all.

  • Video - Principle of Operation

    John Lonergan02/10/2020 at 03:56 0 comments

    This video discusses the principle of operation of the device and provides a few CircuitJS sims of the modes of operation of the test pins.


  • Interactive Demo of Principles of Operation

    John Lonergan02/08/2020 at 20:24 0 comments

    This tool demonstrates how the two GPIO pins are able to distinguish a tristate high-Z state (or empty socket) from a bistate high/low output.

    The demo is linked off the github page

    But see the Principles of Operation on github for how it works.

    (Built using Falsted/Circuitjs)

  • PCB for free!

    John Lonergan02/08/2020 at 00:40 0 comments

    I have a box of the v1 PCBs for this project.

    If someone wants one and postage from London isn't excessive then drop me a message.

    These boards work fine as long as you seat the chip in the second row of the zif as there was a problem on row one due to me misunderstanding pins A6 and A7 of the Arduino

    Cheers John

  • Interactive

    John Lonergan02/07/2020 at 17:14 0 comments

    Interactive mode now working so this will be the basis of coms for a companion program that will run on a PC

View all 20 project logs

  • 1
    See the Github repo and EasyEda

View all instructions

Enjoy this project?



John Lonergan wrote 07/14/2022 at 16:54 point

Sorry - missed this comment. Do you mean 74LS

The GPIO chips I use almost certainly source enough current to properly pull up the inputs of 74LS.

You would need to supply the chip under test with 5v in isolation from the rest of the board. You don't want everything else lighting up as the tester needs to be in sole control of your device. In practice that means either lifting the VCC leg of the chip or cutting the leg so that you can power it independently of the rest of the card.

I use MCP23017 so you could check it's output voltages and source/sink currents to see if it would drive the 74 chip's inputs.

Output high is VDD – 0.7v
Output low is 0.6v

Max current per pin 25mA.

Should be good to LS logic levels I think as long as fan out isn't crazy.

  Are you sure? yes | no

SergioG wrote 06/10/2022 at 06:18 point

This looks very useful for some of the stuff that I do. Do you think it would work well on a 74 series IC that is already on a board, like an ancient video card?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates