Make lights blink.Build robots.Invent real things.
Arduino is the tiny computer inside a million inventions — and you can learn to command it. No experience needed. Learn it, wire it in 3D, then build machines that really work.
Get real hardwareStuck? TroubleshootingSafety basicsWord list
lessons
explained
projects
answers
Because it's the brain inside real inventions.
Not a toy version of electronics — the same board used by NASA interns, inventors, and a million makers worldwide.
It's a real computer
The same kind of chip that runs microwaves, drones, and vending machines — small enough to hold, tough enough to survive your experiments.
Code becomes physical
Type ten lines and a light obeys you. Add a sensor and your machine can feel the world. Nothing on a screen compares to that feeling.
It grows with you
The exact skills here — circuits, sensors, code — are the starting line for robotics teams, science fairs, and real engineering careers.
Learn it. Wire it. Build it.
Three connected worlds, one path. Lessons teach the idea, the 3D Lab makes it real, and projects turn it into machines.
Things you will actually make.
Every project has a rotatable 3D model, a wiring recipe, real Arduino code, and a simulation you control.
Pick up wherever you left off.
Your place is saved on this device automatically — no accounts, no passwords. Just come back and keep building.
What young makers say.
"I thought coding was typing green letters like in movies. Then my LED blinked because of MY code and I ran to show everyone."
"The 3D lab is like LEGO but the pieces do things. I wired the servo before we even bought a real Arduino."
"My daughter explained pull-down resistors to me at dinner. Correctly. I checked."
Explore the whole camp.
Ready to make something real?
Lesson 0 takes four minutes. The blinking light takes a lifetime to forget.
Start Building — it's freeTwelve lessons, numbered like digital pins.
Read a little, play with the interactive lab, then pass a one-question quiz to light up your pin. Green dots are yours to earn.
Electricity is a crowd of unimaginably tiny particles — electrons — that can be pushed through metal, the way water is pushed through a hose. When they flow, they carry energy. That's it. That's the whole magic trick.
But electrons only flow if they have a complete loop to travel: out of the battery, through your parts, and back into the battery. That loop is called a circuit, and it is the one rule everything else on this site obeys: no loop, no flow, no light. Try it — flip the switch and watch the loop close.
Three water words describe every circuit: voltage is how hard the water is pushed (the pressure), current is how much water flows, and resistance is how narrow the pipe is. Arduino pushes gently — just 5 volts — which is exactly why it's safe to learn with.
Every part, explained like a person would.
Click any part to read what it really is and how it works inside. Then open it in the 3D Lab and wire it yourself.
The ten commands that do almost everything.
Arduino code looks scary until you notice the same few commands show up in every sketch. Here they are, in plain English.
| Command | Plain English | Example |
|---|---|---|
| pinMode(pin, mode) | Tell a pin its job: OUTPUT (send power) or INPUT (listen). | pinMode(13, OUTPUT); |
| digitalWrite(pin, v) | Flip a pin fully on (HIGH, 5V) or fully off (LOW, 0V). Like a light switch. | digitalWrite(13, HIGH); |
| digitalRead(pin) | Ask a pin: are you seeing power right now? Answers HIGH or LOW. | int p = digitalRead(2); |
| analogWrite(pin, 0–255) | Pulse a pin super fast so it acts partly on — a dimmer, not a switch. | analogWrite(9, 128); |
| analogRead(pin) | Measure a voltage on an A pin as a number from 0 to 1023. | int v = analogRead(A0); |
| delay(ms) | Freeze and wait this many milliseconds. 1000 = one second. | delay(1000); |
| Serial.begin(9600) | Open a chat line to your computer at 9600 letters-per-second. | Serial.begin(9600); |
| Serial.println(x) | Send a message to the Serial Monitor so you can see what's happening. | Serial.println(v); |
| if (test) { } else { } | Make a decision: do this if the test is true, otherwise do that. | if (v > 500) { ... } |
| tone(pin, hz) | Vibrate a pin at a musical frequency — how buzzers sing. | tone(8, 440); |
3D Component Lab
Learn the part, wire it one connection at a time on a real 3D breadboard, upload the sketch, and watch the electricity flow. Drag to rotate, scroll to zoom.
Connect each wire in order — press Connect and watch it appear on the board. Colors matter: red is power, black is ground.
Move the slider to change the simulated input, then apply. Watch the 3D model, the current dots, and the console respond together.
Mini Projects
Combine parts you've mastered into a real machine. Rotate the 3D build, follow the wiring recipe, read the full sketch, then run the live simulation.
Everything here works with real parts.
The simulations you've been using mirror real, inexpensive hardware. Here's exactly what to buy and how to make your first real upload.
The Starter Kit
Covers every Beginner project on this site — a good first purchase.
- Arduino Uno (or any compatible clone)the brain
- Solderless breadboardhalf-size is fine
- Jumper wire kitmale–male, 40+
- Resistor assortmentneeds 220Ω + 10kΩ
- LEDs (red, yellow, green) + RGB LEDTraffic Light, Mood Lamp
- Piezo buzzerTripwire, Countdown
- Push buttonsCountdown
- Photoresistor (LDR)Night Light, Tripwire
- PIR motion sensorHallway Light
- 7-segment displayCountdown
- Soil moisture probePlant Sensor
The Full Kit
Adds everything for the Intermediate and Advanced projects.
- Potentiometer (10kΩ)Mood Lamp
- Servo motor (SG90)Turret, Radar
- Ultrasonic sensor (HC-SR04)Radar
- DHT11 sensor + 16×2 I²C LCDDesk Thermometer
- Joystick moduleServo Turret
- IR receiver + any spare remoteRemote Lamp
- DC motor + NPN transistor + diodePlant Waterer
- Stepper motor + driver + supplyCamera Slider
- Relay moduleadults-only wiring — see Safety
- Bluetooth HC-05 moduleBluetooth Lamp
Fifteen minutes, start to blink.
1 — Install the IDE. Download the free Arduino IDE from arduino.cc and install it like any app. Open it once so it finishes setting up drivers.
2 — Plug in the board. Use the USB cable. A little green power light should come on immediately — no code needed for that.
3 — Two check-ins. Tools → Board → "Arduino Uno". Tools → Port → the one that mentions Arduino or USB. These two menus cause 90% of all beginner problems, so double-check both.
4 — Load Blink. File → Examples → 01.Basics → Blink. This is the exact program from Lesson 2 — you already understand every line of it.
5 — Press Upload (→). Lights flicker for a few seconds… and then the board's built-in LED starts blinking, once per second, forever. That's your code, running on real hardware, with the computer no longer required.
Nothing happened? Don't worry — it's almost always the Port menu or the cable. Open Troubleshooting →
When it doesn't work — and it sometimes won't.
Every engineer's circuits fail sometimes. That's not a sign you're bad at this; debugging IS the skill. Here are the classics.
My IDE can't find my board — the Port menu is empty or greyed out.
First, try a different USB cable — many cables are charge-only and carry no data at all (this is the #1 cause). Then try a different USB port on your computer. Still nothing? Some clone boards need a small driver called CH340 — search "CH340 driver" plus your operating system, install it, and replug the board.
I uploaded successfully, but nothing happens.
Upload said "Done"? Then the code IS on the board — the problem is the circuit or the code's pin numbers. Check that the pin number in your sketch matches the pin your wire actually enters (code says 9, wire on 9). Then check your ground: every circuit needs a complete loop back to GND, and a missing ground wire fails silently. Finally, add a Serial.println("alive!") at the top of loop() to prove the code is running.
My LED won't light up.
Three suspects, in order. Polarity: LEDs are one-way streets — the long leg must face the pin, short leg to GND. Flip it; the LED is not damaged by being backwards. Resistor: make sure it's really 220Ω (red-red-brown), not something huge like 220kΩ. Pin mismatch: code and wire must agree on the pin number. If all three check out, test the LED directly across 5V-resistor-GND, no code at all.
The Serial Monitor shows garbage — weird symbols instead of my messages.
Classic baud-rate mismatch. Your sketch says Serial.begin(9600) but the dropdown in the Serial Monitor window is set to a different speed. Set both to the same number — like tuning two radios to the same station — and the letters snap back into words. (Lesson 8 explains why.)
My code won't compile — what do all these red error messages mean?
Read only the FIRST error, ignore the rest — one typo often makes a cascade of nonsense afterward. The most common: expected ';' means a semicolon is missing at the end of the line above; was not declared usually means a typo (capital letters matter: digitalWrite, not DigitalWrite); a missing { or } confuses everything below it. Fix the first error, press Verify again, repeat.
It worked yesterday and today it doesn't. I changed nothing!
Something moved — probably a jumper wire that half-slipped out of a breadboard hole. Press every wire gently down, especially the ground wires. Breadboard connections are friction, not solder, and gravity is patient.
Low voltage is your playground. Wall power is not.
Two minutes of reading that makes every project on this site a safe one.
The green zone — explore freely. Everything on this site runs on 5 volts from a USB cable or a small battery pack. That's less than many toys use. You can touch these circuits, rewire them, and make mistakes with them — the worst outcome of a wiring error is a warm component or a popped LED, not a hurt person. This is exactly why Arduino is used in classrooms everywhere.
The adult zone — wall-outlet power. The relay module can physically switch big things: real lamps, fans, anything with a wall plug. The relay's coil side (your 5V wires) is safe; the load side (the wall-power side) is not a kid project. If a build involves anything that plugs into an outlet, an adult does that part, full stop. This includes "just checking" it.
Good habits that make you a real engineer: unplug power before rewiring, not after; double-check polarity (which way LEDs, diodes, and capacitors face) before powering up; don't leave circuits powered when you walk away; keep water away from everything electronic (looking at you, Plant Waterer — pump below, electronics above, towel underneath); and if a component gets hot or smells odd, unplug first, investigate second.
Batteries: the small stuff (AA packs, 9V) is fine. Never short a battery's + directly to its − with a bare wire, and treat rechargeable lithium packs with respect — they don't forgive punctures or shorts.
Every strange word, in plain English.
Electronics has its own vocabulary, and nobody is born knowing it. Each lesson lists its new words — they all live here, explained like a person would.