Arduino LED Blinking Project for Beginners | Simple Arduino Tutorial
Arduino LED Blinking Project for Beginners
Arduino LED blinking project is one of the easiest and most popular beginner projects to start learning Arduino programming and basic electronics. In this tutorial, you will learn how to blink an LED using Arduino Uno, a resistor, jumper wires, and simple Arduino code.

What is an Arduino LED Blinking Project?
An Arduino LED blinking project is a simple circuit where an LED turns ON and OFF repeatedly with a fixed delay. This project helps beginners understand digital output pins, basic Arduino programming, LED polarity, and the use of resistors in a circuit.
It is also known as the Hello World project of Arduino because it is usually the first project every Arduino beginner tries.
Components Required
| Component | Quantity | Purpose |
|---|---|---|
| Arduino Uno | 1 | Main controller board |
| LED | 1 | Output indicator |
| 220Ω Resistor | 1 | Protects LED from high current |
| Breadboard | 1 | For circuit connection |
| Jumper Wires | Few | For making connections |
| USB Cable | 1 | To power and program Arduino |
Arduino LED Blinking Circuit Diagram
Connect the LED with Arduino digital pin 13 using a 220Ω resistor. The longer leg of the LED is called the anode, and it should be connected to the digital output pin. The shorter leg is called the cathode, and it should be connected to GND.

Arduino LED Blinking Connections
- Connect Arduino digital pin 13 to one side of the 220Ω resistor.
- Connect the other side of the resistor to the positive leg of LED.
- Connect the negative leg of LED to Arduino GND.
- Connect Arduino Uno to your computer using a USB cable.
Arduino LED Blinking Code
Upload the following code to your Arduino Uno using the Arduino IDE.
// Arduino LED Blinking Project for Beginners
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
Code Explanation
1. int ledPin = 13;
This line creates a variable named ledPin and assigns pin number 13 to it. The LED is connected to digital pin 13 of Arduino.
2. pinMode(ledPin, OUTPUT);
This line tells Arduino that pin 13 will work as an output pin.
3. digitalWrite(ledPin, HIGH);
This command turns the LED ON by sending 5V to pin 13.
4. delay(1000);
This command waits for 1000 milliseconds, which is equal to 1 second.
5. digitalWrite(ledPin, LOW);
This command turns the LED OFF.
How This Project Works
When the Arduino runs the code, it sends a HIGH signal to pin 13. This allows current to flow through the resistor and LED, so the LED turns ON. After one second, Arduino sends a LOW signal to the same pin, stopping the current flow and turning the LED OFF. This process repeats continuously inside the loop() function.
Why Use a Resistor with LED?
An LED needs limited current to work safely. If you connect an LED directly to Arduino without a resistor, too much current may flow through it and damage the LED or Arduino pin. A 220Ω resistor is commonly used to protect the LED.
Change LED Blinking Speed
You can change the blinking speed by changing the delay value in the code.
delay(500); // LED blinks faster
delay(2000); // LED blinks slower
For example, if you use delay(500), the LED will turn ON and OFF every half second.
Common Problems and Solutions
| Problem | Possible Reason | Solution |
|---|---|---|
| LED not blinking | Wrong LED polarity | Reverse the LED legs |
| Code not uploading | Wrong board or port selected | Select correct board and COM port |
| LED is very dim | High resistor value | Use 220Ω or 330Ω resistor |
| LED always ON | Incorrect wiring | Check circuit connections again |
Safety Tips
- Always use a resistor with an LED.
- Do not connect LED directly to 5V without current limiting.
- Check LED polarity before powering the circuit.
- Upload code only after selecting the correct Arduino board.
- Use a breadboard for safe beginner testing.
Applications of LED Blinking Project
- Learning Arduino digital output
- Status indicator in electronics projects
- Basic alarm or signal light
- Testing Arduino board pins
- First step toward LED patterns and automation projects
Beginner Practice Ideas
After completing this basic Arduino LED blinking project, you can try these simple modifications:
- Blink two LEDs alternately
- Make LED blink faster
- Make LED blink slower
- Use a push button to control LED blinking
- Create a traffic light project using three LEDs
FAQs About Arduino LED Blinking Project
Can I blink an LED without a resistor?
It is not recommended. A resistor protects the LED and Arduino pin from excess current.
Which Arduino pin is best for LED blinking?
Digital pin 13 is commonly used because many Arduino boards already have a built-in LED connected to this pin.
Can I use a 330Ω resistor instead of 220Ω?
Yes, you can use a 330Ω resistor. The LED may be slightly dimmer, but it will work safely.
Why is pin 13 used in Arduino LED blink examples?
Pin 13 is commonly used because it is connected to the built-in LED on many Arduino Uno boards.
Can I use any color LED?
Yes, you can use red, green, blue, yellow, or white LED. Just make sure to use a suitable resistor.
Conclusion
The Arduino LED blinking project for beginners is the best first project to understand Arduino programming and basic circuit connections. With only a few components, you can learn how digital output works, how to control an LED, and how Arduino runs code repeatedly using the loop function.
Once you understand this project, you can easily move toward more advanced Arduino projects like traffic lights, sensor-based LEDs, smart switches, and home automation circuits.