
The Blinking LED project is the traditional starting point for learning microcontrollers. In this guide, an LED connected to Pin 13 repeatedly cycles its state between HIGH (+5V) and LOW (0V) at a fixed 1-second interval.
This foundational lesson introduces core embedded hardware concepts:
To build this circuit, collect these specific items from your kit:
Arduino Uno MCU Board × 1Breadboard × 1LED × 1220Ω Current-Limiting Resistor × 1Jumper Wires × 2USB Cable × 1GND pin directly onto the long negative rail (-) of your breadboard. This creates a common ground connection for the entire circuit loop.Anode (+) to Arduino digital Pin 13 through your 220Ω protective resistor.Cathode (-) directly over to the negative ground rail line.Pin 13.Polarity Warning: Diodes are unidirectional valves for current! Ensure the LED polarity is correct. Reversing the LED legs will prevent current from flowing, meaning it will not light up.
Inside the initialization block setup(), the Arduino configures Pin 13 as an output. This drops internal resistance, allowing the board to send voltage signals down the copper trace lines.
Using digitalWrite(13, HIGH) supplies a full +5V voltage to the LED, causing it to light up immediately. Conversely, calling digitalWrite(13, LOW) removes the voltage, collapsing the channel down to 0V (GND) and turning the LED off.
The delay(1000) function pauses program execution for exactly 1000 milliseconds between state changes. Repeating these actions sequentially inside the infinite runtime loop loop() creates the blinking pattern.
After successfully compiling and uploading the sketch to your board:
LED Does Not Turn ON: If the light stays completely dark, verify your component connections. Check the LED polarity orientation, resistor seat lines, and jumper wire connections. Most blinking LED issues occur because the LED legs are inserted in reverse.
Upload Failed Errors: If the compiler throws communications errors, verify your connection setup inside the Arduino IDE. Check that your USB cable supports data transfer, confirm the correct board model is selected under Tools, and make sure the correct active COM port is checked.
LED Stays ON Constantly: If your light remains completely illuminated without cycling, check your script logic. Ensure the correct blinking sketch was uploaded successfully and verify that delay() functions are present between both your high and low write states.
By completing your very first hardware experiment, you have mastered:
Pin 13.In Day 2, you will learn how to read digital inputs by integrating a tactile push button switch into your breadboard layout, using interactive user inputs to control your LED states dynamically!