How to Make a Ticklebot!
There’s no one right way to make a Ticklebot! Here is how I made mine, but feel free to get creative.
(Note that the instructions assume some very basic knowledge of using development boards and how to connect components, but contact me if you've got any questions!)
I used the micro:bit v2, but the Circuit Playground Express is also a great option. If you use the micro:bit v1, make sure to check the note at the end of the guide about resistive vs. capacitive touch.
You'll need two. Make sure they're the regular kind and not continuous rotation servos. You can get these on almost any DIY/hobbyist electronics websites.
Grove Servos (if you're using the Grove Bitmaker)
A way to attach the servos:
I used the Grove Bitmaker Lite, but it was a bit tricky since I had to use the logo for the touch sensor. I would suggest looking at a different option that has more pins accessible. There’s tons of expansion boards I haven’t tried that should work (I've listed a handful below). You can also attach the servos using a breadboard or directly with alligator clips.
This will be used for the touch sensing. You can probably also use conductive tape for this, but I haven't tried it.
Cardstock or Construction Paper
You can also use regular paper, but it'll be a bit flimsy.
Code & Connections
You can get the Makecode for the micro:bit here: TickleBot
If you've never used the micro:bit before, here's an intro for how to transfer your code onto it. You'll want to update the code to whichever connections you're using. In my code, I used the logo as the touch sensor (which I don't actually recommend, but you'll see why I did it in a moment), and P1 and P2 for the servos. P1 and P2 correspond to the pins on the micro:bit.
You can see on the left image that the servos are attached to P1 and P2. If you're using an expansion board like I did, the pin numbers should be written somewhere on the board.
If you look closely at the picture on the right, you'll see that there isn't a way for me to access P0 on the Bitmaker Lite! Since only P0, P1, P2 and the logo can be used as touch sensors, and I was already using P1 and P2 for the servos, this only left me the logo for the touch sensing.
What I actually recommend doing is using P1 and P2 for the servos, and P0 for the touch sensing. Then you can attach an alligator clip directly to P0 for a much more stable connection. (And don't forget to update the code to match.)
Since using the logo as the touch sensor is not very reliable, why didn't I use a breadboard or alligator clips to connect the servos directly? I could have, but I wanted to make this a project I can easily teach over Zoom, and trying to explain how to connect all the different wires with breadboards, or adapting the connector on the servo is tricky to do virtually.
I'll actually be receiving a few of the other expansion boards and conductive tape to try, so I'll update the instructions if one of them works particularly well for this project!
Last Updated Feb. 16, 2021