54 free Arduino tutorials, from blinking an LED to a finished project
Every tutorial runs entirely in the browser: wire the components, write the Arduino C++ sketch, and the simulator checks your circuit in real time. No hardware is needed to start, and each lesson explains how to rebuild the circuit for real.
1 · First steps
Blink an LED
Turn an LED on pin 13 on and off every second.
Beginner10 minTwo alternating LEDs
Alternate two LEDs (pins 12 and 13) like a level crossing.
Beginner10 min5-LED chaser
Run a light across 5 LEDs using a for loop and an array.
Intermediate15 minSOS message in Morse code
Send ··· ––– ··· on the LED with exact timings.
Intermediate15 minBlink without delay() (millis)
Replace delay() with a time comparison based on millis().
Advanced20 min
2 · Inputs & sensors
Read a push button
Light the LED only while the button is pressed.
Beginner12 minToggle button (debounced)
One press turns on, the next turns off — with no contact bounce.
Intermediate20 minRead a potentiometer
Print the analog value of A0 on the serial monitor.
Beginner12 minConvert to volts (map & float)
Turn the ADC's 0–1023 into a 0.00–5.00 V reading.
Intermediate15 minLight sensor (LDR)
Turn the LED on automatically when the room gets dark.
Intermediate15 minThreshold with hysteresis
Stop the output from flickering when the reading hovers around the threshold.
Advanced20 minFilter noise (moving average)
Smooth a noisy reading by averaging the last 10 samples.
Advanced20 minThermistor: measuring temperature
Convert an NTC resistance into degrees Celsius.
Advanced25 minUltrasonic range finder (HC-SR04)
Measure a distance in centimetres with an ultrasonic sensor.
Advanced20 minTemperature & humidity (DHT22)
Read a digital sensor once every 2 seconds.
Intermediate18 minHardware interrupts
Count pulses without ever missing one thanks to attachInterrupt().
Expert25 min
3 · Outputs & actuators
PWM: dimming an LED
Breathe an LED from 0 to 255 with analogWrite().
Intermediate15 minPotentiometer → brightness
Set LED brightness with the knob (10 bits to 8 bits).
Intermediate15 minRGB LED: mixing colours
Create any colour with three PWM channels.
Intermediate20 minSmooth fade (sine curve)
Make the fade look linear by using a non-linear curve.
Advanced20 minBuzzer: playing notes
Play a scale with tone() on pin 8.
Intermediate15 minMelody with rhythm
Play a tune by pairing pitches with durations.
Advanced20 minDrive a servo motor
Sweep a servo from 0° to 180° and back.
Intermediate18 minServo driven by a potentiometer
Make the servo arm follow the knob position.
Intermediate15 minDC motor: speed and direction
Control a DC motor in speed (PWM) and direction (H-bridge).
Advanced22 minStepper motor
Make one full turn by counting steps.
Advanced25 minRelay and mains load
Switch a power load safely from a pin.
Intermediate15 minExpand outputs (74HC595)
Drive 8 LEDs with only 3 pins using a shift register.
Expert25 min8×8 LED matrix
Display a pattern by scanning row by row.
Expert30 minWS2812 strip: rainbow
Animate a gradient scrolling along the addressable strip.
Advanced25 min7-segment display
Count from 0 to 9 on a segment display.
Advanced22 min
4 · Displays & buses
Write on an OLED screen
Display text on a 128×64 SSD1306 over the I²C bus.
Advanced25 minOLED: plotting a curve
Display the A0 value live as a waveform.
Expert30 min16×2 LCD display
Write two lines of text plus an incrementing counter.
Intermediate20 minColour TFT screen over SPI
Drive a 240×240 ST7789 with the hardware SPI port.
Expert30 minScan the I²C bus
List the addresses of the devices present on the bus.
Advanced15 minMPU6050 inertial unit
Read the accelerometer and gyroscope over I²C.
Expert30 minCompute tilt (roll/pitch)
Turn the 3 acceleration axes into tilt angles.
Expert30 minWeather station + clock
Combine the BMP280 (temperature, pressure) with the DS3231 clock.
Expert30 minProgrammable alarm clock (RTC)
Trigger the buzzer at a precise time read from the DS3231.
Expert30 minUnderstanding the SPI bus
Exchange a byte as SPI master and observe the 4 wires.
Advanced20 min
5 · Communication & data
Control the board from the keyboard
Switch the LED on/off with the “on” and “off” commands.
Intermediate18 minLog data as CSV
Produce “time;value” lines usable in a spreadsheet.
Intermediate15 minRemember after power-off (EEPROM)
Keep a setting even after a restart.
Advanced20 minState machine
Structure a traffic light into explicit states (GREEN, AMBER, RED).
Expert30 minThree tasks in parallel
Blink, measure and display at three different rates.
Expert30 minDetect a freeze (watchdog)
Report when a reading has not been refreshed for 3 seconds.
Expert22 min
6 · Full projects
Project: thermostat
Regulate a target temperature with hysteresis and a display.
Expert40 minProject: intrusion alarm
Detect movement, fire the siren and arm/disarm with a button.
Advanced35 minProject: data logger
Sample a sensor at a steady rate, timestamp it and store it.
Expert40 minProject: obstacle-avoiding robot
Move forward, detect an obstacle under 20 cm and go around it.
Expert45 minProject: smartwatch
Show time, steps and temperature on the OLED, with button navigation.
Expert50 minProject: automated greenhouse
Manage watering, ventilation and lighting from the readings.
Expert45 minProject: from schematic to PCB
Turn your validated build into a manufacturable printed circuit board.
Expert40 min