Emonpi auto reflash

From lechacal
Jump to navigation Jump to search

If you have installed the Emonpi image on your Raspberrypi and have connected the RPICT card on it then there are big chances the RPICT firmware has been wiped out.

Identifying the problem

To confirm this is the case install the lcl-show-header.py utility with the commands below.

wget lechacal.com/RPICT/tools/lcl-show-header.py.zip
unzip lcl-show-header.py.zip
sudo mv lcl-show-header.py /usr/local/bin/

Then run it with


If the RPICT firmware has been modified the following message will be displayed.

Reflash factory firmware

To fix this you will have to restore the original firmware.

First thing is to stop the emonhub process.

sudo systemctl stop emonhub

Then download the latest firmware

wget http://lechacal.com/RPICT/sketch/RPICT_MCP3208_v3.2.0.ino.hex

then upload it to the RPICT

avrdude -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:RPICT_MCP3208_v3.2.0.ino.hex

Restore the configuration

Now the factory configuration must be restored. You should have received a four letter code with the RPICT card. We will assume TKPJ in the example below. Replace TKPJ with appropriate.

Get the configuration:

wget lechacal.com/hardware/c/TKPJ.conf

Write it

lcl-rpict-config.py -a -w TKPJ.conf

At that point the RPICT card will be fully restored.

If you intend to keep using the Emonpi image and prevent the reflash from happening.

The right way to do this is still unknown to us. However we do have a solution that works for now. Let us know if you know a better solution.

Open the following file:

sudo nano /etc/rc.local

Then change line number 21 by adding a # in front to comment it like below.

#su pi -c '/opt/openenergymonitor/EmonScripts/update/firstbootupdate'