Three-Dimensional Design Yields Compact Seven-Segment Hex Displays

Computers, from the simplest to the most complex, aren’t very useful if they can’t provide feedback to a user. Whether that interface takes the form of a monitor, a speaker, or a simple LED, there’s almost always some kind of output. One of the most ubiquitous is the ever-present seven-segment display. They’re small, they’re easy to use, and, perhaps most important, they’re cheap.

While the displays themselves are relatively compact, they often require some sort of driver circuitry — something that translates a digit into voltage at the correct pins. These drivers can take up valuable space, especially on a breadboard, and can sometimes make using seven-segment displays cumbersome. Thankfully, [John Lonergan] has a great solution: driver boards that sit completely beneath the displays. His dual seven-segment hex display project was born out of necessity — he needed it for the breadboard CPU SPAM-1, which was getting a bit too bulky. Each module is two seven-segment displays atop a small PCB. Beneath the displays lives an 8-bit PIC microcontroller, which acts as a driver for both of the displays.

It’s so easy to restrict ourselves to thinking in two dimensions when working on electronic design — even designing multilayer PCBs often feels like working on several, distinct two-dimensional areas rather than one three-dimensional one. The concept of stacking components to save space, while fairly straightforward to implement, is a great example of the kind of problem-solving we love to see here at Hackaday. Of course, if you like the idea of 3D circuit design, you have to check out some of these incredible circuit sculptures we’ve featured in the past.

10 thoughts on “Three-Dimensional Design Yields Compact Seven-Segment Hex Displays

    1. Yeah, was thinking the same thing. One PCB, SMD display on the top, SMD pic cpu on the bottom.

      But also: with some charlieplexing, you could do it with an 8-pin microcontroller. Needing 5 signals for driving 20 LEDs (e.g. two 7-segment displays with DP = 16 LEDs). That could be done with an attiny45, which has 6 I/O pins.

      But you then would have only one line left for communicating with the attiny, so you would have to use some serial protocol.

      With the PIC used in this thing, there are even 8 free I/O pins, meaning that it could drive 56 LEDs. That is enough for seven 7-segment displays, assuming that you’d want to use the DP as well. If you don’t care about the DP, you could drive eight 7-segment displays with one PIC.

      Or, if you want to keep with one board for 2 displays, you could get fancy and use 2 16-segment starburst displays, and show the whole alphabet + numbers.

      Charlieplexing. Try it. :)

      1. Exactly, nothing SMD is breadboard friendly. If you are to make it breadboard friendly you’ll have to put it on some breakout board. If the same part is available as a classic through hole DIP, it will probably be smaller than putting the SMD equivalent on a breakout for a breadboard. those breakouts should only be used on more modern components where you have no other choice but to use the SMD part because there was never a through hole equivalent available.

    2. Hi (creator of this project) the hole thing (pun intended) thing is easy for someone like me to put together and is small enough.
      Any way, I like the chunky look of the .56 displays too and the option to swap them off for other colours as needed on a single board. And I had a bunch of this stuff sitting in my box of parts.
      Easy for anyone to build from easy to get parts.

  1. i always wanted a display where you slot your own LEDs into an numerical or alphanumeric display,
    of course i would want to use throughhole LEDs but i’d settle for surfacemount, as long as i can change
    the colour andor efficiency andor voltage (1.65 1.85 1.925 1.98 2.1 2.65 2.8 2.95 3.1 3.2 3.4 and finally, the one always quoted but seldom seen; 3.6)

Leave a Reply to John LonerganCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.