Start a new topic

Wifi firmware upgrade walkthrough needed

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.

Hi Glyn,

I shall, I shall, however I am presently physically separated from the wonder-box, account heavy snowfall.  In the interim, I have a massive favor to request of you.  Would you mind taking a screenshot of the exact same platformIO config on your own personal Wifi 2.6.0 build, also showing the same installed libraries with version numbers, and posting it?

This will edify me and, hopefully, the voices will stop.


I'm using the library versions as defined in platfromio.ini, these get installed automatically. Installing libs manually is not required. I am using V3 dev version of platfromio. Currently: version 3.5.2a7

The version on github might have been compiled using an older version. The dev version of platformio updates very few days. Due to the way the compiler works it might produce a different compiled result. I don't think this is anything to worry about

Hi Glyn,

I get 9 compiler warnings when I build ESP8266_WFi_2.6.0 with no libraries explicitly installed, like your setup on platformio. How many warnings do you get?

Hi Glyn,


Thank-you for your detailed replies.  I did not know that PlatformIO pulls libraries according to platformio.ini. 


I loaded the binary that I built.  Not all working.  I can log into the WEB GUI, and also can control the OpenEVSE board via the GUI, I can also upgrade the firmware via the GUI.  However, I cannot connect the WiFi board to the local WiFi SSID.  It just says "Scanning", and shows the previous login credentials.


The libraries I built with were:


· ESP Async WebServer @1.1.1 (ID306)

· ESP Async TCP  @1.1.3 (ID305)

· PubSubClient @2.6  (ID89)


platformio.ini requires:


· ESP Async WebServer @1.1.1 

· PubSubClient @2.6 


I will remove the installed libraries and try rebuilding.  Ever seen where the WiFi board cannot select an SSID to connect to over WiFi?


I had the same result when I built OpenEVSE WiFi on the Arduino platform for WeMOS and loaded to the binary to a WeMOS D1 Mini.   Could not connect over to local WiFi.


I can connect if I use the pre-built 2.6.0 binary, so I don't think it is a hardware or location issue.

I partially updated to a dev branch of v1 at some point and never got the static files copied over. I was able to access the upload form though by just going to http://ip/update and it uploaded and restarted....but never came back up. Would one of these work to do it over serial:

Hi Glyn,

Here is the logfile from the platformio build.  Still have the same problem with the binary.  Everything on the GUI appears to be working with the exception of being able to scan local WiFi and find any local SSIDs.

[02/10/18 03:10:01] Processing openevse (extra_scripts: scripts/; framework: arduino; src_build_flags: -DBUILD_TAG=2.6.0; lib_deps: PubSubClient@2.6, ESP Async WebServer@1.1.1; platform:; upload_speed: 921600; board: esp12e; monitor_baud: 115200)


LibraryManager: Installing id=1826



Verbose mode can be enabled via `-v, --verbose` option

Platform: Espressif 8266 (Arduino Core 2.4.0-rc2) :: Espressif ESP8266 ESP-12E

System: ESP8266 80MHz RAM/80KB Flash/4MB

Converting src.ino

Library Dependency Finder ->

Modes: Finder/chain Compatibility/light

Collected 28 compatible libraries

Scanning dependencies...

Dependency Graph

|-- <PubSubClient> v2.6

|-- <ESP Async WebServer> v1.1.1

| |-- <ESPAsyncTCP> v1.1.3

| | |-- <ESP8266WiFi> v1.0

| |-- <ESP8266WiFi> v1.0

| |-- <Hash> v1.0

|-- <EEPROM> v1.0

|-- <DNSServer> v1.1.0

| |-- <ESP8266WiFi> v1.0

|-- <ESP8266HTTPClient> v1.1

| |-- <ESP8266WiFi> v1.0

|-- <Hash> v1.0

|-- <ESP8266WiFi> v1.0

|-- <ESPAsyncTCP> v1.1.3

| |-- <ESP8266WiFi> v1.0

|-- <ArduinoOTA> v1.0

| |-- <ESP8266WiFi> v1.0

| |-- <ESP8266mDNS>

| | |-- <ESP8266WiFi> v1.0

|-- <ESP8266mDNS>

| |-- <ESP8266WiFi> v1.0

java version "1.8.0_152"

Java(TM) SE Runtime Environment (build 1.8.0_152-b16)

Java HotSpot(TM) Client VM (build 25.152-b16, mixed mode, sharing)

Requirement already satisfied: closure in c:\users\kue0010\.platformio\penv\lib\site-packages

Requirement already satisfied: yuicompressor in c:\users\kue0010\.platformio\penv\lib\site-packages

Compiling .pioenvs\openevse\src\src.ino.o

Calculating size .pioenvs\openevse\firmware.elf

text data bss dec hex filename

690300 12868 31888 735056 b3750 .pioenvs\openevse\firmware.elf

 [SUCCESS] Took 17.44 seconds



Environment openevse [SUCCESS]

Environment openevse_slow [SKIP]

Environment openevse_ota [SKIP]

Environment openevse_dev [SKIP]

Environment openevse_staging [SKIP]

Environment openevse_staging_libs [SKIP]

 [SUCCESS] Took 17.44 seconds

Same as this. Do you get 9 warnings when you compile?  Does you compile log look like mine? Can you post your build log?   

Second question, what is the best way to disconnect the WiFi once it is connected to a local SSID assuming that I have no control over the access point to which it connects (I cannot  just "turn off the router")



My GoTo for programing the Huzzah ESP8266 Breakout over the wire is this

Set the data interface jumper to 5V and use the 5V power supply on the FTDI to power the Huzzah.  Do not worry about it being 5V and not 3.3V on both data and power.  This board is designed to expect that.  This is only true for the supply and the serial port on the edge of the Huzzah board.  All other I/O  (GPIO) is strictly 3.3V.  So read the linked info carefully.  

Also, note that the FTDI jumper does not change the Vcc Supply pin on the FTDI board to 3.3V it is ALWAYS 5V.  The jumper only changes the Tx and Rx data levels. (and likely also CTS and DTR).  If you need a 3.3V supply, add an incremental pin to the 3.3V pin solder point on the FTDI board.

This is a very versatile programming solution and works with esptool and avrdude.

You will also need these

Thank you for the recommendation.


I am guessing I need a seperate programmer for the wifi module? It doesn't appear that the open evse one will work, different connectors.

@Keith Thomas.  Short answer is yes, they are different. However, you can usually just program the WiFi board from the web page that it broadcasts.

Unfortunately, mine is a very old v1 one of the first they sold.

Login or Signup to post a comment