emonTx / emonTH configure RF settings via serial (released FW: V2.6 / V3.2)

emonTx V3 firmware now allows the RF settings (nodeID, freq, group) to be configured via serial. Settings are saved to EEPROM and persistent between power cycles.

Update: these changes have now been released FW V:2.6+

Enter ‘+++’ then [Enter] during the POST (Power-On Self-Test) 10s delay during startup to enter config:

Note: Ensure serial monitor is set to NL/CR and the Baud Rate set to 115200*. Arduino IDE serial monitor may need to be restarted after changing the line ending selection.

*115200 is the baud rate used most often by current OpenEnergyMonitor units: emonTH, emonTx, etc. If you see strange characters appear on the serial monitor, the first thing to try is to use a different baud rate.

emonTx V3.4 Discrete Sampling V2.60
OpenEnergyMonitor.org
 
No EEPROM config
RFM69CW Node: 8 Freq: 433Mhz Group: 210
 
POST.....wait 10s
'+++' then [Enter] for RF config mode
Entering config mode...

Available commands:
  <nn> i     - set node IDs (standard node ids are 1..30)
  <n> b      - set MHz band (4 = 433, 8 = 868, 9 = 915)
  <nnn> g    - set network group (RFM12 only allows 212, 0 = any)
  s          - save config to EEPROM
  v          - Show firmware version
[emonTx FW: V2.60]  i8 g210 @ 433 MHz USA 0 
i12 g210 @ 433 MHz USA 0 
Saving...
Done. New config saved to EEPROM
  i12 g210 @ 433 MHz USA 0 
  • Enter new config, e.g to set node ID of 12 enter 12i
  • Save to EEPROM by entering s

On next reset the new config will be loaded from EEPROM >

emonTx V3.4 Discrete Sampling V2.60
OpenEnergyMonitor.org
 
Loaded EEPROM RF config >
RFM69CW Node: 12 Freq: 433Mhz Group: 210
 
POST.....wait 10s
'+++' then [Enter] for RF config mode
CT 1 Cal 90.90
CT 2 Cal 90.90
CT 3 Cal 90.90
CT 4 Cal 16.67
RMS Voltage on AC-AC  is: ~1V
AC-AC NOT detected - Apparent Pwr measure enabled
Assuming VRMS: 230V
Assuming power from batt / 5V USB - power save enabled
NO CT's detected
No temperature sensor
CT1 CT2 CT3 CT4 VRMS/BATT PULSE 
ct1:18774,ct2:0,ct3:0,ct4:0,vrms:511,pulse:0
ct1:3701,ct2:0,ct3:0,ct4:0,vrms:508,pulse:0

Screen cast demo:

See emonTx V3 repo: GitHub - openenergymonitor/emontx3: EmonTx V3.4.x Hardware and older discreet firmware, see EmonTxV3CM repo for latest

1 Like

Update: After success on the emonTx V3 the Serial RF node ID config feature is now available in the latest emonTH V2 firmware (V3.2+).

Note: For the EmonTH ´Baud Rate’ needs to be set to 115200

@glyn.hudson - could I ask , what do Groups achieve? If two EmonTHs have the same NodeID but are in different groups, will an emonPi ignore the signal from the EmonTH not in its group? (how do I set that up on the emonPi??)

Any help appreciated.

yes that’s correct, you can set the emonpi group in emonhub.conf: Setup > EmonHub > Edit config then change

group = 210

to the group from which you want to receive, if its just 210 there’s no need to change anything…

Adding a little to Trystan’s reply:

… but the two groups still share the same radio band, so must still obey the rules about channel occupancy, because one transmitter in one group will block all the others in both groups while it’s transmitting.

I have now received my serial programmer from the shop and found this thread to add an additional emonTX unit to the emonbase. I have downloaded the Arduino IDE and FTDI drivers etc.

How do I enter serial mode as in the video above. Really new to the arduino stuff and cant work it out as scared to wreak havoc on my EmoNTX.

I don’t watch videos, so I don’t know what you’re referring to.

Plug the programmer into the emonTx (See the new pages in ‘Learn’ and get it the right way up) and into your computer. As you plug it in, it will power up (there’s no need for the a.c adapter or the c.t’s, but don’t unplug the c.t.'s if they’re on a live current-carrying circuit).

If you select “Serial Monitor” view in the IDE (the magnifying glass top right in the dark blue banner), you should see this:

emonTx V3.4 EmonLibCM Continuous Monitoring V1.90
OpenEnergyMonitor.org
No EEPROM config
Settings:
Group 210, Node 15, Band 433 MHz

Calibration:
vCal = 268.97
i1Cal = 90.90
i1Lead = 4.20
i2Cal = 90.90
i2Lead = 4.20
i3Cal = 90.90
i3Lead = 4.20
i4Cal = 16.67
i4Lead = 6.00
datalog = 9.96
pulses = 1
pulse period = 100
temp_enable = 1
Temperature Sensors found = 0 of 1
Temperature measurement is NOT enabled.

RF whitened
RFM69CW only Node: 15 Freq: 433MHz Group: 210
 
POST.....wait 10s
'+++' then [Enter] for config mode

You have 10 s to type +++ in the white box across the top, and hit the Enter key. If you miss or aren’t quick enough, close the serial monitor and open it again - that restarts your emonTx.

When you do that, you’ll get a menu. Note there’s an escape route: r will reset it to the factory (the sketch’s) default.
If you x exit config mode but don’t s save the changes, it will use the new settings until you restart it, when it will revert to what you had before.

Thanks @Robert.Wall , I dont see the code you have posted, but rather gobbeldy-gook as in the image below:

Try a different baud rate - probably 115200. What you are seeing is absolutely typical of that.

Ahh, thats worked! Thanks. Dont know why I didnt just play around with the baud rate!

Experience? :grinning:

Yip, all part and parcel of it suppose!!!

It is also not documented very clearly. I’ll make a note to amend
+ Add Additional emonTx - Guide | OpenEnergyMonitor.

I’ve edited Glyn’s post to include the following information:

1 Like

I think the modern everything (bar the RFM69Pi), uses 115200 baud.