Re-flashing Firmware

Hi Community,
I bought a single-channel WiFi Relay from the site shop recently.
It came with V2088 firmware, which I suceesfully updated OTA to v3190: all well and good.
The docs tell me that if I want v3361 (the very latest), or to upload my own hacked versions, I need the “Full Flash” upload.
When I took the lid off, I was faced with a PCB that does not resemble the one in the picture.
Mine appears to have an unpopulated footprint for:

  • An RFM69 module, or something like it, where J6 used to be.
  • A 4-pin header where J5 used to be.

So my questions are:

  1. What do I need to short/jump/hold on this (newer?) PCB to upload firmware with the FTDI cable?
  2. If I do pluck up the courage to look at the source code:
    a) What tool chain, compiler, etc., do I need to install (on Ubuntu)?
    b) Are there instructions?
    c) “make” then “” suggests no IDE is involved, so what editors do people prefer?
  3. I’ve spotted a couple of “gotchas” in WiFi MQTT Control Relay Thermostat - Guide | OpenEnergyMonitor - how do I go about getting them patched up?


Hello @mdknightk

Just hold down the push button on the front and perform a power cycle by unplugging and plugging back in the USB cable for the programmer.

@Martin_Harizanov will be better able to help you with the standard firmware that’s included.

If you want to try our open source firmware called EmonESP feel free to do that too:
Use the master branch: GitHub - openenergymonitor/EmonESP: ESP8266 WIFI serial to emoncms link and set both of these lines to wifirelay before compilation: EmonESP/src.ino at master · openenergymonitor/EmonESP · GitHub

Happy to go into that more if you want to explore that route.

@TrystanLea thanks for the info.

Hold the reset button whilst powering up, in other words?
Do I need to keep holding it whilst the firmware loads?

A very quick glance at the emonESP code you linked suggests it can be wrangled through the Arduino IDE, which would be great!
I will have a more detailed look through this evening.

Thanks again,


OK, so I answered my own question: I need to hold the button for the whole upload period.
But it worked!
Thank you.

Another glance though EmonESP suggests it does not incorporate the thermostat functionality - is that correct?

Yes that is correct, the timer branch of EmonESP does however include relay control over MQTT if you wanted to control the relay externally such as from NodeRed or the emoncms demandshaper module.