Getting your level...
Getting your level...
Wire the circuit, write the code, and watch it run on a simulated Arduino Uno. A robotics lab for ages 10 to 16, with no kit to buy and nothing to install.
The first levels are free. No card, no download, no kit.

Every level is a small project with a goal. You build it the way an engineer would: wire, code, test, fix.
Place real components, such as LEDs, sensors, motors and displays, and connect them pin to pin. A short guide shows where each wire goes.
Write Arduino C++ in a proper code editor, with the same functions you would use on a real board.
Press run. Your code is compiled and runs on a simulated chip. If the circuit does not work, the simulator says why, in plain words.
Two wires and an LED, open to anyone, no account needed.
Two infrared sensors, two motors and a motor driver. The sketch that goes with it is compiled and run on a simulated chip, and it is what steers. Nothing here is a recording.
const int IN1 = 2, IN2 = 3, IN3 = 4, IN4 = 5, ENA = 9, ENB = 10;const int EYE_L = 7, EYE_R = 8;const int FAST = 200, SLOW = 70; // Which eye saw the line last. A robot that has lost the line entirely knows nothing about// where it went EXCEPT this, and it is enough: the line left on the side that saw it last.int lastSeen = 0; void wheels(int left, int right) { digitalWrite(IN1, left > 0 ? HIGH : LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, right > 0 ? HIGH : LOW); digitalWrite(IN4, LOW); analogWrite(ENA, left); analogWrite(ENB, right);} void setup() { int outs[] = {IN1, IN2, IN3, IN4, ENA, ENB}; for (int i = 0; i < 6; i++) pinMode(outs[i], OUTPUT); pinMode(EYE_L, INPUT); pinMode(EYE_R, INPUT);} void loop() { bool leftOnLine = digitalRead(EYE_L) == LOW; bool rightOnLine = digitalRead(EYE_R) == LOW; if (leftOnLine && !rightOnLine) { lastSeen = -1; wheels(SLOW, FAST); } else if (rightOnLine && !leftOnLine) { lastSeen = 1; wheels(FAST, SLOW); } else if (leftOnLine && rightOnLine) { wheels(FAST, FAST); } else { // Both eyes off the line. Driving straight on here is what loses a robot for good on a // sharp corner: it carries on into open floor and never sees the line again. Turn back // towards whichever eye saw it last and it sweeps until the line comes round again. if (lastSeen < 0) wheels(0, FAST); else if (lastSeen > 0) wheels(FAST, 0); else wheels(FAST, FAST); } delay(5);}Levels in modules that build on each other. Each picture is the finished project of a real level.
Start free. When you want the rest of the Arduino Uno course, choose one year or lifetime access. Every level today runs on a simulated Arduino Uno.
The first levels are free for everyone, with the same editor, simulator and checks as the rest of the course.
Try the first levels freeOne year with the Arduino levels and components available when you buy. Newly released levels and components are not included; choose Lifetime for future Arduino course updates.
Get one yearComplete Arduino Uno course access for life. Build and simulate every current Arduino project, plus future Arduino levels and components as they are released.
Get full accessStart with 10 or more student seats. Add any number later. Pay through Razorpay for up to 50 seats, or request an invoice for a bank transfer. Teachers never use a seat.
Buy seats for a schoolPrices in Indian rupees. Payments by card, UPI, net banking and wallets through Razorpay. Compare all plans
Robotics without a box of parts on the dining table, and with a record of what your child has actually built.
No adverts, for anyone. If your child is under 18, we ask a parent or guardian for consent by email before the account can be used. Analytics never run inside lessons. And there is no soldering iron, mains power or small parts at home.
Every level is checked by the simulator, so “done” means the circuit really worked. Their dashboard shows how far through the course they are and what comes next.
Finishing the course earns a ThinkFusion certificate with a QR code. A school, a teacher or you can scan it to confirm it is genuine.
Read how we handle a child’s data in the privacy policy.
Every student gets their own bench in the browser. You get seats, a roster and an invoice. The first levels are free, so a class can start before any paperwork.
One seat is one student for one year. Buy seats for the classes that use it; when a student leaves, the seat can go to the next one.
A live roster shows who has joined, how far each student has got, and who has gone quiet. Teachers never use a seat.
Read out a code; each student signs in with Google or GitHub and claims a seat. No roster to import, no passwords to reset.
Every module states its learning goals and the components it uses, so levels line up with your syllabus or tinkering-lab plan. Send us yours and we will map it with you.
Thirty students, thirty circuits, all running at once, on the computers your lab already has. Nothing to share, store or repair. Labs need a current browser and internet.
The free levels need no seat and no purchase order. Put a class through them, then decide.
Book a demo and we will walk a teacher through a level, the roster and how seats work. A person replies within 2 working days.
Or write to info@abilityfusion.com. The full details for schools are on the schools page.