LED Blink
The Hello World of Arduino. Blinks an external red LED on pin 13 on and off every second.
Ready-to-open Arduino projects with code, wiring diagrams, and component guides. Pick one and start learning.
The Hello World of Arduino. Blinks an external red LED on pin 13 on and off every second.
Knight Rider chaser on a 10-segment LED bar graph. A single lit dot sweeps forward and backward using pins 2–11.
16-pixel NeoPixel ring running a spinning rainbow chase via FastLED. Data driven from a single pin using the WS2812B protocol.
A single WS2812B NeoPixel cycling through red, green, blue, and yellow every 600 ms via Adafruit NeoPixel library.
8×8 WS2812B NeoPixel matrix running a diagonal rainbow wave. Each pixel is addressed by row and column via Adafruit NeoPixel.
Counts 0–9 on a single 7-segment display, updating once per second. Each segment A–G is driven directly from a digital pin. In real hardware, add a 220 Ω resistor in series with each segment pin.
Displays 'Hello, World!' on row 1 and a live uptime counter on row 2, using the LiquidCrystal library in 4-bit mode. Wire RW and V0 to GND in real hardware.
240×320 colour TFT display over SPI. Draws a red rectangle, cyan circle, and white text using the Adafruit ILI9341 library. Runs on 3.3V logic — add level shifters on real 5V hardware.
Writes a static message to all four rows of a 20×4 LCD using the LiquidCrystal library in 4-bit mode. Identical wiring to the 1602 — only lcd.begin() changes.
128×64 monochrome OLED over I²C. Displays 'Hello!' and display info using the Adafruit SSD1306 library. Default I²C address is 0x3C.
Press the button to toggle a red LED on and off. Uses INPUT_PULLUP so no external resistor is needed on the button — reads HIGH when released, LOW when pressed.
Compact 6mm pushbutton that prints 'Button pressed!' to the Serial Monitor on each press. Uses INPUT_PULLUP — no external resistor needed.
SPDT slide switch wired between GND and 5V. The common pin reads LOW or HIGH depending on switch position. Click the switch on the canvas to toggle it — the Serial Monitor shows the state.
4×4 membrane keypad (16 keys: 0–9, A–D, *, #) wired to 8 Arduino pins via row/column scanning. Requires the Keypad library. Press a key and its character prints to the Serial Monitor.
Read all 8 switches of a DIP-8 package as a byte. Each closed switch pulls its Arduino pin LOW via INPUT_PULLUP. Flip switches on the canvas and watch the binary value update in the Serial Monitor.
Read an analog value from a potentiometer and use it to fade an LED's brightness via PWM, while printing the raw and mapped values to the Serial Monitor.
Play tones and short melodies on a piezo buzzer using Arduino's tone() function — no resistor required.
Read a potentiometer's position and use it to set a servo's angle in real time — a classic analog-input-to-motion demo.
Read temperature and humidity from a DHT22 sensor over its single-wire protocol and print both to the Serial Monitor every 2 seconds.
Trigger an ultrasonic ping and measure the echo's round-trip time to compute distance, printed to the Serial Monitor.
Drive all three channels of an RGB LED with PWM to mix colours and fade smoothly through the colour wheel.
Read an ambient-light sensor and switch an LED on when it gets dark — a classic night-light circuit. The simulator drives the sensor with a slow day/night cycle since there's no physical light to shine on it.
Read both axes of an analog joystick plus its built-in pushbutton, printing X/Y position and button state to the Serial Monitor.
The classic LED Blink, rebuilt on an Arduino Nano — a board-swap variant showing the Nano works exactly like the Uno since it's the same ATmega328p chip.
Read an analog value from a linear slide potentiometer and use it to fade an LED's brightness via PWM, while printing the raw and mapped values to the Serial Monitor.
Read a ball-and-tube tilt switch to detect orientation changes, printing the state to the Serial Monitor. The simulator alternates the switch on a timer since it has no clickable tilt control.