Please note: All our kits will be sold via The Curious Electric Company from now on. This page is for information only. Please visit our shop to see our current range of kits or contact us to discuss your project and how we might be able to help.

This is a serially-interfaced 7 segment LED kit which can be linked together to create numerical displays.

The LED display is a large 45mm/1.75″ unit with super-bright LEDs and is easily daylight visible.

The board contains a shift register and a power stage to control the display.

This can be controlled via a microcontroller – with Arduino examples included here.

This kit is available here for £10 per digit or £24 for a three digit displayhere for £10 per digit or £24 for a three digit display.

Here at Renewable Energy Innovation we have been asked to provide large visible displays, mainly to show power and energy. These are generally run form 12V DC supplies. In fact we have been asked to do it so many times, that I thought I would design a relatively simple LED display unit which can be wired together to create large numerical displays. So here it is. The kit is available from us, via the links here. Or here are full instructions for you to build your own.

This shows three digits wired together.

Here is the three example codes (available below) in action:

Buy one here:

We are now selling our kits as The Curious Electric Company.

This kit is available here. A single board (1 digit) is £10 (including p&p within the UK) or three boards (3 digits) are available for £24 (including p&p within the UK).

A GITHUB repository of the design files is linked here.

Kit Information

This is a relatively simple to put together kit. The kit includes these parts (plus 2 connectors and a filter capacitor, not shown):

Note: You will need: soldering iron, solder, wire cutters.

Instructions

The construction instructions are available here:

Download the PDF file .

Design Overview

This board is a relatively simple design. Each of the 7 segments of the LED is controlled by one bit of a shift register. The decimal point is also controlled by the shift register. This means each board is controlled via an 8 bit binary number.

Data is moved into the shift register serially (check the example code for more details). The LATCH pin is taken LOW. Serial data is then moved into the shift register by first setting the DATA line to 0 or 1, then pulsing the CLOCK line. When 8 bits have been shifted in then the LATCH pin is taken high and the output displays whatever values are in the register.

The output from the shift register is just 5V, which is not enough to drive the large 7 segment LED display. This requires 12V and curent limiting resistors (330 ohm for 12V). A UN2003 7 transistor array is used to control each of the 7 segments. These transistors control the low side of the device. The 7 segment display must be a common-anode type.

The decimal point is a special cas as it only contains one LED, hence must have a different current limit. An additioanl NPN transistor is used along with a 1k current limiting resistor to control the decimal point.

If you have more than one board in series (they are designed to fit together to make large numerical displays), then you need to clock in all the data to control every part of the display. For example – if we have three digits then we must clock in three 8-bit digital numbers and then set the LATCH high. This will then control all three digits.

Check out the instructions and the exmple code for more information.

The device is wired with the following connectors (P1 (input) and P2 (output) are as follows):

Pin 1 → Serial LATCH
Pin 2 → Serial CLOCK
Pin 3 → Serial DATA
Pin 4 → GROUND
Pin 5 → +5V
Pin 6 → GROUND
Pin 7 → +12V

Circuit Schematics

Here is the circuit schematic:

Download the PDF file .

Parts List

The kit includes the following parts: (As noted: you will also need an Arduino or other micro-controller board).
Ref Description Value/Code
7SEG1 Super Bright Common Annode. 7 Segment LED. Kingbright. 45mm SA18-11_C A
C1 Decoupling capacitor 100u
C2 Decoupling capacitor 100n
IC1 Transistor array ULN2003AD
P1 INPUT 6 way 90 degree pin
P2 OUTPUT 6 way 90 degree socket
Q1 NPN for Decimal Point BC548
R1 Limit transistor base current 1k
R2 Limit current to DP 1k
R6 Limit current to LED chain 330
R7 Limit current to LED chain 330
R8 Limit current to LED chain 330
R9 Limit current to LED chain 330
R10 Limit current to LED chain 330
R11 Limit current to LED chain 330
R12 Limit current to LED chain 330
U1 8 bit shift register 74HC595
Circuit Board PCB

Arduino Code

The code for this project was written using the Arduino bootloader and IDE. (Note: It was written on version 1.02 of the IDE and is untested on other versions).

This project assumes some knowledge of the Arduino platform. If you do not have this then please start with the numerous examples available within the Arduino community.

Here are the examples, which you will need to download and add to your Arduino sketchbook:

The code has numerous comments and is based upon ShiftOut code from the Arduino reference website.

Here is the example code in action:

KiCAD design files

This is a fully open-source project. The PCB and schematic for this project were drawn using the open-source KiCAD electronics design package.

Here are the full KiCAD design files for this project, if you would like to make your own or use the ideas here.

Also, the Gerber files for the PCB are available here.

 

7 responses to “7 Segment LED Board

  1. Looks good Matt!

    I wonder if you could get it to work with a Raspberry Pi as the controller? I expect its possible and might be a cheaper alternative…

    Hope all is well with you and keep up the good work!

    Paul de Cort

  2. Hey Paul,
    Its been a long time!
    Yep – this could definitely be used with the Paspberry Pi.
    It should just be a matter of using 3 of the digital GPIO on the RPi, potentially with something like WiringPi (http://wiringpi.com/).

    I might have a quick go at wiring that up as it might be useful to folk.
    Cheers for the comment. Hope its all going good for you,

    Matt

    Quoting Guest:Looks good Matt!

    I wonder if you could get it to work with a Raspberry Pi as the controller? I expect its possible and might be a cheaper alternative…

    Hope all is well with you and keep up the good work!

    Paul de Cort

  3. Great board – I would like to make a 4-digit clock with these, but haven’t the microcontroller skills to do it myself. Do you know of any ready-made clock driver?
    Thanks,
    Richard.

  4. Quoting Guest:Great board – I would like to make a 4-digit clock with these, but haven’t the microcontroller skills to do it myself. Do you know of any ready-made clock driver?
    Thanks,
    Richard.

    Hi Richard, I am afraid I dont know of any ready-made clock unit that would work ‘out of the box’ with this display – you would need a real time clock module to give you a timestamp and a microcontroller (I generally use the Arduino bootloader) to read the real time clock and display the time on the display.

    A number of companies sell a real time clock module.
    Loads of places sell an Arduino/microcontroller module.
    The issue is obviously programming them.
    I see the Dataduino (http://www.re-innovation.co.uk/web12/index.php/en/projects/data-acquisition-unit) which could do this job as it has both a real time clock and microcontroller (the SD card stuff would not be needed).

    If I get a spare moment I could look into writing code to run the 7-segment display as a clock.

    Also – now is as good a time as any to get started learning to program microcontollers! Look for a local hackspace/makerspace and head there to ask about building such a device…

    Thanks for your interest,

    Matt

  5. Quoting Theo:Hi Matt, is it possible to link 9 units together.

    Hi Theo,
    Yep – you can easily put 9 units in a row ans they would all be controlled by just three digital lines. You would clock in the data to all 9 units and thn set the latch line and the data would be isplayed. This can be done very fast so numbers can be upated regularly. Check out SerialOut function in Arduino IDE.

    Let me know if you are interested – I can sort out a better price for 9 units.

    Regards,

    Matt

  6. Thank you for info and discount. I would like 9 units. Could you also please tell me what the power consumption of single unit is?
    Regards
    Theo

Leave a Reply

Your email address will not be published. Required fields are marked *