Johnny's home-built CPU corner (and other stuff, maybe)


7-seg HEX Decoder


I needed a 7-seg HEX Decoder for my 8080 project so I decided to go over the top and build me one from scratch.

Of course I could have used a micro controller of some sort (I like AVR ATmega), or even simpler, I could have programmed an EPROM or FLASH memory.

But, I am who I am, so I made one the difficult way by using DTL.  Chocking!  And at the same time fun!


( Here is an practical example of putting a PIC into work (external link) )

The way I usually do DTL gates is like this:

But this time I decided to use more common components, i.e. no schottky diodes.

Using only 1N4148 this way slows down the gate considerably compared to the one using a BAT42 but in this context speed is not an issue.

I have a few thousand of both 1N4148 and BC547A so why not put them to work.


There is a relation between R1 and R2 that's important. By try and error I have found that one (well) working combo for R1/R2 is 15K/3K9.  Another one is 8K2/1K8.


The collector resistor can be anything. In this case I'm using 3K9 to save some power. For high speed gates I'm using 1K or less, when speed is of no importance 2K7 to 4K7 is OK.


Soo, here is the schematic :


(Click on the image)

The circuit is straightforward. First there is a one of 16 decoder (actually only 15 is decoded) followed by 7 NAND gates telling which segments to turn off.

In normal state all seven segements is turned on, therefore number 8 did not needed to be decoded.


After that I use a PNP transistor to drive the segment(s).  The emitter of that PNP will be conntected to the unregulated side of the power supply unit.

No need to waste power using regulated 5V for driving some LED's.  Unregulated 8-10V will be just fine.

This is a "prototype" I made in 2015 :

Test setup :

And here is the latest version :

Running test :

(Short MP4 video, 824 KB)


If it doesn't play in your browser, download the file to your hard drive and play it from there.