Arduino Nano LED Display

6,981

90

5

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 (hh.mm) 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).

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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

Share

Recommendations

  • Indoor Lighting Contest

    Indoor Lighting Contest
  • Make It Fly Challenge

    Make It Fly Challenge
  • Growing Beyond Earth Maker Contest

    Growing Beyond Earth Maker Contest

5 Discussions

0
None
Len61nitrogyte

Reply 3 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).

0
None
db9pz

3 years ago

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

0
None
nqtronix

3 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!

0
None
wold630

3 years ago

Cool! Thanks for sharing!