Have an ESP8266 development board such as the NodeMCU or Wemos D1? You’re currently reading Hackaday, so probably. Got an Android device kicking around? Also seems fairly likely. In that case, you should check out ESP8266 Loader by [Bluino Electronics]. This recently released application lets you not only flash new binaries to any ESP8266 board using the FTDI, PL2303, CH34X and CP210X USB chipsets, but also offers a serial monitor for debugging on the go.
You’ll need a USB OTG cable to get your ESP board jacked in to your Android device, but you don’t need root or even to fiddle with the development settings. Here at the Hackaday R&D Dungeon we had somewhat mixed success getting a random selection of Android devices to work fully; all of the ones tried could at least open the serial monitor and read what a pre-programmed ESP was saying, but not all of them could successfully program a board.
Even on the devices where programming worked, it was slow. Just a basic LED blinking Sketch took long enough to write to our test Wemos D1 Mini that we contemplated getting a snack. But still, it shows a lot of promise for managing devices in the field, especially if you don’t have over the air update enabled in your code.
We especially liked that ESP8266 Loader helpfully downloaded a bunch of example binaries, many of which could be of practical use. There are programs for toggling the different GPIO pins on the board, creating Wi-Fi access points, and even a basic web server. With these in hand, you could actually do some testing and diagnostic work right from your mobile device.
This isn’t the first time we’ve seen an ESP8266 team up with a mobile device, but generally speaking, the magic is done over WiFi or Bluetooth.
I have here a starter tablet from Micro Center. It’s not much, but for a while it was the goto thing for reading Linux Journal. Now I keep it around for tracking my Amazon packages. Will that contraption of an app work on such a capability-limited device?
As long as there’s no editor and compiler in it (which is nearly impossible on a mobile device, I guess), it’s just extra work. A field engeneer has always a laptop nearby.
Installing editor and compiler should be simple, just use “Debian noroot” or any of the other Android apps that install a Linux distribution inside a sandbox. Add a bluetooth keyboard and you are ready to go.
Hard part is interfacing with external devices and transferring data between programs, because of the sandbox. So I expect it could be quite cumbersome to get the compiled file to the programming app..
There’s also an Arduino IDE available for Android: https://play.google.com/store/apps/details?id=name.antonsmirnov.android.arduinodroid2&hl=en_US
Not sure if it supports ESP8266 but I suppose now that it’s possible to program them on the go, it’s more likely that it will if it doesn’t yet.
Why not use a second esp as programmer? No need for OTG support.
I tried this quickly in my car as soon as I read this and it gets stuck at 10% uploading to a NodeMCU, I’ll have to check further.. maybe a crappy adapter. I actually keep binaries in a web-accessible location. could be useful for flashing a newer version of firmware on a device or something…
Curious if anyone has used any other app for actually compiling code for the ESP.
if you get fail to write at 10%, try press for long time on uploading icon button, it’s work for me.
Ah thank you! I got stuck in the write mode stall as well. Fixed it like a champ :)
I want to do the same for ESP32. Any options?
But will it program an Adafruit Huzzah or a regular ESP8266, that’s the one with a difficult to use pinout.
how can I delete the flash before I upload the new firmware
Now if there only was a ESP32 version!