My 2 1/2 year old is robot mad. I played him an old youtube clip of Metal Micky from the early 1980’s that was on TV when I was a kid and he has been an addict ever since. There’s some more youtube vids of a guy in the USA retrofitting OnmniBot (again from the 80’s) with modern tech as well and he watches it over and over..
So I thought, why not build him his own one. He’s fully into the parts and ‘how does it work’ buzz and fizzes when the AliExpress parcels turn up from China with servo’s and bits and pieces.
I wanted the thing to be a similar size to him, be able to move around, wave its arms, move its head left and right and control various LED lights and strips. A project we can build up to do different things and tinker around with on Sunday afternoons.
Key things to sus:
- Body – what to use? (plastic rubbish bins :))
- Head – what to use – how to make move left and right (servo, bracket etc.)
- Movement – Tank Tracks on the bottom for movement – Ultrasonic sensor so it can avoid stuff – like Roomba 🙂
- Lights /Buttons to play with
- Camera/Screen – got an old android tablet with forward facing camera to stick on the front.
- Brain – ESP8266 Wifi Micro Controller connected to motors/servo’s/relays to control everything
- Control – C++ Code on the ESP8266 (Arduino style) and something like Blynk for mobile phone control
- Semi resemble Metal Micky – we call him ‘Plastic Micky’.
So this post is going to be the process of building it up, physically, sourcing all the bits and the electronics (as simply and cheaply as possible) to bring Micky to life..
I aim to build up the electronics using simple cheap readily available parts.. and maybe when the design is ‘stable’ – make in to a single PCB – maybe others can contribute to the design?? I’m going ‘open source’ on the electronics design and C++ code.
Here’s a link to GitHub project for the source code.. https://github.com/paulobriennz/plasticmicky
I’m just a beginner really with C++ and micro controllers, but I’ll have a crack.. if any one wants to make the code better – please feel free 🙂 I was even thinking, this could be a project to build in school’s for kids to learn electronics.. there’s ton’s of ‘instructable’ type articles around on the net about how to use an Arduino to make some wheels move, or lights flash, or a servo do things but not really any one stop guide that combines all the components to build a walking talking robot with mobile control and a bit of intelligence to combine movement with ‘personality’.
Also going to build an Alexa skill.. so Micky can do things by voice command as well as mobile phone control.. I’ll post the code to this as well.
High level, I’ve come up with an electronics design based trying a few different bits and pieces – :
- 12v 7A Alarm Battery for Power Source (need to source a battery charging module)
- NodeMCU/Wemos Development board – ESP8266 based – easy to ‘swap out’ and try different firmware’s etc
- L298N Motor Controller (2A motor rating) to drive the tracks for movement (initially tried a ESP12E Motor Controller board (600ma motor rating) but not enough guts to handle robot’s weight – chip kept overheating).
- PCA9685 16 Channel I2c Servo Control Board to move heads, arms, ears, mouth etc..
- PCF8574 8 Channel I2c GPIO Extender – as we’re going to need a few pins to make this all happen – 6 alone for the L298N Motor Controller
- Adjustable Buck Regulators to get 5V for Relays and electronics, LCD etc., 6-7v for Solenoids – 12v for Motors, LED Strips etc
- OLED I2c Screen to help ‘communicate’ what’s going on.
- Tank Tracks for movement – brought a kit with small ESP12E Motor Shield and NodeMCU – but the chip on the motor driver board is pretty gutless and just overheated trying to drive any weight on the tracks – hence the L298N controller above. Motors connected to 12v battery directly and it was grunty as so the 12v motors and track mechanism have def got enough guts to move the thing.
- Pan and Tilt Servo bracket for head – just using a Servo to spin the head left and right (although this area of the design needs more (mechanical) work..
Plan is to be able to control via Blynk (or some IoT control app) to move about and make head move, control lights etc. and have an autonomous mode (like a Roomba) that can move around and use its ultrasonic sensor (radar) to avoid objects and change course. Also expose a ‘web service’ so we can create an Alexa skill to get it to do things. Simple Wi-Fi Setup so you don’t have to mess round with C++ code to get it to connect – plug and play!
First mission – what is the body and head going to be… after watching Metal Micky on YouTube for the 407th time with toddler, I thought – rubbish bins like you see in cafeteria’s.
I went to the Warehouse (general everything store we have in NZ – like Home Depot) and got 2 rubbish bins.
1 is a mini ‘wheelie’ bin and the other was a round bin with a push flap
I’ll use the top off the round one for Micky’s head, and turn the wheelie bin upside down, remove the lid and casters and make a wooden base for the wheelie bin to sit on upside down.
This base can have the tracks screwed to it so its relatively ‘stable’.