Arduino Nano LED Display




Introduction: Arduino Nano LED Display

This is my first instructable on how to cleanly interface a 0.56" 4-digit 7-Segment LED display to an Arduino Nano. 7-segment LED displays are ideal for displaying information on an Arduino due to their low cost (~$1.50 on Amazon). They can be used for displaying alphanumeric data:

  • Time ( for a Clock
  • Voltage/Current (xx.yy) for a Voltmeter/Ammeter
  • Temperature (xx.y) for a Thermometer
  • Distance/Speed (nnnn) for a Odometer/Speedometer
  • ASCII Text for a Scrolling Banner

The applications are only limited by your imagination (and coding skills) ;-)

While the pin spacing matches up perfectly (0.6" wide) you can't directly wire the display to the ATMega328 pins because the current would be too high and burn out the LEDs :-( There needs to be a series resistor in between the 5.0 volt output pin display.

Typical 7-segment displays wants 20mA - 30mA so I am using 220 ohm resistors on the 4 digit pins (rather than the 8 segment pins).

Step 1: Bill of Materials

  1. Arduino Nano: ~$3.20 ea in Qty 5 from Amazon
  2. 0.56" 7-segment 4-digit LED display: ~$1.50 ea in Qty 5 from Amazon
  3. 4 220 ohm surface mount 0603 resistors: ~$0.10 ea

Step 2: Tools Needed

  1. X-Acto knife
  2. Soldering Iron
  3. Solder

Step 3: Modify Arduino Nano PCB

  1. Cut 4 traces (marked with Red arrow above) near D4, D7, D8 and A0 using X-Acto knife
  2. Scrape off solder mask (shown in Sliver above)
  3. Tin the trace with solder to prepare for next step.

Step 4: Solder LED Display & Resistors

  1. Place LED display pins from backside of PCB aligning the pins 1-A5, 6-A0 & 12-D4, 7-D9
  2. Solder the 12 LED display pins to the Arduino Nano
  3. Place 4 SMD resistors between the Pad and the tinned trace from Step 3.

Step 5: Download Code & Test

  1. Download and install the latest Arduino IDE (1.6.8 is the current version)
  2. Note if using a Chinese knock-off Nano with a CH340G (like the one on Amazon) you will need to install CH341G drivers from here
  3. Plug in a cable from the computer USB Type A port to the Mini USB on the Arduino Nano
  4. Download my library from Git hub using a GIT client to your local Arduino library folder (typically c:\Users\username\My Documents\arduino\libraries
  5. Open the Arduino IDE
  6. Select File/Examples/LED7Seg/LEDDemo.ino
  7. Select the board using Tools/Board/Arduino Nano
  8. Click the Download button (Right arrow on the toolbar)
  9. Display should show the following 4 items:
    • 0-9.9 Shows graphic segment test (A-F,DP) digit-by-digit
    • 10-29.9 Shows scrolling text message
    • 30-49.9 Shows counter as signed X.YY number
    • 50-69.9 Shows counter as unsigned hexadecimal number
    • 70-99.9 Shows time in as XX.Y second

2 People Made This Project!


  • Jewelry Challenge

    Jewelry Challenge
  • Anything Goes Contest 2021

    Anything Goes Contest 2021
  • Fix It Speed Challenge

    Fix It Speed Challenge



5 years ago

can i use an arduino uno r3?


Reply 5 years ago

sure but you have to wire the pins to match the Nano (or change the pin definitions in LEDDemo.ino). Also be sure to check the LED Display type (e.g. common cathode or common anode, pinout, etc).


5 years ago

That's really, really (!), clever. Very well done!
Markus , db9pz


5 years ago

Among all those LED Segment Display Intructables this one stands out through its unique and absolutly elegant usage of space. It's a brillinat idea to use the breaout pins of an arduino as a pcb to mount other components directly on, well done!


5 years ago

Cool! Thanks for sharing!