Arduino UNO R4 - 10 Segment LED Bar Graph

1×Arduino UNO R4 WiFi or Arduino UNO R4 Minima
1×Alternatively, DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi
1×Alternatively, DIYables STEM V4B IoT, Compatible with Arduino Uno R4 WiFi
1×USB Cable Type-A to Type-C (for USB-A PC)
1×USB Cable Type-C to Type-C (for USB-C PC)
1×10 Segment LED Bar Graph
10×220 Ω Resistor
1×Breadboard
1×Jumper Wires
1×Recommended: Screw Terminal Block Shield for Arduino UNO R4
1×Recommended: Sensors/Servo Expansion Shield for Arduino UNO R4
1×Recommended: Breadboard Shield for Arduino UNO R4
1×Recommended: Enclosure for Arduino UNO R4
1×Recommended: Power Splitter for Arduino UNO R4
1×Recommended: Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (18 sensors/displays)
Disclosure: Some of the links provided in this section are Amazon affiliate links. We may receive a commission for any purchases made through these links at no additional cost to you.
Additionally, some of these links are for products from our own brand, DIYables .
Arduino Uno R4 WiFi Compatible Boards

In this guide, we will learn how to use the 10 Segment LED Bar Graph with the Arduino UNO R4. In detail, we will learn:

Arduino UNO R4 and 10 Segment LED Bar Graph

Overview of 10 Segment LED Bar Graph

The 10 Segment LED Bar Graph is a compact display component with ten individual LED segments arranged in a row. Each segment has its own anode and cathode pin, allowing independent control. It is commonly used to visualize levels, progress, or signal strength.

10 Segment LED Bar Graph
Number of Segments 10
LED Color Bright red
Forward Voltage ~2V per segment
Forward Current 20mA max per segment
Resistor Required 220Ω per segment

Pinout

10 Segment LED Bar Graph pinout

The 10 Segment LED Bar Graph has 20 pins — 10 anodes and 10 cathodes:

  • Anode pins (A1–A10): connect to GPIO pins via 220Ω resistors
  • Cathode pins (K1–K10): connect to GND

Wiring Diagram between 10 Segment LED Bar Graph and Arduino UNO R4

Connect each anode pin of the LED bar graph to an Arduino UNO R4 GPIO pin through a 220Ω resistor, and connect all cathode pins to GND.

The wiring diagram between Arduino UNO R4 and 10 Segment LED Bar Graph

This image is created using Fritzing. Click to enlarge image

See The best way to supply power to the Arduino Uno R4 and other components.

LED Bar Graph Arduino UNO R4 Pin
A1 (Anode 1) Pin 2 (via 220Ω)
A2 (Anode 2) Pin 3 (via 220Ω)
A3 (Anode 3) Pin 4 (via 220Ω)
A4 (Anode 4) Pin 5 (via 220Ω)
A5 (Anode 5) Pin 6 (via 220Ω)
A6 (Anode 6) Pin 7 (via 220Ω)
A7 (Anode 7) Pin 8 (via 220Ω)
A8 (Anode 8) Pin 9 (via 220Ω)
A9 (Anode 9) Pin 10 (via 220Ω)
A10 (Anode 10) Pin 11 (via 220Ω)
K1–K10 (Cathodes) GND

How To Program Arduino UNO R4 for 10 Segment LED Bar Graph

  • No library needed for this project.
  • Define the anode pin array: const int ledPins[10] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
  • Set each pin as an output.
  • Turn on segment i: digitalWrite(ledPins[i], HIGH);
  • Turn off segment i: digitalWrite(ledPins[i], LOW);

Arduino UNO R4 Code - 10 Segment LED Bar Graph

/* * This Arduino UNO R4 code was developed by newbiely.com * * This Arduino UNO R4 code is made available for public use without any restriction * * For comprehensive instructions and wiring diagrams, please visit: * https://newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-10-segment-led-bar-graph */ const int NUM_SEGMENTS = 10; const int ledPins[NUM_SEGMENTS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; void printBar(int litCount) { Serial.print("Bar: ["); for (int i = 0; i < NUM_SEGMENTS; i++) { Serial.print(i < litCount ? "*" : " "); } Serial.println("]"); } void setup() { Serial.begin(9600); for (int i = 0; i < NUM_SEGMENTS; i++) { pinMode(ledPins[i], OUTPUT); digitalWrite(ledPins[i], LOW); } } void loop() { for (int i = 0; i < NUM_SEGMENTS; i++) { digitalWrite(ledPins[i], HIGH); printBar(i + 1); delay(100); } delay(500); for (int i = NUM_SEGMENTS - 1; i >= 0; i--) { digitalWrite(ledPins[i], LOW); printBar(i); delay(100); } delay(500); }

Detailed Instructions

Follow these instructions step by step:

  • Open the Arduino IDE. If you do not have it installed, see the Arduino UNO R4 getting started guide.
  • Connect the 10 Segment LED Bar Graph to the Arduino UNO R4 according to the wiring diagram.
  • Connect the Arduino UNO R4 to the computer using a USB Type-C cable.
  • Open the Arduino IDE, select the appropriate Arduino UNO R4 board (e.g., Arduino UNO R4 WiFi or Arduino UNO R4 Minima) and COM port.
  • Copy the code above and paste it into the Arduino IDE.
  • Click the Upload button to upload the code to the Arduino UNO R4.
  • Open the Serial Monitor.
  • Observe the LED bar graph filling up segment by segment, then emptying back down, and repeating.

Serial Monitor Output

Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Bar: [* ] Bar: [** ] Bar: [*** ] Bar: [**** ] Bar: [***** ] Bar: [****** ] Bar: [******* ] Bar: [******** ] Bar: [********* ] Bar: [**********] Bar: [********* ] Bar: [******** ] Bar: [******* ] Bar: [****** ] Bar: [***** ] Bar: [**** ] Bar: [*** ] Bar: [** ] Bar: [* ] Bar: [ ]
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

Video Tutorial

※ OUR MESSAGES

  • As freelancers, We are AVAILABLE for HIRE. See how to outsource your project to us
  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!