Mirobot is an Arduino-based WiFi robotics kit that's designed to help teach kids about technology
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
All of the pieces finally came together and over the weekend I shipped out the first batch of kits to the Early Access Kickstarter backers.
and here's a look inside the box - instruction manual and all!
Things are moving along nicely! I just sent out 10 early version of the v2 Mirobot to some volunteer beta testers to make sure everything is working well - here's how they're looking:
I'm really happy with how all of the pieces fit in. I'm having some custom boxes made but these ones are DIY on the laser cutter. Although this 10 were hand made, I've also made good progress having the PCBs assembled in volume:
In case you're interested in seeing how Mirobot goes together in more detail, here's the instructions for the latest version that just went online
It's been great switching to a WiFi module where I actually have a good degree of control over the firmware it runs. I've spent quite a bit of time over the past couple of weeks building the firmware management system for Mirobot and it's now at a point I'm pretty pleased with. I've taken the following approach:
The nice thing is that most of the logic is running in Javascript in the browser which means I can keep the firmware simpler. I'm running a custom bootloader (rboot) that someone in the community developed which lets me allocate a couple of large slots for the main firmware, one for the UI web pages and one for the Arduino firmware.
The other thing I'm pretty happy with is that it runs a captive portal so when you join the built-in network it routes all DNS requests to itself which makes a modern OS pop up a window with the control UI in it so you can configure the WIFi easily. It also means you can just open any web address in your browser and you'll get the Mirobot control interface. Much easier than trying to explain IP addresses to 7 year olds! I'm also hoping to add in support for Zeroconf to make it even easier to find.
PCB
I've sent off for the next version of the PCB. Not a lot has changed on it, except a move to a slightly different WiFi module. It's still ESP8266 based, but this time it's the ESP-12. The main reason for this is because this module has been certified for FCC, which means I'll have an easier time selling Mirobot. This is also a surface mount component, but since the boards are coming pre-assembled this isn't an issue.
You'll also see a Sparkfun credit for the Arduino Pro Mini on there, thanks go to Ben Gray (Phenoptix / MeArm) for leading a good example.
One nice addition I've made is that it will be possible to reflash the ESP WiFi module using a serial adaptor if you want to really customise it (or for some reason it needs rescuing). Normal firmware updates will be over WiFi of course!
Pen Holder
The Pen holder mechanism has remained unchanged since pretty much the first iteration of Mirobot and I've always wanted to improve it. It was always a bit fiddly to assemble, a bit wobbly once it was assembled and kids often had issues with the small screwdriver required to put it together. Here's a photo showing old (left) vs. new (right)
There's now a central piece slotted through the main pen arm which provides more stability. This design has also allowed me to have the screw heads flush, which means I've been able to eliminate the need for any tools to assemble Mirobot. Instead of using a slotted screw head, I'm now using a hexagonal head and providing a simple and easy-to-use tool cut from MDF - you can see this to the right of the previous image, but here's another shot:
This is particularly useful in schools because if you're building 10 robots, they now don't need to find 10 screwdrivers and gather them all back in! I've also added a small slot in the chassis which will hold it safe when you're not using it.
It could be a little tricky to get the pen arm perfectly adjusted in V1 units, so I've also included a small jig which helps you get everything aligned perfectly before putting the arm in to the main chassis.
Packaging
I've modified the previous packaging but kept the principle the same. There are a few improvements that will benefit me in production this time:
What's next?
The design for manufacture is pretty much done now. I still need to test the latest version of the PCB when it arrives from China, but now I'm starting to build the relationships with the various manufacturing partners I'm going to be using for production.
Full steam ahead!
I love this chip! Being able to write custom firmware that runs on the WiFi module has opened up a lot of opportunities for improving the whole user experience for Mirobot. I thought I'd write up a few more details about what I'm doing on the module because I think it would be pretty useful for lots of projects, not just this one. At the moment I'm using the basic ESP-01 module:
I chose this version because besides being the most widely available, it's also easy to plug straight into the board, rather than needing surface mount soldering.
At the moment, it's running a web server and a WebSocket server which means you can use the built in web pages to control an Arduino from your browser via WebSockets, which is what I'm doing with Mirobot and it's working great. It means your control app is self-contained and will run in any browser because it's just static Javascript.
You can check out the code from my GitGub repository and then build it using ESP-Open_SDK. If you want to modify the web pages, just replace the files in the "html" folder and run "make flashall" again to flash it to the module. There's also code in there to let you upgrade the web pages over http.
One of the other things I'm quite pleased about is that it can reflash an attached Arduino if you connect up GPIO0 to the Arduino reset pin. It can talk the STK500 Arduino bootloader protocol, which means that you're able to drag and drop an Arduino firmware file onto a web page and it will flash the Arduino over WiFi. I've coded it so that this happens in two steps; first it caches the binary file in the WiFi module flash and then it sends it across to the Arduino. Works a treat.
There are a bunch of other things I'd like to add to this code, including a captive portal for when you're configuring it and Zeroconf so you don't need to use IP addresses and what's great is that because this chip has such a growing open source following, people are already working on things like this.
Take a look at the code and have a play around if you're interested! If you want to play around with it in a robot, then take a look at the Mirobot Kickstarter!
It's been a busy week for Mirobot - on Tuesday I launched the latest version on Kickstarter then spent that evening demoing it at the London IoT Meetup (which is well worth a visit if you're in town).
On Friday night I headed up to Newcastle to show Mirobot at Maker Faire UK. As usual, it was a great event. Well organised and well attended. Lots of interesting maker things to see and do (CNC plasma cutter anyone?). Mirobot was well received and I set it up so that it would draw a star pattern over and over which ended up reminding a lot of people of the Spirograph of their youth.
It's always hard getting your head into doing development work whilst running a kickstarter - too much time spent obsessing over Twitter and Kicktraq to concentrate, but I'm going to spend some time working on the new packaging design and a few code features like support for arcs and maybe a accelerometer controller app. Should be fun :-)
I've made a bunch of changes to Mirobot recently that solve all of the issues that I've collected from the people using it over the last year.
It's a complete redesign of the chassis which solves quite a few of the issues in one shot
Here's a quick video showing what it takes to assemble it now:
Electronically, the major change has been switching out the WiFi module for one based on the Hackaday favourite ESP8266 (I'm using the ESP-01 because it has easily plugged in pins). Aside from meaning that the external antenna is no longer needed, it should solve a lot of the reliability problems because I can build the firmware myself. The initial code for this is up on GitHub and it includes both an on-board web server for serving out the local javascript app and a WebSocket server for real-time control. I've also added the ability to re-flash the Arduino over HTTP which means firmware upgrades will be a lot easier this time and can be done from the browser.
Another electronics change has been to move the PCB to the front of the board which means that the collision switches can now be integrated and don't need wires. I'm going to keep the line following on a separate PCB but it will clip straight on instead of needing more wires this time. The battery pack has been separated again and sits at the back for better weight distribution. This also makes it easier to change the batteries.
Create an account to leave a comment. Already have an account? Log In.
Hi Craig, very glad to hear you like what I've done with Mirobot. It's been quite some time evolving, but I'm pretty pleased with how easy it is to build and use now. The kits were on Kickstarter earlier in the year and I'm going to be shipping them out in the next few days. You can order them at http://shop.mirobot.io and it will ship in a little over a week now. Hope your son likes it, it's a lot of fun making robots draw things!
I am fascinated with these great little things; especially those brought to life by individuals and not large companies! I'd love to know more about the development & evolution of your idea and see how far it has come from the first concept to production. PopPet was made possible via a successful kickstarter too, and it was great watching how Jaidyn's project grew (he documented it well on LetsMakeRobots). Congratulations on getting yours funded too buddy! I must keep a closer eye on Kickstarter; I would have snapped one of these straight up.
I will order one as soon as I can. My son is only 2 and a half but loves little robots such as PopPet. He is going to be mindblown with a one that can draw and he can physically see output from!
Would you mind is I did a little review on your robot when I get one? It would certainly be a great one to compare against the other little guys i have! :-)
A review would be great, I'd be interested to see how you feel it stacks up.
Splendid! It will be great to out up a review of something so different.
This is absolutely amazing!
I have recently been lucky enough to review a few small robots of a similar ilk, like Jaidyn Edwards' PopPet (http://www.poppettherobot.com/) and the Makeblock mBot (http://letsmakerobots.com/content/review-makeblock-mbot) and absolutely love the small robotic platform.
I love everything about the Mirobot; the design, ease of assembly, the use of stepper motors, the array of programming methods... and especially the wifi. One of the things I had thought of adding to the PopPet was an ESP8266 to host it's own controls, very similar to how you have done it at http://apps.mirobot.io/remote/ - i love the compatibility with both android and iOS devices without the need for a bespoke app; just use a web browser!
How much are you looking to sell these kits for? I'd love to review it and put it up alongside my other reviews on Letsmakerobots and robotrebels.org, but more importantly I would love to get one to show my little boy as he would LOVE it.
Thanks
Become a member to follow this project and never miss any updates
By using our website and services, you expressly agree to the placement of our performance, functionality, and advertising cookies. Learn More
I love it! Awesome project turned product!