Because it is the 'hello world!' of modern robotics.
![]() |
Arduino Nano | EBay | Lightweight, 5V tolerant, easy to program, cheap as silicon chips, and no tears when clumsy roboticists fry them |
![]() |
Bluetooth receiver | EBay | If you want to control it remotely from the PC or a phone |
![]() |
BNO055 | EBay | IMU which does the orientation calculation on-chip. |
![]() |
Stepper Motors | EBay | An odd choice for this kind of robot |
![]() |
Stepper Motor Controllers | AliExpress | The ZD-M42s work well with an Arduino, but will not work well with a 3V3 source like a Raspberry Pi. |
![]() |
Robot Wheels | EBay | These wheels are designed for a RC model car. There are many types of fittings. They have to fit onto the shaft of the steppers - an adaptor might be needed. |
![]() |
Aluminium Bar | Bunnings | Easy to bend, drill and fashion - for the frame. |
![]() |
Mini Caster. | Bunnings | These are just for the training wheels. Actually you don't even need the wheels on the ends of the ruler - just a ruler to stop the robot falling over. Maybe some soft buffers or something. |
![]() |
7.4 Li-ion battery | EBay or local hobby shop | Should try out an 11.1V one of these. |
There really isn't much software to make this go. This is a pretty simple program.
Unfortunately, it's kind of tricky to do the timing on an Arduino to do this well - reliably pulsing a stepper motor controller faster than 1ms is a bit messy on the Arduino when you want to do other things along the way (like interrogate the IMU via I2C). DC motors would seem to be a better match for this, but the torque seems to be unpredictable.