-
Notifications
You must be signed in to change notification settings - Fork 2
Home
The Valiant Turtle 2 is a differential-drive floor robot inspired by the original Valiant Turtle released in the UK during the 1980s.
The robot is designed to be built from 3D printed parts as well as widely available hardware. The hardware is completely open as is the firmware - covered by either a Creative Commons or GPLv3 license (as appropriate).

Note that the project includes both a robot and a communicator. The robot uses BLE (Bluetooth Low Energy) for communication and does not require the communicator for use with a modern PC (any modern BT USB adapter will work).
The communicator is only required when using the robot with retro computers. Please see the section on the communicator's electronics for more details.
The robot is propelled by two independently controlled NEMA 17 stepper motors. The drive electronics supports accurate micro-stepping as well as torque holding; this allows accurate movement with the possibility of rapid velocities when moving. The stepper motors are small, light and cost effective.
The drive electronics are based on the DRV8825 stepper motor controller based on the common Pololu module design. The use of modules allows the drivers to be easily replaced in case of failure.
The mainboard supports a small 9G hobby servo (controlled using PWM) that allows the pen to be raised and lowered.
The main processor is a Raspberry Pico W running micropython. All robot firmware is written in Micropython making it easy to both understand and extend the software capabilities. The Pico can either be connected via headers or directly soldered to the robot's mainboard.
Clearance is provided for the Pico's USB connector and a dedicated debug header (connected to UART0 on the Pico) is also provided to assist in development.
The robot features a slide-in battery pack that provides the robot with ample power and longevity. Since the battery pack is removable, it is possible to have multiple packs to enable continuous use of the robot.
The charging system is USB-C based and both charger and battery have fail-safe battery management technology built in.
The robot provides a Qwiic/Stemma QT I2C expansion header that allows a wide-range of off-the-shelf add on boards to be simply attached to the robot. The expansion header is connected to the Raspberry Pico's second I2C interface (the first interface is used for the mainboard components).
The robot's mainboard features a INA260 power monitoring IC that provides real-time voltage, current and wattage allowing the robot's firmware to monitor both the battery levels and the robot's power consumption.
The robot has 3 onboard RGB LEDs (left and right motor status and general status) and 2 off-board LEDs for 'eyes'. The databus design of the WS2812 allows many LEDs to be driven from the robot. The mainboard also correctly level-shifts the Raspberry Pico's 3.3V logic to 5Vs required by the WS2812s
The robot's mainboard has a 3A capable switched regulation circuit that provides a stable 5V supply from the batteries without requiring passive cooling. In addition, a 800mA 3.3V LDO regulator is provided running from the 5V supply allowing the robot to be fully powered without any reliance on the Raspberry Pico's regulation circuitry.
The on-board power regulation also provides a single LED to show the power status (this is independent of any firmware requirements unlike the onboard RGB LEDs).
The robot mainboard is linked to the control system over a wireless Bluetooth link (utilising the Pico W's on-board Bluetooth hardware). The communication allows for both command and power communication between the robot and a host computer.
The robot's mainboard has a small EEPROM to allow configuration settings to be stored and recalled across restarts. The EEPROM provides 16Kbits of storage (2Kbytes).
Note: The communicator is only required when using the Valiant Turtle 2 with retro computer systems (modern computers can communicate directly with the robot using Bluetooth LE). The communicator is design to work with both the Valiant Turtle 2 and the original Valiant Turtle (over an IR interface).
In keeping with the original Valiant Turtle Commander MKII the communicator has hardware-flow control. In addition it supports full-duplex communication at RS232 levels for maximum compatibility with retro-computer hardware.
The communicator provides an 8-bit parallel communications port with 5V signalling allowing it to connect to all hardware systems supported by the original Commander MKII. The parallel port is also bi-directional (unlike the original) allowing for more complex communication if desired.
The communicator provides a Qwiic/Stemma QT I2C expansion header that allows a wide-range of off-the-shelf add on boards to be simply attached. The expansion header is connected to the Raspberry Pico's second I2C interface (the first interface is used for the communicator components).
A small expansion header is provided allowing up to three physical switches/buttons to be attached to the communicator. This can be easily combined with an I2C display (via the Qwiic header) if more a more complex physical UI is desired.
The communicator supports a 4 LED IR interface compatible with the original Valiant Turtle. In combination with both serial and parallel interfaces, this allows the communicator to act as a drop-in replacement for the original Commander MKII.
The communicator provides green and blue status LEDs for general status and bluetooth status display.
The main processor is a Raspberry Pico W running micropython. All communicator firmware is written in Micropython making it easy to both understand and extend the software capabilities. The Pico can either be connected via headers or directly soldered to the communicator's PCB.
The communicator is linked to the robot over a wireless Bluetooth link (utilising the Pico W's on-board Bluetooth hardware). The communication allows for both command and power communication between the robot and a host computer.
The communicator is powered via the Raspberry Pico's USB connector removing the need for a specialised power supply. In addition, the USB can be used for both power and host communication when using a modern host computer.
Valiant Turtle 2 Wiki - All content provided under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.
- 3D Printing Instructions
- Robot Construction
- Battery Construction
- Charger Construction
- Development Stand Construction
- Communicator Construction
- Adapters Construction
- Robot Electronics
- Battery Electronics
- Charger Electronics
- Communicator Electronics
- Adapters Electronics