If you have an ESP32 with a USB connection, then you can use NodeMCU etc. But not everyone has that slightly more expensive style of ESP32 module, which is why some people say, "this is so easy, it doesn't even require instructions" and others have had to jump through many hoops and outdated instructions that do not apply to our hardware.
That is why this thread contains at least two different ways to update firmware.
To further confuse: there are two different modules in every OpenEVSE:
The Controller
The ESP32/Wi-Fi
Each have their own separate firmware to be updated. Updating the ESP32 can be relatively straightforward; updating the Controller' firmware is not. And, if you update the ESP32 without updating the Controller's firmware as well, some of the firmware mis-matches will trigger other issues, depending on the age of the unit you're working with. And, the hardware interfaces of the two modules are different, requiring separate tools and toolchains:
Controller: USB AVRISP hardware, and avrdude software
ESP32: USB to TTL hardware, and esptool software
(or, with the USB-equipped version of the ESP32: NodeMCU (etc.))
I've hit all of these problems over the years with my 2017-era OpenEVSE (now upgraded from ESP2866->ESP32). Regardless of how old your hardware or firmware is, the recipe I posted should handle all of these issues for all versions and revisions.
[quote]
With the software NodeMCU-PyFlasher and NodeMCU-PyFlasher the openevse_huzzah32.bin is installed
flash and done?
[/quote]
Hi Javier
Thank you for the advice regarding the Wroom 32 board.
I have just bought a Nodemcu-32S and trying to set up the platformio to compile the code but struggling with an <Arduino.h> not found error. It's just driving me crazy. Do you have any idea where shall I dig into?
Many thanks,
George
Hi Javier,
I was able to compile the code at the end so I have the latest firmware and it works with my Nodemcu-32S board.
Now I'm hunting components to build the hardware. Most of components I have already, but the current transformers (CR8420-1000-G and CR8450-1000) I'm not able to find anywhere.
Thank you for your help!
glad you managed to program the board
can't you buy the current transformers from USA?
I know is not ideal, but at least you know they work!
Javier
What version of the wifi are you trying to use?
As far as I know you can only use the Node MCU board with version 2.x
In which case is better you use a precompiled file
If you want to use version 4.x upwards you will need to use the new boards
I found the procedure to program the modemcu on this youtube video:
https://www.youtube.com/watch?v=p6vUb3gqjHM&t=1165s
It also contains the location and instructions on how to program it ( its in spanish, but is very easy to follow
Good luck!
Hi,
There is support for Nodemcu-32S in platformia.ini file. The problem is not the Nodemcu-32S itself, I cannot compile the code even with default configuration for the standard openevse_wifi_v1.
There is no precompiled binary for Nodemcu-32S, are you able to make one?
I will take a look on the video, thank you for that.
The exact board is NodeMCU-32S ESP32 Development Board. You can find it in platformio.ini as the first env registry:
[env:openevse_nodemcu-32s]
Thank you for your help!
I have managed to compile the code
All I did was (on platformio): Import Arduino Project - Select Board ( NodeMCU-32S), then the location where I saved the (unzipped) files, then click Import at the bottom
Afterwards I click on the "Build" tickbox at the bottom
I'm not sure if this is the right way of doing it- normally I create a new project then I add all the bits, but this time I did it this way
Here are the compiled files( not sure which one you need, though:
https://www.mediafire.com/folder/mxuon5qisbfx3/nodemcu-32+code
Let me know if this helped
Hi Javier,
I have successfully flashed the firmware. The guide says that it should broadcast a WiFi access point (AP) OpenEVSE_XXXX
at first boot but it does not. I tried to load the openevse_wifi_v1.bin and the openevse_huzzah32.bin, same result. When loading the WiFiAccessPoint example skatch from Arduino IDE the new WiFi network is created. Should the WiFi module be connected to the EVSE board to be able to broadcast the SSID?
I've opened the serial console and found the following coming continuously:
10:42:47.081
10:42:47.081 rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
10:42:47.125 invalid header: 0xffffffff
10:42:47.168 invalid header: 0xffffffff
10:42:47.214 invalid header: 0xffffffff
10:42:47.258 invalid header: 0xffffffff
10:42:47.302 invalid header: 0xffffffff
10:42:47.347 invalid header: 0xffffffff
10:42:47.394 invalid header: 0xffffffff
10:42:47.435 invalid header: 0xffffffff
10:42:47.478 ets Jul 29 2019 12:21:46
10:42:47.478
10:42:47.478 rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
10:42:47.523 invalid header: 0xffffffff
10:42:47.568 invalid header: 0xffffffff
10:42:47.612 invalid header: 0xffffffff
10:42:47.664 invalid header: 0xffffffff
10:42:47.701 invalid header: 0xffffffff
10:42:47.745 invalid header: 0xffffffff
10:42:47.789 invalid header: 0xffffffff
10:42:47.834 invalid header: 0xffffffff
10:42:47.878 ets Jul 29 2019 12:21:46
It looks like the board is not able to boot.
Javier Mitchell
Hi
Just received my openevse 5.5 board
However, upon checking some of the options it seems some are missing
My version is 7.1.3, but the latest is 8.2.0.
I bit dissapointed that I did not received a module with the last release
Looking at the upgrade instructions, and they don't seem to have been updated
https://openevse.dozuki.com/Guide/How+to+Load+OpenEVSE+Firmware+(WinAVR)/7
On one of the last steps, it mention yo need 3 files; flash.bat, open_evse.hex and eeprom_24.bin
However, on the repository for the last release ( 8.2.0) there are a couple of hex files ( I assume I should use openevse.hex), there is no bin o flash.bat files
What am I missing?
should just run the command to flash the hex file as per the Readme file:
`$ avrdude -p atmega328p -B6 -c usbasp -P usb -e -U flash:w:firmware.hex`
Any help appreciated