Introduction: Flying Hippo Robot
Inspired by the Micro:Bit Virtual Sky Parade, I wanted to make a mini parade float powered by a micro:bit, which could somehow fly! This sky parade float idea became a Flying Hippo robot. I loved every part of this project, and learnt so much doing it!
So, why a Flying um... Hippo ?
I love the programming language Scratch, and there's a winged-hippo in the Scratch sprite library*, who has an expression of pure joy whilst flying. So, I just couldn't resist the idea of bringing the Scratch Flying Hippo to life!
( Click here to see a Hippo fly in Scratch and click on things in the Scratch project to see what happens )
* The Scratch Flying Hippo is actually named Hippo1, implying there are more somewhere - possibly herds (or flocks ?) of them!!! Just imagine seeing them all perched in a tree near you one day...
This Instructable guides you through the process I used to make my robot (afterwards I just suspended it on a string line and winched it along), but it's definitely intended as a starting point and inspiration for your own creations and adventures using micro:bit and servos! I hope the ideas here help you build whatever kind of robot you're most excited about building yourself!
I loved making a papier mache Hippo model for this robot as it was a really chilled out activity - (super relaxing while listening to music) - but if you have less time, you could re-use some cardboard packaging to build your model instead, before decorating and then adding the electronics as below.
More details of supplies used are given in each step, but here's a basic supply list for the project:
- some balloons and recycling materials to form the basic shape of your model
- newspaper, PVA glue and acrylic paints
- bendable craft or garden wire to form the wings (or arms/tail/moving parts)
- masking tape and scissors
- micro-bit (either V1 or V2) and USB cable (see: where to buy micro:bit)
- servo controller board for micro:bit (to help you control multiple servos) - there are several different boards available, but this is the one I used
- 4 x crocodile clips/alligator clips (to connect your board to the micro:bit)
- 2 x micro servo motors (you can google SG90 to find these online)
- battery box and 4 x AA batteries (to power both the servomotors and micro:bit)
Create the code to control the servos in MakeCode Editor via your browser!
Step 1: Assemble Your Model
If you are making a papier mache model, then balloons are great to form a body and head (I used air-filled packaging pockets too). Otherwise, re-use some small cardboard boxes and other recycling to assemble the basic shape of your robot.
This is what I used to form my Hippo:
- 2 x balloons
- 2 x cardboard inner tubes (from kitchen towel rolls)
- an egg box (you can always paint it, so any colour will do)
- 2 x air-filled packaging pockets
- re-use a sheet of card/cardboard packaging
- masking tape
If you don't have some of the above items, create your own unique model using whatever you have to hand!
To give you your own ideas for assembly, here's how I formed Hippo's body parts:
Mouth: For the mouth, I cut off the lid of an egg box, cut small triangular slits halfway down each long side of the lid, and bent it roughly in half (as in image 3 above). I just secured it with masking tape to give Hippo an open-mouthed expression of wonder!
Eyes/Tail: Hippo's eyes and stubby tail are also parts of the same egg box (see image 3).
Legs: The legs are four roughly 7cm sections of cardboard tube, with a circle of card taped to one end of each (see image 1 and 3).
Ears: I just added some masking tape to the top of the packaging forming the head to make the ears look a bit more pointy (see image 1).
Also bear in mind roughly where you'd like your servo motors to be attached, so you can add some moving parts to your model later. I wanted to position Hippo's wings on top of his shoulders, so I just made sure I'd have room to fit the servo motors there later on.
Step 2: Finish Your Model and Decorate
Supplies for papier mache:
- a newspaper
- PVA glue (dilute this in a container, roughly 1 part PVA to 2 parts water)
- a brush for gluing
Before making Hippo, I hadn't made a papier mache model since I was small (will definitely be making more now though!), so in case this is helpful to you too, below are some tips I found useful. If you're already a master papier mache maker just skip ahead to the bottom of the page.
Some Tips for a papier mache Robot:
1) I tore the newspaper rather than cut it into strips (this makes it easier to glue the edges down flat), and just applied the diluted glue with a brush as I laid each strip on the model.
2) I applied roughly 3 layers of strips on the body, and only one layer on the cardboard legs to stop them getting too soggy, then let the model dry completely before repeating. (I left Hippo to dry roughly 24-hours or at least overnight, but you may not need to wait that long between gluing sessions, as this depends on temperature and humidity where you are.) If the surface still feels soft or cool to the touch, you need a little more drying time.
3) I repeated this process until I'd around 12 layers in total on the main body (though much less everywhere else), so this process took a while, but I absolutely loved doing this! Your model may not need so many layers. To check, once completely dry, gently press the model all over, and if you feel that any part is not sturdy enough just yet, just add some more layers in that area.
4) I made sure to cover the join between legs and body, and at the neck a few times for added strength in those areas, but decided not to cover the egg box at all, as it was already grey and I liked the look of it bare.
There's also a great Instructable on papier mache from MikaelaHolmes, which you can check out here: https://www.instructables.com/Paper-Mache-With-Gl...
For decorating your model:
I chose to paint Hippo purple (see image 2), but of course you can decorate, customise and personalise however you wish!
For Hippo I used:
- acryllic paints - good for covering papier mache models (any colours you like)
- paint brush and container/palette for mixing your paints
- Sharpie or felt-tip pen - for adding details/drawing cute eyes (see image 3 above)
Step 3: Connect Up the Servos
I used a micro:bit V1 and a Monk Makes Servo Kit (which included the servo controller board, servo motors, crocodile clips and battery box) to add some moving parts to my robot. I did not have a micro:bit V2 to try out, but these connections should be identical if you do.
Connecting Everything Up:
1) Connect your servo controller board to the Micro:Bit
Use the Alligator Clips (see Image 1 and 2 above) to do this. I used P0 and P2, but if you use P1 just adjust how you connect the servos below (and the code you write later) to match. The colour of the alligator clips you use does not actually matter, but it's good practise to use red for 3V and black for GND.
2) Add a plastic servo arm onto each servo motor
The small white plastic servo arms that came with these servos are pictured loose in Image 2, and shown pushed onto the servos in Image 1. There are normally screws included for securing these, but I found the arms stayed in place without.
3) Connect the servo motors to the servo controller board
My servos had brown (negative/ground), red (positive/power) and orange (signal control) coloured wires (check which wire is which if your servos have a different colour scheme). With the servo controller board I used, the orange signal control wire needed to be connected on the left-hand side (see Image 3), and the servo's connectors could just be pushed onto the pins on the board to connect them. Your board should also be labelled to help you connect everything up as shown in Image 3.
4) Connect the battery box to the servo controller board
My board had screw terminals for connecting this, black for - and red for + (see Image 3).
If you'd like to learn more about connecting and using Servos, try this Servos with Micro:Bit Video
Step 4: Add the Moving Parts
I wanted to make transparent wings for Flying Hippo, and had some coloured acetate sheets I'd rescued from someone about to throw a pack away, but if you don't have anything similar or some plastic packaging you can re-use, make beautiful paper wings and decorate them instead!
You could try adding other moving parts to your robot instead of wings, using wire, paper or card in a similar way to the method described below.
This what I used to make Hippo's Large Wings:
- 2 x acetate sheets (clear or any colour) or re-use an A4 file punched pocket or paper
- green garden wire (if you don't have this at home, use other bendable craft wire or try pipe cleaners instead)
- wire cutters or cutting pliers
- multi-purpose glue (I used glue dots, but superglue/UHU might have been better here!)
One A4 sheet of acetate or paper, or an A4 file punched pocket, can be used to make both sides of one large wing.
Here's how I made each Wing :
1) Cut a length of garden wire and twist into a loop (see Image 2)
I used roughly 60cms for one large wing. Leaving the free ends of the loop around 10cm long gave me plenty of wire to attach the wing securely onto the servo arm later.
2) Cut out wing membrane
You can lay the wire loop on the acetate or paper, and cut around it leaving a border of about 1cm all the way around. Flip over your wire loop, and repeat to cut a second membrane for the other side of this wing.
Wings can be decorated in any way you can imagine! Draw, paint or collage patterns onto them. You can make them look like insect wings by adding veins.
As my wings were transparent, before gluing them together I decided to make some vein patterns to slot in-between the two acetate membranes, using some more of the wire as below.
Here's how I made a Vein Pattern for each Wing:
1) Cut a length of garden wire and form a tree-like shape
I use roughly 60cms for the vein pattern inside a large wing.
Try starting at one end of the wire, making a small loop and then twisting the wire together all the way along that loop (see Image 3, which shows the first two branches of the tree-like pattern).
Leave a short untwisted section between each main branch, as you work down the rest of the wire, adding twisted branches at intervals to make a pattern you like. Check these vein branches will fit inside the shape of your wing as you go (see Image 1). Once you've created your vein pattern, leave the rest of the free end untwisted to help you attach it.
2) Twist the free end around the base of a wing
Lay the wire pattern so the veins will fit inside the loop (see Image 1), and just twist the free end around the base of the wing a few times to attach it. You can wrap the rest of the free end around the servo arm once you assemble the wing (see below).
The wing membranes can be glued together, sandwiching the wire wing-shape inside!
Use the free ends of a wire wing to attach it to a servo motor arm. You can always remove the servo motor arm from the servo, to make this easier if you need.
Some Ideas for Customising your Wings (adding Optional extras!):
I decided to customise my Flying Hippo by making two additional smaller wings from a different colour of the acetate, by repeating the steps above using a shorter length of wire (I used roughly 30 cms for each). I used one sheet of acetate to make all four small wing membranes. This time I added some aluminium foil inside the wings to make them look iridescent (see Image 4).
I also tried adding a couple of LEDs. I had an old notebook which had some LEDs embedded in the cover, so cannibalised this to add some lights between the wings for added wonder!
How I added LEDs:
I had some craft copper wire, so twisted two lengths around a small loop of garden wire, so that each length of the copper wire held one leg of the LED in place. I twisted the free ends of both lengths of this copper wire into a small spiral at the base of the loop (see Image 4). As long as your two pieces of copper wire do not touch each other, you can tape a coin battery between the two spirals to complete the circuit and light up the LED!
I positioned each LED loop in front of one of the small wings with foil inside, so the foil would reflect the light as the wings fluttered and make Hippo look even more magical!!!
Hippo's LEDs are 'aIways on' for simplicity, as I did not think to add them until near the end of the project, but it would be fun to think of other ways to include LEDs, and maybe ways to control them too, or maybe to use them as the eyes of a robot.
Hope this gives you some ideas for extras you can add to your own robot.
Step 5: Add the Code and Attach the Electronics
Now to add some code to make the servo arms move using MakeCode Editor!
The images above show the code I used for Hippos fluttering wings.
You can test your servos move OK, by creating a new project in MakeCode and adding Hippo's code as above. Hippo's code is also here: Hippo Wings , and below is how this code works.
If you are new to how to set-up and transfer code to your Micro:Bit, here's a guide.
Exactly how you'll want your servos to move will depend on the shape of your own robot, so once you have your servos working, you can play around with your own code to see what movements look best. You may want to tweak it again once the servos are in position on your model. Have fun experimenting!
How Hippo's code works:
- I added a variable (see Image 1) called fly, and set it (see the code in Image 2) so that pressing Button A will start Hippo's wings flapping, and Button B will stop them again.
- I added the Heart icon just for fun (and to add some extra love <3), as the Micro:Bit was ultimately going to be hidden inside my Hippo's chest!
- Once Button A has been pressed, the code repeated in the Forever loop moves both of Hippo's wings first one way and then the other with a 0.5 second pause in between. I also decided to add a very slight pause (0.1 second) between one wing starting to move and then the other, because I just liked the idea of the wings being fluttery and slightly out-of-sync!
- I'd connected my servos to P0 and P2, but if you are using P1 just change the code to use that.
- The values shown in the servo write blocks will move the servo shaft to that angle (between 0 and 180 degrees). Once you have attached your servo motors to your model (see below), you can experiment with moving the servo arms to the angles that work best with the shape of your robot.
Attaching the Electronics to robot-ify your model:
Once you've tested out your servo motors, you'll want to attach them to your model.
I decided to use more of the garden wire, going from corner to corner in a cross shape to hold each servo in place. I marked where I wanted to position each servo, then used an x-acto/craft knife to make some small holes in Hippo's shoulders to poke the wire through. Instead of garden wire, you could try using twist ties.
Ideally, you'll also need a good position for a * secret door * (ssshh...) on your model. You could attach your Micro:Bit to the outside of your model, but having a secret door will help you twist the garden wire on the inside of your model to keep the servos in place, and will also allow you to slip the battery box, servo controller board and the Micro:Bit inside your robot to hide them!
I chose to cut the secret door just above one of Hippo's forearms (see Image 3). That way, the wires connecting the servos to the servo controller board would easily reach when the board was inside, and the door would still be fairly hidden (at least from Hippo, as he's looking the other way!).
Cutting the Secret Door (Yikes!):
As the papier mache was completely dry and sturdy, cutting into the side of Hippo worked fine. If you do cut your model and then change your mind about where best to put your secret door, I guess you could always repair the cut with masking tape and paint, or by adding some more papier mache if needed.
Some extra tips for Robot-ifying:
To hold the door closed once the electronics are inside, I made two tiny holes, one in the door flap and one on the body just above the door, so that I could use another piece of garden wire as a fastener. Maybe a brad/split pin fastener would be good to try here.
I also wanted to stop the Micro:Bit going too far into the body, so it was easier to switch the flapping wings on and off. So, I just slide a scrap piece of cardboard inside as a shelf for the servo controller board and Micro:Bit to sit on, with the battery box below them.
Step 6: Go Flying!
Flying a 'flying robot' :
You might want to hang your robot from the ceiling with its wings flapping, and imagine it flying off on an adventure!
I tied craft 'fishing line' (so it would be almost invisible ;) ) to each leg and attached this to a wire clothes hanger, so it would be easier to suspend my model from a string.
Extremely Optional: for flying across the room...
I hung the clothes hanger with the robot attached, on a length of thick string (a length of clothes line is ideal if you have that) stretched taut between two over-door hooks. This 'flying route' stretched from one side of the room to the other. How you rig this up obviously depends on the kind of room you're in, so you'll need to come up with whatever works best for your situation and room layout here.
In my case, I ended up kinda 'trapped' inside the room at this point because I'd tied the line to both exit doors!!! I then realised I'd need to use something to help the clothes hanger slide more easily along the line, and could only use whatever I had around me in that room (in my case a biro pen lid, see Image 2 of 'Hippo in Flight'). This did work to solve Hippo's flying friction issues, and the flight then went really well.
Simple First Flight:
For a simple 'flying across the room' experience, or if you want to use only one Micro:Bit for your project, you can always simply pull your flapping robot along the line by hand!
Going Further: with an automated flight...
In the video at the top of this guide, Hippo is actually being pulled along the line by a Micro:Bit powered winch.
Used a second Micro:Bit, a Motor Controller board and a Lego compatible continuous servo to construct the winch. Tied another length of string to the clothes hanger and used 2 Lego wheel rims on a spindle to make a drum to wind it around. I'm happy to give more info on the winch and code I used here, if you also want to experiment with flying their own robot in a similar way.
Happy robot building!
Please leave a message if you make a robot, as I'd love to know what you create :)