OpenEVSE has not officially tested 8.2.0 yet. We ship with the latest fully tested release, which is 7.1.3.
flash.bat just automates the commands:
Required only the first programming
avrdude -c USBasp -p m328p -U lfuse:w:0xFF:m -U hfuse:w:0xDF:m -U efuse:w:0x05:m
avrdude -c USBasp -p m328p -U flash:w:open_evse.hex
The EEPROM loads the factory default settings (not required).
Thanks for your response
I thought 8.2.0 was a stable ( tested) version
I am after support for OCPP, and - apparently- is supported on ver 8.2.0
Is there any other version that has OCPP support?
OCPP is part of the WiFi firmware not the OpenEVSE safety controller.
If you want the latest OCPP build, here is a development release. You can update the WiFi firmware over the air.
I am using a Wemos D1 mini, ( esp-12f) so I assume I will need the NodeMCU file
However, I'm strugging to get the precompiled code:
I go to :
Then select on the right the last release ( V4.1.2 ) link
However, I can only see the two Huzzah boards and the openevse wifi v1 boards
Can you point em in the right direction?
I'm struggling to get the precompiled file for my Wemos D1 mini ( esp-12f) - I assume is a NodeMCU code
On the link there seems to be no support for this board
Then I realizedI must be using the old WiFi V2.x ESP8266 version ( in my case V2.9.1)
Can I still upgrade over the air or will I need to compile the source code and program it via usb?
flash.bat just automates the commands:
avrdude -c USBasp -p m328p -U flash:w:open_evse.hex
While flash.bat references open_evse.hex, both 7.1.6 & 8.2.0 don't have that file; it's been renamed openevse.hex . So, flash.bat (and your example above) won't work.
The guide at https://openevse.dozuki.com/Guide/How+to+Load+OpenEVSE+Firmware+(WinAVR)/7 is in desperate need of updating. I included a comment to that guide with this information, but it's buried behind a "Load more comments" wall and is unlikely to be seen.
"The EEPROM loads the factory default settings (not required)."
So, this line in the flash.bat from 7.1.3 isn't needed?
avrdude -V -c USBasp -p m328p -U eeprom:w:eeprom_24.bin
Or, it's only needed on a fresh/blank install?
Again, as eeprom_24.bin is referenced in the guide, and in the only flash.bat easily found, the guide is in desperate need up updating.
Versions 3.x and 4.x of the WiFi require ESP32 based modules. The ESP8266 is no longer supported.
You are correct, the guide should be updated.
For an upgrade this is the ONLY command you need...
avrdude -c USBasp -p m328p -U flash:w:file_name_of the_firmware.hex
The eeprom_24.bin command is not required, to forces the settings saved to eeprom to be overwritten back to factory defaults. Most users should keep their own settings.
Fuse bits only need to be set once on a virgin chip.
I have managed to program the board following the instructions, so kudos for your help
As per my previous comments I wanted to use OCPP, so it seems I either need your wifi board - which is currently out of stock, or program a huzzah board ( so options are quite limited)
Should I use a tool like modemcu flasher and use the published openevse_huzzah32.bin file?
I tried to see if I could compile the source code ( I have a little experience with Arduino IDE), but it seems I can only use PlatformIO, so it seems too complicated - at least for me!
just found out how to install teh firmware:
You just need a "standard Wroom-32 board " and flash the last openevse_wifi_v1.bin binary
In my case I use PlaformIO to flash the source files
just leave the platformio.ini file with:
default_envs = openevse_wifi_v1
Compile the code and flash using CSCode to the board, and works like a charm!
In order to use a Wi-Fi board that is not supplied by OpenEVSE, you'll need at least two pieces of hardware (the Wi-Fi board and a programming tool), the flashing software esptool, and three files (firmware, plus one-time prep code/information).
1) Wi-Fi board: I bought the Huzzah 32 board , $14 (around $22 for me, shipped). It comes with header pin strips: cut off a five-pin section, solder it the the end of the board labeled "TX" through "GND", and you're done: that's all the hardware prep needed. You do not need to install any other header pins, the OpenEVSE doesn't use them.
2) Programming tool: I bought three different ones, but only one from eBay , $8, worked without issue. You'll need to fiddle with your OS to get the programmer's driver (often FTDI-based) to work correctly; I've found it was more difficult with Windows than with Ubuntu, but YMMV. These units often come with minimal instructions, but thousands of people have used them before and common problems and fixes are available via an internet search. If I figured it out, you can, too.
Pay attention to how you connect the leads to the board's pins! Do not trust wire colors! And, RX on the programmer connects to TX on the Wi-Fi board; TX on the programmer connects to RX on the Wi-Fi board.
If this looks too scary already, it's best that you stop here and wait for the PnP (sometimes) OpenEVSE Wi-Fi board to become available again. My experience with OpenEVSE parts and upgrades is that they'll sometimes fit OK, but there are so many different versions and revisions of OpenEVSE units that it's hit-n-miss whether the connectors or lead lengths of the part you order are appropriate for the vintage of OpenEVSE you're trying to fix or mod.
Install the esptool version that works with your OS.
Obtain these files (from here):
esptool --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 openevse_huzzah32.bin
If you ever needed to hardware program this same board again, you wouldn't need to flash all three files (two of which are only needed to initialize), but it also won't hurt anything to use the same commandline over and over.
After, this is what the OpenEVSE's UI showed me:
Be aware that you'll want to have the OpenEVSE's controller firmware at at least 7.1.2 to work correctly with any of the Wi-Fi's firmware >3.3.2 (ie any in the 4.x series). You can see from above that I'd updated my controller's firmware prior to updating my Wi-Fi's firmware.
Updating the controller requires a completely different hardware programming tool (USB AVRISP or similar), different programming software (avrdude), and either an external power supply or programming with the mains power applied and appropriate care. In other words, it's a similar process but with completely different tools. And, while the Wi-Fi board's firmware can subsequently be updated OTA via the Web UI (or other means), to date the controller's firmware can only be updated via the hardware programming route.
This was not at all clear to me when I was looking for an answer to the question, "How do I update the firmware in my OpenEVSEs?"
(more notes of mine, in a less-coherent and more rambling format, are here.)
Thanks for your comphensive reply
I think my method was way far easier than yours:
just buy the wroom 32 board and you won't need a FTDI adapter as it comes with a micro usb connector
Compile the source code with platformio- making sure you use the defaults : platformio.ini file with: ndefault_envs = openevse_wifi_v1
Once compiled, just flash the code with a regular micro usb cable and you are done!
It seems the open-wifi v1 board is just a regular wroom-32 board with the openevse connector
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?
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:
It also contains the location and instructions on how to program it ( its in spanish, but is very easy to follow
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.
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
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