My robot doesn't work
Work down this list in order. Most problems are in the first three steps.
1. Power
- Is it switched on? Are the batteries charged? Measure with a multimeter, don’t guess.
- Is the board’s power LED on?
- Does it reset or go weird when motors start? See Powering your robot.
2. Ground
- Are all grounds connected together (battery −, Arduino GND, motor driver GND, sensors)?
3. Wiring
- Compare every wire against the diagram, one by one.
- Breadboard: are parts in the right rows? Is the power rail split in the middle?
- Use continuity mode to check suspicious jumper wires.
- LEDs and other polarised parts the right way round?
4. Code
- Did the upload finish without errors?
- Do the pin numbers in the code match the pins you wired?
- Add
Serial.println()messages to see what the code is actually doing.
5. Isolate
- Test one part at a time with the simplest possible program (just blink, just read the sensor, just spin one motor).
- Swap in a known-good part.
6. Ask for help
Share: what you expected, what actually happens, a clear photo of the wiring, and your code. That gets you useful answers fast.
Common symptoms
| Symptom | Usually |
|---|---|
| Nothing happens at all | Power, or no common ground |
| One motor works, the other doesn’t | Loose motor wire, or wrong driver pin |
| Robot spins in circles | One motor wired backwards; swap its two wires |
| Sensor always reads 0 or the maximum | Wrong pin, missing power/GND to the sensor |
| Works on USB, fails on battery | Batteries flat or too low a voltage |
| Upload fails | Wrong board/port selected in the IDE; try another USB cable |