We have a young Doctor Who fan in the house. His bedroom door is painted to resemble the TARDIS and my original #SuperSecretProject was a TARDIS console that sits on Edward’s desk. For #SuperSecretProject2 I decided to make a toy K9. Definitely a toy, and not a replica prop; I wanted Edward to be able to play with his K9 without worrying about bumps and scrapes, and I understand the limits of my time, patience, and most of all skill.
I wanted K9 to be able to be driven around by remote control, to play some sounds from the TV show and for his red eye panel to light up.
Excitingly it all started with sheets of acrylic bought off the internet. You can get this cut to size in all kinds of colours, so obviously I chose grey (and one transparent red sheet). I got 3mm thick sheets, cut to A4 size. I remember cutting Perspex in design lessons at school with a hack saw and spending ages sanding the edges to a smooth finish, but that was over 30 years ago and the internet suggested scoring the acrylic and then snapping it like tiles. I’ve never actually cut tiles, but get the idea and gave it a go.
Nine times out of ten this worked really well, and as I’d deliberately over-ordered I wasn’t worried about the odd miss-snap. The deeper I scored the better this worked, with ten passes of my Stanley knife seeming to be enough to ensure success. I made paper templates and transferred the measurements to the acrylic, which comes with a paper sheet covering each side making it easy to mark up, and protecting the surface from finger prints and tool marks.
K9s main body is made from four trapezoids hot-glued together, with strips of acrylic inside the corners to hopefully reinforce the joints and make it more rigid. Before I built any more of the structure I needed to stuff it with the gubbins that would make the robot dog bark and run.
So I sketched out a schematic of the circuitry, ordered some more stuff off the internet and started coding. I planned to use a Raspberry Pi Zero W for the brains (built in blue-tooth was going to be helpful for connecting to the Wii Mote), a Speaker pHat from Pimoroni to allow the sounds to be played and the motors and motor controller from a CamJam Edukit 3 I’d previously bought. I added one red and one blue LED, as well as a big arcade button, all of which I soldered to a Protozero board sandwiched between the Raspberry Pi and Speaker pHat.
Power for the motors would come from four AA batteries, with the Raspberry Pi getting juice from a USB powerbank, with a Micro USB extension mounted on the back panel of K9 so he can be easily charged up in between adventures.
The red LED was to be mounted behind the transparent red Perspex of K9’s eyes, and the blue one was planned to go alongside a button on his back. The button would trigger playback of the sounds I’d chosen to include in the project.
I’d previously coded a robot with the CamJam kit using RPI.GPIO, but this time decided to use GPIOZero which has brilliantly simple motor and robot recipes built in. It’s also really easy to program buttons, so K9s audio would be easy to do too. While I was doing the coding I realised it would also be easy to make the A button on the Wii Mote trigger sounds remotely, so I added that option too. The code is on Github if you want to look – K9’s blue LED flashes when he’s ready to pair with the Wii Mote and he says “Affirmative” when the pairing is complete and the blue LED goes steady.
I got a prototype assembly of the hardware and software going with very few tweaks, which I was pleased about.
Next I had to squeeze everything into the body. This was harder than I’d expected because I’d built the body without really thinking about how much I’d have to stuff in there, or how I was going to mount it. But with a bit of patience and lots of hot-glue I got most of the innards located and was able to test drive K9 without his head or back in position. This was very comforting moment, because I was now almost certain that I’d be able to complete the project.
The head was too complex a shape for me to make quickly and easily in acrylic, so when I found a pack of five white A4 sheets of foam board at The Works for £3 I was delighted. I began by sketching head shapes and then making paper templates I transferred onto the boards before cutting with a knife. I had some grey spray paint left over from something else which wasn’t a bad match for the body, so applied a couple of coats and then hot-glued four of the pieces together. I’d drilled a hole in the front of K9’s body to pass through the wires for the red LED and made another in the base of his skull. I used a short corner section of black drain pipe for the neck, threaded the wires through and glued the neck onto the body. Then I soldered the LED (and a resistor, of course) to the wires and glued the rest of the head together before sticking it onto the top of the neck.
The arcade button and blue LED were pushed through holes in K9’s back and also soldered to their respective wires before glueing the back onto the top of the body.
This picture shows the mess of wires and parts inside K9.
- 3mm acrylic sheets
- Foam board
- Raspberry Pi Zero W
- Speaker pHat
- Bee sting car aerial for the tail
- USB power bank
- Micro USB panel mounted extension
Stuff I already had in my maker box:
Doing a larger project like this is fun because it has really got me to do some problem solving and has made me work with materials I’ve not used before (or not for a very long time).
Do let me know what you think in the comments – how would you do it differently, or what would you like to build as a robot?