2

I have an Arduino project using an ESP8266 dev board.

I want to be able to give users updates to my software in the future and I don't want them to have to download the code and the Arduino IDE to do so.

Is there a way to take the compiled code from the Arduino IDE and use some other software to upload the compiled code to the ESP8266 dev board?

1
  • 1
    There's a detailed console option (can't remember what it's called) that when enabled will show you how the board is being programmed. You can then run those commands outside of Arduino IDE to have the same effect.
    – 101
    Jul 29 at 2:53

1 Answer 1

1

I figured it out! After getting some comments, I have decided to got with Option B.

Firstly for both options, you will need to:

  1. Using the Arduino IDE
  2. Under the "Sketch" tab; click "Export compiled Binary", then click "Show Sketch Folder" (This is where your .bin file is)

Option A - Using an application

  1. Download the ESPEasyFlasher code from below.
  2. You will probably have to open this with Visual Studio and compile it yourself.
  3. Make sure your .bin file and esptool.exe are included in your bin/release folder or wherever you want to have the "FlashESP8266.exe" program permanently.
  4. Run the "FlashESP8266.exe" program; select your com port, select your bin file, select the upload rate, then click flash.

So you just have to make sure that your user has;

  • Python installed
  • Provide them a copy of the "FlashESP8266.exe"
  • Provide them a copy of the "esptool.exe"

I don't know if this will work the exact same for an ESP32 as I believe they have two .bin files...

Resources:

https://nerdiy.de/en/howto-esp8266-mit-dem-esptool-bin-dateien-unter-windows-flashen/

https://github.com/BattloXX/ESPEasyFlasher

Option B - Using OTA Update

3.You will need to first implement OTA Updates as @StarCat has pointed out in the comments.

4.Navigate to the URL you implemented.

5.Choose the File System, select your .bin file.

6.Click Update FileSytem

7.Should take a couple seconds or so and should be updated!

I can confirm this works when your ESP8266 is set to host a Soft Access Point.

Koudos to @StarCat.

Resources:

https://arduino-esp8266.readthedocs.io/en/latest/ota_updates/readme.html#web-browser

2
  • 3
    You could also use the ESP8266HTTPUpdateServer in your code to allow the user to update the dev module using a web browser and the .bin file you provide them.
    – StarCat
    Jul 29 at 16:23
  • i would use the OTA to avoid any need of software. there's a few examples built-in tpo the lib, i can't recall which one is best. i would use the one where the user browses to an html page served by the esp instead of relying on an internet connected push server, which can be prone to field problems that a dead-simple upload this file to this page option is.
    – dandavis
    Aug 2 at 20:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.