Self-updating ( from WEB server HTTP ) OTA firmware for ESP8266 AND ESP32!

@langtupt I am not sure what is wrong, can you check if all your libraries are updated (inside Arduino IDE)?

A few mins back I checked your OTA URL and the web server was throwing 500 errors, can you try hosting the bin file somewhere else (maybe sign up for a free hosting to test)?

@langtupt HTTP Return Code of -1 is defined as a connection refused error in the ESP8266HTTPClient.h library -

This means that the ESP8266 is unable to reach that server from its location, try hosting the file elsewhere and make sure that you can access the URL from a PC that is on the same network as the ESP8266.

1 Like

Dear @samad909,
I’m try ip hosting it’s working now.
Thank you very much

1 Like

Hi mikekgr

You help me last time with the OTA and it work fine at my ESP8266 and ESP32 on WiFi :slight_smile: Thanks

I like to upgraded my ESP32 WiFi to a ESP32 WiFi + SIM800 modem at hardware port 16/17 so the unit will work when its on a WiFi, it know or use SIM800 to use the GSM net. Or just SIM800…

The routines for interfacing the SIM800 is easy and run perfect but make the combination with your routine make my hear gray :slight_smile: I fight with WiFiClient client; right now off and on, but that’s maybe not the only conflicts, can you please again :slight_smile: help me out here ? Thanks in advance…

This is the working code fon SIM800 …

[Unformatted code removed by moderator]

use backticks else your sketch will be deleted ```

1 Like

And backticks is ?


1 Like

Sorry, Preben :slight_smile:

you replied, but didn’t add backticks !! :joy::joy::joy:

1 Like

Dear friend,
I have zero experiences in SIM800 so I can’t help you I am afraid…
Best Regards,
Mike Kranidis

Hi Mike
This is a copy of your original ESP32 from 17. april …
When I run this to my NodeMCU-32S is come with a error:


Byt what´s missing ?

Thanks again :slight_smile:

( [Blynk_Coeur] Sorry if the backticks !! is missing I don´t know how to use them … Please tell me)

1 Like

It’s all explained here:

Triple backticks look like this:
so if you don’t have this symbol on your keyboard you can simply copy and paste them at the beginning and end of your code.


ALT + 96 :wink:
This is an accent grave: ` for Frenches :smile:



Thanks Pete, I will newer forget the ``` again :slight_smile:


Please post your sketch here ( property formated with leading and trailing back ticks ) to see what’s wrong and you get error…

How to get the URL Where to register or write

That’s the url to the webserver where you’ve put your compiled code (the .bin file).
If you haven’t set-up your own publicly accessible webserver, or haven’t signed-up to a web hosing service that provides a webserver for you to use, then this OTA method probably isn’t for you.


1 Like

I us this code for update firmwarer, but some error
Checking for firmware updates.
MAC address: 30AEA48436F0
Firmware version URL: http://xxx/xxxxxx.version
Current firmware version: 2019081901
Available firmware version: 2019081902
Preparing to update
Guru Meditation Error: Core 1 panic’ed (Cache disabled but cached memory region accessed)
Guru Meditation Error: Core 1 panic’ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x4014e6f0: bad00bad bad00bad bad00bad
i compiling bin file with arduino ide

sorry. i use interrupt, by dont DetachInterrupt before update.
insert DetachInterrupt, and update is work.