Sonoff RF Bridge 433

Sonoff Bridge with Tasmota

I just received more neat little inexpensive Sonoff RF Bridges from Banggood, this is a great boxed gadget for converting 433Mhz RF signals from various devices into WiFi. The POINT of Mhz RF sensors of course is that they are very cheap and run for long periods on battery.

While I’m here, Sonoff have published some information about Covid-19 which looks useful.

As I got started, I immediately updated the Sonoff sofware revision from 2.7.0 to 3.3.0 – mind you, that didn’t last long. Well, what did you expect? I don’t like relying on cloud services and in order to put Tasmota onto these devices you need to be running the latest Sonoff software (v3.3 or later) initially.

On receiving my first Sonoff RF Bridge, it took all of 30 seconds for the 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 boring name I hit EDIT and called the unit BRIDGE. That’s it.

You might find this extensive information on the RF Bridge here at the Itead Wiki useful.

And why do I need more than one? Well, I have a single storey, WIDE stone cottage – no WAY a single 433Mhz unit will span from one end to the other through several 200-year old stone walls.

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

The later units are set up t. I’ve called them BRIDGE2 and BRIDGE3.

Anyway as you might imagine I very quickly tired of the standard RF Bridge software and went off here for Tasmota. Flashing the ESP side of the RF Bridge33 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” Bridges.

Tasmota on Sonoff RF Bridge
Mini-production line to Tasmotize Sonoff RF Bridges

As you might expect, to flash Tasmota onto the Bridge, I had to hold down the one and only button on the board while powering up the FTDI (that’s after setting the only onboard switch to OFF). I flashed the Tasmota software, cycled the power, set the onboard switch back to ON and after a reboot, that was Tasmota up and running. I tried loading the config at the same time but messed up my WIFI password.

RF Bridge

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 the name “bridge”. From there the board appeared on my network. Using the assigned IP address in my PC browser I filled in the MQTT details and friendly name “bridge” and tried an experiment in MQTT that worked.

Sonoff RF Bridge Tasmota UIs
UIs for Bridge2 and Bridge3

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.

I then tried an Itead water detector and a door sensor (the Sonoff door sensor is limited to OPEN detection only – see further down for a link to one that handles open and close). There are limits as to how far one could expand the the types of sensors using the iTead RF software – the RF Bridge 433 should be able to support a wide variety of remotes and sensors.

So having tested Itead sensors to my satisfaction, my next job was to grab the (also) free “Portisch” firmware (hex file from the Portisch Github page) and add that to the mix. This should greatly extend the number of devices the Bridge will talk to and also allow the bridge to SEND commands itself. Installing the Portish software is easy and does not require the use of an FTDI. On the R2 RF-Bridge board, assuming you can muster up 3v3 without using the usb connector – no link cuts are needed (follow instructions on the Tasmota site).

All that is needed is to turn off the RF side of the RF-Bridge board using the onboard switch, connect power, put in 2 cross-links (no soldering required unless you really want to) and 3v3 + ground onto one of the onboard connectors – photos on the Tasmota site and using the Tasmota Web UI for the RF-Bridge, select “firmware upgrade” local file option, pointing it to your downloaded Portisch HEX file.

When the download is done, remove the links and 3v3/gnd, turn the onboard switch back on, apply USB power and you are in business. The RF-Bridge Tasmota software will continue to function as before but now will accept new RAW data if you need that (a setting in Tasmota needs changing to use RAW data – a Tasmota rule lets you set that mode permanently). Back to the Tasmota and Portisch/Github sites for details.

I have found up to now that I don’t need the Portsch RAW mode as I bought a set of door sensors from AliExpress which detect both open and close events and work out of the box. I have found that in my very wide single-storey house, I need a pair of RF Bridges to cover the entire house from door to door. Still – cheap.

This will be ongoing – I needed RF conversion as I have added the odd 433Mhz device to my home control – and monitoring UK smoke alarms, water and door sensors on my mobile when I’m over in Spain is a must. I figure two of these RF Bridges will do, as, from my house to the home office comprises several inches of solid stone wall and there have been no major miracles in RF technology recently. All of the Itead sensors work across from my office to the house no problem but I did find that the Itead door sensor detects opening only and so I bought door sensors from AliExpress.

See below – the result of checking my one and only Tasmota RF Bridge RULE – currently turned off, in case I need to invoke Portschcode in future. To turn it on in the Tasmota console is easy…

cmnd/bridge/rule1 on

stat/bridge/RESULT {"Rule1":"OFF","Once":"OFF","StopOnError":"OFF","Free":478,"Rules":"on system#boot do RfRaw 177 endon"}



44 thoughts on “Sonoff RF Bridge 433

  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.

  12. Still no joy with getting my RF bridge from Banggood in China although they have now sent another. Anyway I have just ordered another from their UK source, costs more but delivery should be better. Anyway since I cannot go to the pub and spend money I might as well invest money in my other favourite pastime!
    Peter, you have mentioned your Byron door bell push devices on several occasions, would you mind sharing which of the Byron, if any, receiver / sounder modules you have. I want to replace our two door bells with new units so any suggestions for reliable wireless door bells would be appreciated.
    Just as an aside, in my experience, the 868 Mhz frequency seems to work better than the 433 Mhz in buildings with thick stone walls. That’s based on when one could buy the now defunct Ciseco wireless modules, 433/868 Mhz. I made a system using these modules in 2014 for customer to provide a boiler control, where it wasn’t possible to install a cable, using 868 Mhz RF modules. Very pleased to say it is still working.
    I appreciate the 868Mhz frequency is probably not available on the RF Bridge but there may be other opportunities with other devices.

  13. Bangood just shipped stuff to me inc RFBridge. Byron – all I have is the button pushes (loads of them, new, sealed). I cannot get RF Bridge + tasmota to recognise them..

    Wireless doorbells – seee blog the one I got from Banggood – turned out to be a winner.

    Yes, I remember now, 868Mhz DOES work better – I think however it is moer expensive – mostly USA instead of China? Before I got into uding ESP Iwas starting to look at 868Mhz then all of that stopped with ESP8266.

  14. I’m having a little trouble trying to figure out how to use the rules to send the ‘rfraw aab155’ command to the RF chip at start-up of the bridge. This is my first Tasmota device. Got it flashed with 8.2.0, Portisch 0.4 installed, and I can send the command over the web console and see results (it’s also logging to my MQTT server). Can someone provide the commands as I’d paste them into the console, please? Thanks!

    1. this are the rules i’ve on one of those devices with 2 relays and an esp01 talking to them via serial commands… i added an rf receiver on a gpio, so i can trigger them via rf codes, too… not raw ones, but it does not change too much, AFAIK… in rule1 you can see how to trigger something on system boot, in rule2 how to send rf codes, just change them… i had some issues, some codes need prefixing them with 0x, some don’t, don’t know why… last line enables rules and set pulsetime for both relays, i simulate a human pressing buttons… in case, i suggest you join tasmota discord channel for direct help from the developers…

      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
      backlog rule1 1; rule2 1; pulsetime1 10; pulsetime2 10

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.