Sonoff RF Bridge

I JUST received my neat little Sonoff RF Bridge. <<Quicky – as I’m here – happy new year to all my subscribers – ESPECIALLY those who provide feedback, ask questions and provide tips – thank you all >>.

It took all of 30 seconds for the brand new (and surprisingly small and neat) unit to connect to Sonoff’s EweLink app and then a few seconds more to upgrade the firmware. How easy was THAT. The only info I gave it was my WiFi username and passwork – and when it came up with a rubbish name I hit EDIT and called the unit BRIDGE. That’s it.

The sofware revision immediately went from 2.7.0 to 3.3.0 – mind you, that didn’t last long. Well, what did you expect? I hack things.

As soon as I got used to the RFBridge I put Tasmota on it. Firstly the latest release 8.0 then the latest DEV update

Sonoff RFBridge

This will be ongoing – I needed this device as I want to be able to add the odd 433Mhz device to my home control – and monitoring smoke alarms etc on my mobile when I’m over in Spain is a must. I’m wondering if I’ll need two of these, as, from my home to the home office comprises several inches of solid stone wall… I don’t suppose there have been any miracles in RF technology recently.

Anyway as you might imagine I very quickly tired of the standard software and went off here for Tasmota. Flashing the ESP side of the RF Bridge takes no time with the latest release of Tasmota. I used my normal 3v3 FTDI – and hence did not need any mods on my “Board R2 V1.0” Bridge. As you might expect to flash Tasmota onto the Bridge.

I had to hold the one and only button on the board while powering up the FTDI (that’s after setting the onboard switch to OFF). I flashed the software, cycled the power, set the onboard switch back to ON and that was Tasmota up and running. I tried loading the config at the same time but messed up my WIFI password. NO matter the board came up with it’s own local web server and so using my phone I connected to that – and then put in my WIFI credentials – and gave the board a name “bridge”. From there the board appeared on my network. Using the address (in my PC browser) I filled in the MQTT details and friendly name “bridge” and tried an experiment in MQTT that worked. With a topic of tele/bridge/RESULT the board, on getting an RF signal from my handy Itead 8-key remote, returned:

tele/bridge/RESULT : msg.payload : string[109]”{“Time”:”2019-12-30T23:39:38″,”RfReceived”:{“Sync”:7330,”Low”:250,”High”:730,”Data”:”1FCD68″,”RfKey”:”None”}}”

At this point I’m still learning but that “data” reliably returns a value for each of the keys on the iTEAD remote and a fire alarm I’d grabbed as it claimed to be RF Bridge compatible ALSO returned a reliable result. As I unerstand it there are severe limits as to how far one could expand this using the iTead RF software so my next job will be to grab the (also) free “Portisch” firmware and add that to the mix. This apparently will greatly extend the number of devices the Bridge will talk to and also allow the bridge to SEND commands itself. More on that later.

Ok, I’ve hit one limit – according to Dr ZZs I shoul be able to spot loads of remotes (check out his video – very helpful) but I have a couple of Byron SX35 433Mhz pushbuttons (actually I have about 100) – and out of them… absolutely nothing.


39 thoughts on “Sonoff RF Bridge

  1. Great little device!
    You can handle many different signal standards by making a small modification on the board and using the dedicated Espurna firmware.

    I actually thought I would need 3 of these for the whole house, but ended up using just 1 and reliability is great!

  2. needs to be hacked, stock firmware is bound to ewelink, i think i did not even turned it one once before hacking, and i did the “direct hack” (which bypasses the internal rf firmware and uses the rcswitch one, included in the DIRECT bin file) with espurna, all needed info here:—Direct-Hack
    (this is what i use, this is the only one i tested)

    otherwise, there’s of course tasmota + the PORTISH rf firmware:

    both firmwares give their best when you hack the device the hardware way…

    lots of info on the net, every question has an answer in previous links or next videos:

    you can even add infrared support:

  3. I have one of the R1 version of the bridge 433. Can this detect any 433MHz? I have a bunch of weather station stuff that runs on 433Mhz and I’d love the monitor it. I guess easy way to find out is to load up the firmware and give it a go.

    1. the rf bridge IS for rf433, but if you want to monitor weather stations and other stuff like that, you need to decode THEIR specific protocols… in this case, it’s better going to RFlink (which Peter described VERY WELL various times here on his blog), or to RTL-SDR devices, newer and with active development these days (and opensource, too)…

      an intro video about the latter, but remember that you can search the net and LOTS of devices are already decoded by RTL_433 sw:

      p.s.: you can test this on windows, too, binary are on , and usb dongles cost about 10€ (search usual sites for “RTL2832 DVB”)

  4. Hi, I’ve ordered one and was looking into flashing OpenMQTTgateway.
    How would Tasmota for RFbridge compare with “OMG”?

    1. don’t know, but as it’s easy to go from one to the other, just test them 🙂
      the hardware hack should be compatible between espurna and tasmota, look at my previous links for more info or just ask on tasmota official discord channel

      at the time i didn’t know OMG, and tasmota was at early stages with rf bridge (the hardware hack was AFAIK invented by Espurna author, for example: ), so i went with espurna which worked and works very well, till now… i’ll test tasmota, though, too

  5. I’m using a bridge to control Energenie 433mhz power plugs and to also receive info from various push switches and door sensors (Thanks to Big Clive and Dr Zzzs).

    I could never get the PORTISH firmware to pickup anything extra.

    I also use an “emonBase” from OpenEnergyMonitor to receive data from some “TinyTX3” devices.

    And finally to pickup data from other devices such as Weather stations I use an RTL-SDR Dongle (thanks to Andreas Spiess)

    1. Paul,

      I would appreciate your opinion on using 433mhz and the bridge as the main receiver for door and window sensors for a security system.



      1. I used the door sensors recommended by Dr Zzzs. They offer a different message when the sensor is opened and closed. The Sonoff sensors only offer one signal, so you don’t actualy know if the sensor is open or closed – just that it changed.

        However, I’ve had loads of issues with the reed switch in the sensor. Sometimes it doesn’t reopen when the magnet is removed. I’ve bought some more reed switches to try hacking them.
        I’v now bought a few xiaomi Zigbee door sensors and they seem to be far more reliable. Also seem to be less hack resistant.

    1. i use some of those cheap 3 buttons flat 433 transmitters to add “physical” presence to some of my wifi devices, when i don’t want to trigger them via voice or their own buttons… for now i’m using espurna+nodered+mqtt, but i plan to move to tasmota just for the rules engine, so i can have all the code local on the rf bridge, triggering the sonoffs via web url, no mqtt at all, faster response…

      mine are similar to these:

  6. I have two original, which one I loaded Tasmota over a year ago. Maybe two years ago. Nothing work with it. Any ideas how to get them working say to control a temperature sensor or garage door? Happy New Year Peter, Mr Sharky and everone else.

    1. a temperature sensor usually is read, not controlled… a garage door (relay), as far as it’s 433mhz… flash with latest tasmota, or espurna, your choice… i think tasmota is more powerful, but espurna on this specific device has a very nice web interface to learn rf codes, no console or mqtt needed… both are just a serial flash away 🙂

  7. I have uploaded tasmota to mine and it works well with wireless magnetic sensors, 433mHz doorbell and wireless PIR sensors. My favourite is my external letterbox where I have used wireless magnetic contacts to send an open and then closed signal (the sonoff magnetic sensors give the same signal for both ‘open’ and ‘close’ situations but you can get others that give different codes that the rfbridge can detect. Happy to send you a link. Tasmota rules are used to detect the difference. Not sure about thick stone wall but my system operates well over 25 meters and through brick walls.

    1. Maybe it’s time to look at this device again. Thank you guys. Hope you are all having a wonderful New Year. Now back to watching the weather for me. I live in Victoria Australia. No fires my way yet, but we had a fire last week and they have not catcher the fire bug yet.

  8. Flashed portish firmware on rf bridge (and tasmota, of course), I can receive and send the same codes I used with espurna on it… But now I’ve rules! 😀

    I want to use a 3 button rf remote to power toggle 3 tasmota sonoffs, possibly by recalling http urls via rules, for faster response, no mqtt for this task… so i added this rule to the RF bridge:

    rule1 on RfReceived#Data=86CE92 do websend [] power1 toggle endon on RfReceived#Data=86CE94 do websend [] power2 toggle endon

    and enabled it with “rule1 1”

    and i can now power toggle my bed light (device 105) with 1st button and my stereo speakers (second relay out of 4 of device 114) with the 3rd one, directly calling via http other sonoffs using the “websend” command to their ip addresses, no mqtt, it’s SUPER fast!

    now i’ve physical buttons for wifi, hidden, sonoffs 🙂 NO raspberry or other controller or software needed 🙂

  9. 👍
    I’ve received my rf bridge 2 days ago as well as a sonoff 8 buttons remote. Not yet been with Portis.
    I’ve also tried this direct connection and I love it.
    I’m must say I’m not a big fan of MQTT. I prefer webhooks and REST API.
    Now that computer dependency is dropped only remains wifi dependency. A Tasmota-like framework with zigbee or zwave would be great.

  10. use case: I’ve a single (rolling code) dual button rf remote to turn on a flood light on my porch, and open the gate on my car parking slot, i want to give other standard (NON rolling code) rf433 remotes to collegues that from time to time come to take me from home, so they can open the gate by themselves, or open it via wifi via tasmota web gui or mqtt… to do this, i’ll solder the COM+NO contacts of a 2 relay wifi board to each of the 2 actual physical buttons of the only remote i have, leaving that remote at home with a proper 12v power supply to power the remote itself and stepping down to 5v for the wifi module, all enclosed and hidden… i know the security implications: i’m practically connecting a less secure (hackable) rf remote to a more secure (rolling code) one, but i live in a multiproperty with surveillance, no harm for me 🙂

    board: LCTECH Relay X2 + ESP01S module
    rf sensor: RXB6 433MHz SuperHeterodyne
    firmware: latest tasmota-sensors.bin
    connections (board-sensor): GND-GND, 5V-5V, RX-DATA
    solder a 433MHz helicoidal antenna to ANT pin on sensor
    GPIO: GPIO0: 21 Relay1, GPIO2: 22 Relay2, GPIO3: 106 RFrecv
    on rule2, change the DATA codes to your remote specific ones (check in tasmota console for them). You can add multiple rf codes for each “power” action, so you can use multiple rf remotes… in my rule2 example, i configured 2 different remotes, so 2 codes for power1 and 2 codes for power2… rule1 sets the specific serial commands used by this LCTECH board, rule2 just triggers the power actions of the 1st rule, and the pulsetime 10 on each relay simulates a human pressing a button for 1 second

    config (paste these in tasmota console from its web gui):

    backlog module 18; gpio0 21; gpio2 22; gpio3 106; seriallog 0
    Rule1 on System#Boot do Backlog Baudrate 115200; SerialSend5 0 endon on Power1#State=1 do SerialSend5 A00101A2 endon on Power1#State=0 do SerialSend5 A00100A1 endon on Power2#State=1 do SerialSend5 A00201A3 endon on Power2#State=0 do SerialSend5 A00200A2 endon
    Rule2 on RfReceived#Data=0x111511 do power1 on endon on RfReceived#Data=0x111514 do power2 on endon on RfReceived#Data=0x775D03 do power1 on endon on RfReceived#Data=0x775D0C do power2 on endon
    backlog rule1 1; rule2 1; pulsetime1 10; pulsetime2 10

    1. that’s how that module works, relays are not directly connected to gpios, but to a second mcu to which the esp talks via serial (check the dual relay model):—dual-relay-note-older-versions-of-this-board-used-a-baud-rate-of-9600-so-if-115200-doesnt-work-try-9600

      as it just SENDS serial out, i recycled the RX pin to connect the RF module 😀

      if you want to use the 1 relay model (i used it last weekend to remotely trigger the open gate button in my video ringbell), here’s an easier HW hack (otherwise relay will flicker on reboot…), just a single 10K resistor soldered as in image… i asked for an update to the above article, still it’s not being added…

      1. Ok, GPIOs 0 and 2 are not really used (left unconnected) but only provide pseudo relays to tasmota. And rule 1 send the command to the 2nd MCU when those pseudo-relays are triggered. Quite weird 😨🤣. While I could understand this as a way to manage more than 4 relays, you have up to 4 GPIOs available on a ESP01S that you can use to directly drive relays (as on your single relay module).
        I’m using basic 2CH relay board without CPU ( and drive the relay directly from ESP01 GPIOs (strapping the stupid optocoupler not designed for 3V3 and driving directly the base of the driver transistor).
        A nice addition to Tasmota could be the support of I2C IO expanders (PCF8574/75 or MCP23008/16) to expand relay & button capabilities.

        No sure to understand your hardware hack on the 1 relay module. I see :
        – a 10K Pull-up on GPIO0 : ESP01S is supposed to already have this on board (needed for boot mode)
        – a short-cut between VCC and CHIP_EN : ESP01S is supposed to have a 12K pull-up.

        Thanks for sharing 👍

        1. your 2 relay module: can you share a photo for better understanding your mod? Thanks

          PCF8574/75 or MCP23008/16 are already supported by tasmota (one of them at least, now can’t remember which), and that’s one of my next goals: a battery powered physical keyboard to trigger my sonoffs directly using rules and their ip addresses via WebSend commands 🙂

          my mod: don’t know honestly, i remember i had issues initially of relay flickering, can’t remember if using esp01 or esp01s, the someone suggested to cut a trace, bypass something, remove a resistor… there are a lot of videos on youtube, too…

          then reading a gazillion of pages i’ve found that easier hack (with a resistor and a wire), which works flawlessly for me: i just used a single 10k resistor between gpio0 and vcc, and using its rheophore i prolonged it to join vcc and chpd, no cuts, no resistors to remove, no additional wires, and more important: no flickering… i’ve other boards, maybe i can try with the esp01s to see if this is not needed anymore… but as it’s easy and does not hurt anything, doing it i’m confident i’ve no issues 🙂

          oh, next (mini) project: an esp01 and a stepdown fitted in a car cigarette plug: as i reach my wifi, it will just trigger my gate to open, no clicking at all… same when i turn on the car in the morning: it will wake up as powered, and connecting to wifi open the gate 🙂

          a smaller and easier version of this, with no mqtt:

          1. Correct, I missed it :

            My module is installed but I’ll manage to make a schematic of the mod, or may be mod another module I have to show you.

            Regarding your mini project, I don’t have a garage door to open but I was thinking of connecting a ESP to a ODB II car computer interface to gather stats & diags on the car and upload them when the car reach home.

            1. OBD: i was looking for that too, but maybe better an esp32, as it has native bluetooth… and the problem is that it does not send out data, you have to interrogate it, and it needs to be powered, so it’s off when the car is off, too… AFAIK… i’ve those tire pressure sensors Pete reviewed a few months ago, too, which are RF and send out data only while moving… i’d like to be notified if my car battery is going flat (it happens to me 2 or 3 times/year), or a tire is flat, before leaving home…

  11. Here is one of the page that describe the modules with schematics and photo :

    Schematics of my mod :
    Photoshopping of the mod : remove all 6 components with red cross and add the 2 green wires :

    Driving the transistor from ESP 3V3 GPIO work just fine.
    JD-VCC must be 5V though.

      1. It didn’t worked for me. Because of the 2 leds in series (the one you see and the one in the opto coupler) plus the 1K resistor, the ESP wasn’t able to drive the optocoupler enough trigger the relay.
        As I don’t see the point of using an optocoupler when sharing the same power, I just got rid of it.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.