A lot of people have used ESP8266 to add inexpensive WiFi connectivity to their projects, but [Oscar] decided to take it one step further and program an Arduino over WiFi with the ESP8266. [Oscar] wrote a server script in Python that communicates with firmware running on the Arduino. The Arduino connects to the server on startup and listens for a “reboot” command.
When the command is received, the processor resets and enters the bootloader. The python script begins streaming a hex file over WiFi to the ESP8226, which relays it to the Arduino’s bootloader. Once the hex file is streamed, the microcontroller seamlessly starts executing the firmware. This method can be used with any AVR running a stk500-compatible bootloader.
[Oscar]’s writeup is in Spanish, but fortunately the comments in his Python and Arduino code are in English. Check out the video (in English) after the break where [Oscar] demonstrates his bootloading setup.
Nooice. 1st. Can’t wait to get my ESP8266. Would love to get the custom firmware to work on this so I can eliminate the arduino. That would be cool. Wouldn’t work for something like this.
What a blast from the past; haven;t someone claim first in years. Maybe I need to read more comments?
Wow that’s a hell of a security hole! I guess that doesn’t matter for toy robots but for the places where I would want firmware-over-wifi (i.e. programmable devices doing important things in hard-to-reach places), I would want a much more-secure approach. The whole point of over-the-air updates is that it’s a big hassle to get to your device, so you want the update process to be really really safe and fault-tolerant.
When I last did this, the digitally-signed firmware update gets streamed to an external EEPROM or flash device. The bootloader contains a public key and uses that to verify the update; if it’s both valid and newer than the one on the device, it installs it. If it fails to boot properly a few times, it will revert to the previous firmware image.
I think electric imp does something like that. But electric imp is $30 + breakout board. ESP8266 is $3 :)
there is a “cloud” firmware update for the ESP8266 http://blog.electrodragon.com/cloud-updating-your-wi07c-esp8266-now/
he’s updating the arduino not the esp8266.
in order to enable the wireless upgrade feature to a arduino (which is 8-bit, 16MHz), just by adding a esp8266 (which is 32 bit, 80Mhz ) … ?
interesting..
Agree! They need to make that $5.00 board a couple bucks more expensive with a USB port and make an awesome IDE and community like Arduino so we can program that processor directly and easily.
In all seriousness through – I did download the IDE but ease-of-use is not a strong point. I believe that the MSP430 stuff didn’t take off in a big way is mostly due to the IDE. Heck those were $5.00 boards with similar features to an arduino. If someone makes an Arduino like IDE that support wiring and has a nice click to upload button these things would take off in a big way.
Arduino is considered to be “a big success” and they bow and scrape to the gods of Atmel but it really doesn’t make a lot of money for Atmel. Shoot, Atmel has their very own development system that competes with Arduino, so Atmel is actually working against the interests of Arduino. Nobody is going to expend the vast efforts of development and documentation and support for projects that don’t even begin to pay for themselves.
Face it, making life easy for newbies is a fun goal but it is not going to happen in this case because there is no business reason. Anyone who has the gumption to make an actual product that is going to result in actual sales is going to “do it right” and work directly with the manufacturer and their tools so that they can be assured of quality support and continued supply.
And it’s pretty telling that Arduino development has pretty much ground to a halt. Arduino Due has been around for a long time now and its development environment is still considered an “experimental fork”. This is a clear sign of a lack of development resources and it’s not a good sign at all.
puny human beings use 4000 pound steel automobiles to transport just themselves
retail stores everywhere use 64-bit Windows systems to calculate the change for your groceries
and maybe you can tell us how to run a wifi radio with an atmega
Would be cool to skip the bootloader and instead program the ESP8266 to flash the AVR directly over SPI. I guess it won’t be long until we see WiFi enabled Flash programmers for popular micros. Even JTAG would be possible.
can’t wait for a real english tutorial…that crappy translation is killing me inside!
if they sort out the security issues then this could become the standard way to update firmware on devices. This solution is even cheaper than the ST-LINK debuggers that ST puts on their evaluation boards. And maybe some people will stop freaking out over the fact that debuggers and bootloaders can be more sophisticated than the gear that they support.
More and more easy wireless for projects options are launched (and shown on HaD) interesting future ahead. I hope something cheap and usable makes it to dominant design,
I have a probel whit the command reboot the problem…whe i write the command reboot on the bar the esp8266 link but not open the 50000 port.
please answer me…thanks
https://www.dropbox.com/s/09d08cfshpestdd/immagine%20prova%20wifi.jpg?dl=0
look this photo is described the problem
thanks and sorry