Saturday, February 12, 2011

6 Digit Display Module

Introduction

During 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.

Schematics

The 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.
The current limiting resistors are to be selected according to the specifications of the actual 7 segment displays.

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, hardware

Since 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
One could make the board even smaller (after all, there are only a handful of components on it, even those are SMT), but then you would have to use cables, connectors to connect the board with the displays - something I don't personally like. It just doesn't look good, in my opinion.
Back view: All the SMD parts are on this side
(Apart from the 7 segment displays) the board contains only SMT components. Most components are on one side of the board.

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.

Conclusion

This simple circuit is an excellent way to add some debug functionality to any microprocessor based digital circuit. It can display basic information about almost anything that goes on in the microprocessor. In a daisy chained configuration, although there are some limits to the number of devices chained together, the displayed information doesn't have practical limits. The module can also be used as the main display module of a particular embedded system that requires many 7 segment displays as a display device.


7 comments :

  1. Nice one!

    how much cost one of these PCBs?
    and if you make some individual PCBs (one pcb for each 7seg +shift reg) and lateral pin male-female connections between the pcb's
    i think you can sell it at ebay..
    I would buy some of these individual boards!

    ReplyDelete
  2. @Gustavo: This PCB is around USD58. It's super expensive (I think) as I only have a few made. I don't think it's financially viable to sell these PCBs at this price, especially if I also want to make some profit on them. The only way to go down with the price is if I have many made at the same time, but I don't want to invest in this. This is a hobby for me at the moment and I am not set up for selling these regularly. If someone likes these boards I can send them one or two every once in a while with no profit (I'd be REALLY happy just to know someone is using one of my designs in São Carlos / São Paulo, Brazil :-)), but I don't do this full time right now.

    ReplyDelete
  3. @Gustavo: Making individual boards for the digits would come to around USD28 each in small quantities.

    ReplyDelete
  4. I'd like to use this design on one of my college assignment,may I have your permission?
    thanks in advance

    ReplyDelete
    Replies
    1. Yes, it is my pleasure if one finds this design useful. Please link back if possible and send me a link to your project when it's done.
      Let me know if you have any further questions.

      Delete
    2. thanks, this is my first mc project, I want to make a simple digital clock, with alarm and countdown routine also,.i found that your compact design is might helpful, *although i still prefer using multiplexed one(the simple one)..

      Delete
  5. This comment has been removed by the author.

    ReplyDelete