Close
0%
0%

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 https://www.youtube.com/channel/UCG6rvUou0GMLyTbjs4Ro2zg/playlists

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.

  • 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 .. http://tinyurl.com/usm9eqd

    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   https://www.electronics-tutorials.ws/logic/pull-up-resistor.html (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.

    See https://www.youtube.com/watch?v=wdYZv8Z_g2I

  • 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

  • Using PROGMEM

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

    Massive reduction in dynamic memory needs (IE ram) due to moving all strings to flash. Much more stable now.

    Created a convenience library using macros  for writing to serial.print as my old functions approach no longer works with the flash strings.

View all 19 project logs

  • 1
    See the Github repo and EasyEda

View all instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

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