OpenEnergyMonitor Community

Upgrading OpenEVSE / EmonEVSE Controller Firmware using ISP programmer

Tags: #<Tag:0x00007f68143ebba0>

I’d like to upgrade mine too but there doesn’t seem to exist a ‘Programming the OpenEVSE for Dummies’ documentation available anywhere.

I’m assuming I just need some (yet to be determined) software on my Linux or Win10 laptop, that board you highlighted and a USB cable to join the two, connect to a disconnected OpenEVSE, point the software to the firmware location and hit upload or something.

However, the wife won’t be pleased if I brick it and she can’t charge her beloved Zoe.

This article looks quite promising. Just the actual ISP programmer is something I’m wondering. If it’s not the one I linked earlier, will pretty much any programmer from eBay work, as long as it contains 6 pin connector for the OpenEVSE module?

The firmware looks like it’s for the EU. Is that firmware also available for the US?

A little old but is still the process I use.


1 Like

No, that’s a USB > UART programmer. This is an ISP programmer:

This is the correct guide to follow:

Avrdude on Linux is my preferred way, as documented in the readme:

avrdude -p atmega328p -c usbasp -P usb -e -U flash:w:firmware.hex

Pre compiled EU firmware for OpenEVSE and EmonEVSE can be downloaded from here:

1 Like

So only the openevse.hex file is required on Windows as well as Linux?

The flash.bat file referred to does some other stuff as well.

Anyway, I also have a laptop with Linux so will probably use that instead of Win 10.


Have successfully updated the firmware today now running 7.0.2EU
I use the as it performs both functions should I need the TTL side at some point.
The commands I used are all done on a Win10 PC from the command prompt

avrdude -c stk500v2 -P COM14 -p atmega328p -U eeprom:r:oldevse.hex:i

This makes a copy of the eeprom to file oldevse.hex


avrdude -c stk500v2 -P COM14 -p atmega328p -U flash:r:oldevse1.hex:i

This makes a copy of the flash to file oldevse1.hex

Then I flashed the new one in with
avrdude -c stk500v2 -P COM14 -p atmega328p -U flash:w:openevse.hex

After a power cycle and all is good :slight_smile:
Not 100% sure what all the changes were between V5 and V7 but I have them now.


OK, went to do this just now and find that the ISP1 connector on the board has six pins and the device I bought (the USBasp) has 10 pins on the cable.

I’ve no idea as to the orientation and/or which six are supposed to connect. Help!


this is the conversion


And this is the orientation on the board as mounted in the unit



So the cable that came with the USBasp unit (I bought the one linked above) can’t be used?

Sorry, no you would have to use individual cables. If you want an easy solution then buy the one I linked above as it comes with a 6 way cable and just plugs straight on. Or buy some individual wires and connect them as per the diagram I posted. I can confirm that with the above board and included cable it was very easy :slight_smile:


Does the board need to be powered up somehow or are the six pins connected enough?

I’ve connected to the unit with the front removed but no power obviously and I’m getting an invalid signature message back (0x000) when using avrdude.


I did mine with the power on as the programmer can provide power but you have to play about with the config to tell it to do that and I did not feel I wanted to bother doing that. Just do not touch the mains connectors :slight_smile:


1 Like

Bought a 10 pin to 6 pin adapter and finally completed the task today.

I did it carefully with the unit still powered on and all went fine.

Thanks for all that helped.

Glad you sorted it, the next one will be easier :slight_smile: