I just recently discovered that there has been a great deal of development done for v2 of the Wifi firmware, and I'd like to upgrade mine. However, I'm running into problems (probably due to the fact that I'm not a programmer and don't have a lot of knowledge of flashing firmware to things, etc.). Can someone point me in the direction of how to update the Wifi firmware from v1 to current? I've searched and tried to figure it out myself with no luck. I'm using a Sparkfun 3.3v FTDI adapter to connect to the Huzzah.
- I see that there are precompiled .bin files in the GitHub, including a note (back for v2.4.0) that "Upgrade from V1 and V2.x should be possible by uploading the .bin via the web interface" - I'm not aware of and can't find any web interface in v1 other than the RAPI command page and SSID/etc. entry page, although I see from screenshots of v2 that it should be easy to update further once I've got v2 uploaded.
- I tried following the instructions in the Readme for the Arduino IDE (which I have very limited experience with). I could not figure/find out how to upload the precompiled binary, so I tried using the source code instead, but the IDE throws an error upon compile/upload: "failed MSpanList_Insert 0x30b000 0x8188878da59c 0x0 fatal error: MSpanList_Insert" (with additional output that I can copy in, if it would help).
I'd appreciate if anyone could provide some more detail for how to get the Wifi module from v1 to v2. Thanks.
Update: I figured it out. After a lot of hunting and further research I ended up using command line tools to upload the precompiled binary per Adafruit's instructions for the Huzzah using esptool.py
My process before getting to the command line, in case it might help somebody in the future:
I was reading through the Wifi v1 source code to see if there was an updater webpage that I was missing on my existing Wifi module that would allow me to upload the precompiled binary, and I saw that v1 incorporates the ESP8266HTTPUpdateServer library. I suspect this is what the v2 Readme.md means to use as the "web interface" for upgrading v1 to v2. Upon researching how to use the ESP8266 HTTP Updater, I tried and couldn't get it to work. (I did find that the Arduino IDE error is apparently fixed by using a later version of the Arduino IDE than is specified in the v2 Readme.md (1.6.8), and it did stop throwing that error after I updated.) I couldn't get the Arduino IDE to connect to the Huzzah using the ESP8266 OTA Update instructions. I fiddled with this for a while without success before giving up and finding the command line instructions, which were simple (with a bit of experience using a CLI, at least) and straightforward.
You should just be able to update V1 > V2 just but uploading the latest V2 .bin via the WiFi unit HTTP updater. Browse to your V1 IP address then choose FW update and select the latest V2 .bin file: https://github.com/OpenEVSE/ESP8266_WiFi_v2.x/releases.
Please confirm if this works for you.
I never was able to find the HTTP updater you mention in v1. I don't need it anymore, but it might be good to post a screenshot somewhere that shows what people should be looking for/how to get to it, in case somebody else runs into the same difficulty I had.
Some of the very early versions of the 1.xx code did not have the OTA upgrade option. For older 1.xx firmware the upgrade has to be performed with a Serial upload. Then OTA will be available for future uploads.
I just upgraded using the firmware.bin file and the version now says BUILD_TAG. Is there a way to get it to read out the numerical version?
What firmware.bin version did you upload? Did you download the latest version from the releases page: https://github.com/OpenEVSE/ESP8266_WiFi_v2.x/releases. The official releases should have the build tag set as the version number. To compile yourself you will need to use platformIO
It now shows Version 2.5.2. I thought I refreshed my browser so something must have cycled through.
V2.6.0 is the latest. A good number of little bugs fixed in this release: https://github.com/OpenEVSE/ESP8266_WiFi_v2.x/releases/tag/2.6.0. Best to upload to pre-compiled .bin direct from the github release page
I have an early wifi module, how do you update using serial update. will the same cable work tht I use to update the charger?
If your FW does not have HTTP update via the web interface you will need USB to UART cable like this one: https://shop.openenergymonitor.com/programmer-usb-to-serial-uart/
I followed your instructions and uploaded the 2.6.0 firmware.bin via the OpenEVSE Web interface. This bricked the Huzzah ESP8266 Breakout Board. I re-FLASHed it with the same firmware using esptool, and all good, although I am curious why the GUI Based upgrade falied so hard. Then I configured PlatformIO with Atom and built Wifi_2.6.0 after pulling in all the relevant libraries as shown in the attached screenshot I am a bit uncomfortable with the resulting firmware.bin file as it is not binary identical to the file referenced above. Is there a way to configure platformIO/Atom so that I get the exact same binary as the one referenced in the 2.6.0 release tree?
Thank-you for your considered response.
Nice work. Mm that's interesting. Have you tried loading your FW to see if it works? It's safe since you can always go back and load our pre-compiled version.