New Sonoff RF Bridge Board - Need Flashing Help


I am a newbee with the same issue, I have a question.
how did you put the esp in flashing mode?

I am not able to see the switch that was used in previous version, did you ground a specific pin?


To put in flashing mode, press the ‘pairing button’ while inserting the FTDI in USB.

Thanks, got the sonoff flashed but I am not getting any code at all.

Apparently the communication between ESP and RF is changed, so I better go and get a black one!

Let’s if the community manage to solve the issue for the new board!

Same issue Flash ok but there is no cummunication with the RF.
Which PIN is used to connect the ESP82xx and the RF, I’m using pin: 5

New direct hack

It is the equivalent of Hardware Itead Sonoff RF Bridge Direct Hack to get super wide protocol support, but for the new R2 v2.2 board (not a way to flash Portisch.)


1. Cut the usb data lines

Exactly as in the original mod for older versions, these traces are connected with GPIOs we’ll use to connect the receiver and transmitter directly to the ESP8285. If left conected, usb chargers may bridge them and nothing will work (or worse).

2. Connect the transmitter

USBTXD → pin 4 of the 6-legged chip (purple cable, bottom left pin in the image)

3. Connect the receiver

USBRXD → pin 5 of the 8 legged chip near the LEDs (green cable, bottom right pin in the image)

ESPHome configuration

  name: sonoff-rf
  platform: ESP8266
  board: esp8285
  build_path: ./build/sonoff-rf

  ssid: !secret wifi_name
  password: !secret wifi_pass
  fast_connect: true


    number: GPIO13
    inverted: yes

# USBRX = GPIO4 ---> receiver
# USBTX = GPIO5 ---> trasmitter

# receiver = pin 5 of the 8-legged chip (the one closer to the wifi antenna)
# transmitter = pin 4 of the 6-legged chip (closest to r12)

  pin: GPIO04
  dump: all

  pin: GPIO05
  carrier_duty_percent: 100%

# this will log received commands, and can also transmit. Read up here:


In this mod, the existing encoder/decoder chip is not disconnected from either the transmitter nor the receiver. From what I could measure, this revision of the board has a 1k resistor between the encoder chip and the modulator, so the ESP “wins” anyway. It works perfectly fine for me, but do at your own risk.
Update: The tracks to cut were found below, make sure to do that also


Hello dear team, I may need your help with a situation that I see got solved above, How did you manage to Flash tasmota on a Sonoff RF BridgeR2 – ESP8285 ( Board Version: R2 v2.2) ( Board date: 2021.01.19). After I connect the board to a windows machine and try to use this link: Install Tasmota or tasmotizer-1.2.exe I am receiving this error message: “failed to connect to esp8266 timed out waiting for packet header” I have tried pressing the “Pairing button” for 3/6/10 secconds while inserting the Prolific USB-to-Serial (Driver version: - Date: 2008.9.24) Thank you in advance for any suggestion that you may have.

I don’t remember having problems with this.

  • Is the serial adapter jumper set at 3.3v?
  • Are the serial datalines crossed? (Rx to Tx, Tx to Rx)
  • micro usb port not connected to anything, right?
  • The header pins solidly connected?

If the answer to all of these is true, it is worth checking that the serial converter works by trying it with another esp chip. That’s all I got :confused:

Thanks @mateine for this information !
Thanks to your help I’ve successfully flashed my R2 v2.2 with ESPhome, then I tried Tasmota and finally I build my own firmware based on RFlink32, write a documentation, made a flash script (for Windows) and posted it on github. I really recommend to try this firmware on the Sonoff RF Bridge !

There is an already compiled firmware in my github repo :

Also I propose alternative way to cut the USB data lines on the back of the board :


Wow, I have to try this!
BTW, my sonoff died last week. I had added a thermometer so it may be that, but it is also possible that not cutting the transmitter and receiver lines of the dedicated en/decoder chip is a bad idea. You may want to fint them out and cut them too

Update: I reflashed it and it is fine again. Still worth cutting the transmission lines as you did.

Good to know, mine works since few days in continue but let’s make it more securely :
we replace the wires by resistors, as Tinkerman from espurna said : " resistor : anything in the range 180-680 ohms, 1/4 or 1/8 W will do. The advantage of using a resistor is that if you inadvertently solder the wrong pins, the resistor will prevent any damage to the semiconductors."

Then we isolate the en/decoder chip by cutting these lines :
The emitter at the back :

The receiver near the “RST” point :

Like that it should have a long life :slight_smile:


Wow @schmurtz, you really took the mod to the next level.
I actually moved on to a custom d1-mini esp board with 3 cc1101 chips to work in 3 frequencies at the same time, but I’ll still try to fix my broken sonoff just to apply your extra moddings.

I want to share my happiness on seeing how you picked this up and improved it way further, my respects! :slight_smile:

I have been watching this thread for a while and you guys are awesome! I have been able to flash tasmota, esphome, and rflink to this board because of you all. The only issue I am having is I don’t think the RF fan controller I am using is sending signals that either tasmota or esphome can understand. I can tell that it is seeing the signals being sent out but from what little I know about reading mqtt data the part that should be unique isn’t. Do you have a way to see the signals that rflink software is seeing? I can’t seem to find anything that talks about how to see this information.

Haven’t tried RFLink directly, but with esphome you can do:

# of config...
  pin: GPIO04
  dump: raw

Then connect to it with the logger. The rest of the config is here.
If your fan uses the FSK modulation and Manchester encoding, you’ll get the “shape of the pulse” as a list of pairs of numbers. Something like [+500, -100] means that the signal is high for 500 microseconds and then low for 100.
It could well be that the fan uses some other kind of modulation, in which case it may not be possible to decode with the sonoff receiver.
If you are really curious, you can get an RTL-SDR (software defined radio) dongle, they are cheap. I got one recently and I’m having a lot of fun :slight_smile:

PS: yes, this crowd is awesome!

First off, again I have to say thank you. The ESPHome has much better documentation its just a little more manual when it comes to flashing and programing the device. Also the output is WAY more nosy, but with that said I was able to get it working with both seeing the signals and, more important for me, sending signals.

The odd thing was that all the signals looked something like this.

Received Raw: 393, -407, 395, -405, 393, -408, 394, -406, 375, -425, 391, -407, 393, -408, 394, -405, 395, -406, 392, -408, 392, -408, 394

But after I uploaded something like this to create the first button it starting seeing the other rf signals like this.

Received RCSwitch Raw: protocol=1 data='1101000000000100011101000110011111101111000000010001111111101110'

I mean it makes my life more easy but just some strange thing I noticed while starting to use ESPHome. Thanks again!!

Your triple device is awesome :star_struck:
For information RFlink32 can work with ESP32 and RFM69. I use it in 868mhz and raw mode (called “debug mode” and “RFsend” in RFlink) to control my old halogen light :: the approch was similar to yours (but with only one transceiver).
Today I’ve made a little mod for the fun : I have added a serial to USB directly inside the Sonoff RF Bridge. Like this I can close the box and I have only one plug to monitor or flash it (and I don’t look for my FTDI anymore :smiley: )

Soon I will update the sources of RFLink32-For-Sonoff-RF-Bridge to be able to launch the AP when the button is pressed like the re-configuration is easier.


Great work on this!

I have a V2 flashed with Tasmota that’s been working great and now need to order another one for our new vacation home. I was dismayed to read the hardware was recently changed and people couldn’t make it work anymore.

You all are heroes!

1 Like

Cool! I repeated your work, everything works fine, I got the raw code. Now I would like to figure out how to make a binary sensor from this code…
And unfortunately I can’t send the code to the relay in any way. How can I check the functionality of the transmitter?

The RF433 recive chip is SYN470R or WS490F,i think it is SYN470R 8 pin package

Really convenient! Did you managed to enable ota?

You may like this tiny usb<->serial

€ 0,69 10%OFF | CH340N CH340E Sop8 USB to TTL Module Pro Mini Download Replacement CH340g CH340E