Help Updating Firmware 2.9 via Arduino IDE


I am trying to update my emontx 3 firmware to 2.9 via Arduino IDE. However I only get to the “’+++’ then [Enter] for RF config mode” part. Seems to me rf12_initialize() doesn’t end so +++ can’t be received.

Please help!


Which emonTx V3 do you have? V3.2 or V3.4?

If you say rf12_initialize() doesn’t end, it may be that you have a V3.2 with an RFM12B, not the RFM69CW that the sketch is expecting. See line 71 in the sketch:
#define RF69_COMPAT 1 // Set to 1 if using RFM69CW or 0 if using RFM12B

Hey Robert!
Thanks for your quick reply!
So I took a look at the bottom of the PCB. It is labeled with v3.2.1, 868MHz is marked as well as Node 10.

Before I tried uploading it the fist time I checked the defines in the Code and made sure it was set to:

#define emonTxV3                                                                          // Tell emonLib this is the emonTx V3 - don't read Vcc assume Vcc = 3.3V as is always the case on emonTx V3 eliminates bandgap error and need for calibration
#define RF69_COMPAT 0                                                              // Set to 1 if using RFM69CW or 0 if using RFM12B
#include <JeeLib.h>                                                                      // - Tested with JeeLib 3/11/14
//-----------------------RFM12B / RFM69CW SETTINGS----------------------------------------------------------------------------------------------------
byte RF_freq=RF12_868MHZ;                                           // Frequency of RF69CW module can be RF12_433MHZ, RF12_868MHZ or RF12_915MHZ. You should use the one matching the module you have.
byte nodeID = 10;                                                    // emonTx RFM12B node ID
int networkGroup = 210;
boolean RF_STATUS = 1;                                              // Enable RF#

The last time I played with JeeNodes was back in 2013/2014 do I maybe need to have a certain version of their library?

Sorry - I’ve got a thick cold, and wasn’t thinking properly. Here’s your 1st problem:

You have the RFμ328 processor, which means you need
#include <RFu_JeeLib.h>``

The DIP switches code will do nothing, and should be removed (you don’t have the switches).
Also, the pulse input has moved: On yours it is DIO 2 & IRQ 0 (from DIO 3 & IRQ 1 in V2.9 sketch) and the battery monitor on AIO 7 isn’t there on yours, so the code for that too can come out.

It seems to work for me with those changes, so I think that should get you going.

Hi Robert,

Thank you so much! Now I get values from the emontx via serial. No it is only a matter to send them and receive them in Openhab . I am trying to send the data from the RF to UDP and then into Openhab.