As it's thanks to the support of the people on this forum that this has been possible, I thought I'd post this here to show you the robot that I've made and recently launched on Kickstarter: http://kck.st/1Jq1yIz
![Image](http://i.imgur.com/vvzPhnfl.jpg)
It currently uses an ESP-01 module running custom firmware (open source, you can check it out here: https://github.com/bjpirt/mirobot-wifi) that's running the esp-httpd web server (thanks @sprite_tm) and a websocket to serial server to control the Arduino that drives the stepper motors. The nice thing about this approach is that you can embed the user interface on the ESP module and control it straight from your browser without needing to install any apps.
Another useful thing I've done is to make it talk the Arduino bootloader protocol and connect one of the GPIO to the Arduino reset pin so that you can update the Arduino firmware over WiFi. The way this works is:
- either drag and drop an Arduino hex file on to a web page or pull it down from the web in your browser
- Javascript then sends this hex file as binary to a cgi handler in esp-httpd
- this get written to flash in the ESP module for safety
- you can then trigger the ESP module to reset and reflash the Arduino with the new firmware with another cgi call
I'm planning on adding in the ability to calculate a checksum to make sure everything gets flashed properly.
The chassis is easy to build and then once you've put it all together you can use a few different apps (http://apps.mirobot.io) to control it in different ways. For younger children there's a simple remote control or you can use block based programming like Scratch to learn about coding and after that move on to Javascript or reprogramming the Arduino.
Hope you like it - if anyone feels like tweeting or sharing on facebook, that would be awesome!
Cheers,
Ben