IntroductionDuring the development of embedded projects debugging sometimes can get difficult. There are a number of ways to help troubleshoot problems - a scope or a logic analyzer go a long way narrowing down the problem (although a bit expensive for the hobbyist), a serial connection is extremely useful (but needs a PC). A dedicated debug screen is also an easy and cheap way to make sure variables/levels/counters/peripherals do what they are supposed to do. I created this simple 6 digit 7 segment display out of inexpensive materials that only use 3 pins of the microcontroller and can display information in human readable format. The display module can be used with any microprocessor/microcontroller and can be used as an actual display for other projects that need to display data on 7 segment displays.
SchematicsThe design is based on the 74HC595 CMOS Serial-In-Paralel-Out shift register. One shift register belongs to each 7 segment display (7 bits for the 7 segments + 1 bit for the decimal point). The data displayed is fully static, not multiplexed. As you can see from the schematics there are two connectors on the board: CN1 is the port where data comes in (normally from a microcontroller) and CN2 is an output port that can connect to another similar board. In theory, many display modules like this can be daisy chained to make up a longer display.
|Jumper JP1 allows the use of common cathode and/or common anode 7 segment modules of your choice.|
Capacitors C8-C13 are only needed if a great number of such modules are chained together at higher frequencies. I use mine as a single module with a 8 MHz PIC micro with no capacitors and have never observed any problem.
Board, hardwareSince I wanted to use the same circuit for a clock project as well, the first step in designing the board was to find 7 segment displays I liked. After some browsing I found one that I liked. It comes in several colours and in common anode and common cathode versions. I got some red and blue, common cathode versions. The size of these 7 segment displays defined the overall size of my board. The size of the board is exactly the size of 6 of these displays next to each other. Looking at it from the front you can't see the board, just the displays.
|Front view: Note the PCB is the same size as the total area of the 7 segment displays|
|Back view: All the SMD parts are on this side|
|Side view: In this prototype I used IC sockets for the 7 segment display modules, but they can be omitted in a final module and the displays can sit straight on the PCB.|