Skip to the content.

An 8-bit numeric display

This is a description of a display for showing values of an 8-bit signal. This is useful for building and debugging breadboard digital circuits working with digital numbers.

Picture of module

It’s main features are:

It’s inspired in Ben Eater’s output register, but this is just the display (it does not contain register functionality). I decided to keep it as a separate unit that I can attach to any register to debug.

🎥 Video Demo

Building the display

Schematic

Materials

All ICs should be in DIP package if you’re building in breadboards.

You can also choose TTL compatible components (LS or HCT families for the 74 series, and NE555 for the timer IC). As long as you’re consistent, it’s the same; all external inputs come into the EEPROM, which accepts both TTL and CMOS inputs.

Data sheets

Preparing the ROM

The ROM image is generated by a Python script. I tried to make it easy to change. I’m also providing a pre-built ROM file if you want to use mine unchanged.

You will need an EEPROM programmer to write the ROM. The image generated only uses the lower 4KB (leaving the other 4KB unused). It would be possible to add other modes there if desired.

The Config section has a few settings that you can fiddle with; FONT is something you can change without changing the circuit if you want to provide different selection of segments or representable values. ROM_LAYOUT is used to customize the mapping of segment to ROM pins; this has been configured for my breadboard layout so that the wires from ROM to the segment stay in the same side of the breadboard and are tidier.

The generate_text() should produce the text representation for an 8-bit value in the selected mode. shuffle() takes care of adjusting the bits described in the font to the output pin layout selected.

If you set an invalid mode, the display should show ---- (four dashes).

Possible improvements