What better way of joining in with the celebrations of the 50th anniversary of Doctor Who (even if slightly late) than resurrecting an old radio-controlled Dalek with a broken RF link and using a Raspberry Pi & a PiXi to bring it back to life!
In this project we took an off-the-shelf toy, added two micro servos, a Raspberry Pi, a PiXi, a bit of glue, a few odd bits of hardware and we created a WiFi-controlled Dalek “Pi”, complete with a fully stearable eyepiece - something the original toy didn’t have.
For the motor control we used the H-bridge drivers that already existed on the original control board, we simply drove the motor drivers from the 5V GPIO on the PiXi-200 instead of taking this from the RF receiver - with a bit of custom logic in the PiXi-200’s FPGA to prevent both top & bottom transistors from being turned on at the same time. The FPGA’s PWM controllers provide full speed control too, something else that the original toy didn’t have.
For the speech control we used more 5V GPIO to control the (still working) speech function and we connected the push-button on the side of the Dalek (used for demonstrations of the original toy) to trigger a demonstration sequence running on the Raspberry Pi.
Sadly we weren’t able to shrink the Raspberry Pi camera module down far enough to fit it into the eyepiece, but given time we might be able to do something here…
Summary of PiXi-200 functions used in this project:
GPIO1 (24 x 3.3v digital I/O):
24 x I/O spare;
GPIO2 (16 x open-collector / open-drain outputs):
2 x low-current outputs used to drive two micro hobby servos which control the pointing of the eyepiece;
6 x low-current outputs spare;
8 x high-current outputs spare;
GPIO3 (16 x 5v I/O):
4 x I/O used to drive the motor H-bridge to control the main drive motors;
6 x I/O used to trigger the speech unit;
6 x I/O spare;
1 x I2C port spare;
8 x ADC input spare;
4 x DAC outputs spare;
10 differential or 20 single-ended I/O plus SPI & I2C are all spare;
Although not used at present, the accelerometer & gyroscope could be used for motion detection, impact detection etc. and the magnetometer used as electronic compass for basic navigation;
RS232 Serial Interface:
PiXi-Tools library used to provide the GPIO & PWM control for the PiXi-200 FPGA. Dalek.c written to provide a basic demonstration function and keyboard control of the drive mechanism & eyepiece servos.
Please see the photos’s in the PiXi-200 gallery for some pictures of the Dalek “Pi” project.
Got any thoughts about this project or want some advice on your own projects? Feel free to email us at firstname.lastname@example.org.