Email Print

No image

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.

No image

This shows three digits wired together.

No image

No image

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):

No image

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


The construction instructions are available here:

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:

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

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.