Dual micro:bit robot control system featuring a custom arcade-style controller built from recycled parts. The remote continuously broadcasts button states for responsive controls with ultrasonic collision avoidance.
⚠️ Use at your own risk.
TPBot robot with custom cardboard remote controller
- Continuous state broadcast - Control updates for instant response
- Ultrasonic Safety - Automatic collision avoidance (stops at 10cm)
- Arcade Controls - 6 external buttons
- RGB Headlights - Cycle through 7 colors
- Sound Effects - 10 different horn sounds
Edge connector breakout board with arcade button wiring
- TP-Bot Smart Car Robot Kit
- Edge Connector Breakout Board
- 6x Arcade buttons (forward/back/left/right,headlights,horn)
- 6x Microswitches
- Cardboard shipping box (upcycled as controller enclosure)
- 2x BBC micro:bit (v2 recommended)
Picked at random
- P13 - Forward
- P0 - Backward
- P15 - Left
- P2 - Right
- P14 - Headlight toggle
- P1 - Horn
# Build both projects
./build.sh robot-code
./build.sh robot-remote
# Deploy to micro:bits
./deploy.sh robot-code # Flash to robot
./deploy.sh robot-remote # Flash to controllerEdit code in VS Code with TypeScript support:
robot-code/main.ts- Robot receiverrobot-remote/main.ts- Controller transmitter
Claude built me a nice build and deploy workflow with build.sh and deploy.sh saves a lot of faffing with web browser code editors.
The controller continuously broadcasts the current button state. The robot listens and reacts immediately, creating almost remote control car level responsiveness. Stops on button release.
Radio commands use simple numeric encoding (0=stop, 1=forward, 2=backward, etc.) with special commands for headlights (100+) and horn (200).