Sonoff Dual and Dual R2 - RTurala/Sonoff-Tasmota GitHub Wiki
- Itead Product Page: http://sonoff.itead.cc/en/products/sonoff/sonoff-dual
- Itead Shop: https://www.itead.cc/sonoff-dual.html
- Itead Wiki: https://www.itead.cc/wiki/Sonoff_Dual
Sonoff Dual R2 is the replacement for Sonoff Dual. Compared to the Dual the main differences/improvements for the Dual R2 are:
- As the second microcontroller has been removed both relays are now controlled directly by an ESP8285
- The button is now directly connected to the ESP8285
- The header connector is now supported in Tasmota either as individual Switch for a relay or as any sensor
Please see the Hardware Preparation page for general instructions.
As always, you need to access the serial interface. The four serial pins (VCC, Rx, Tx, GND) are available at the short end of the PCB and can be seen on the left of the image below.
Programming the Sonoff Dual R2 is a breeze although the on-board-button is not connected to GPIO0. As with all ESP8266/ESP8285 modules pulling GPIO0 to GND is needed to put the chip in programming mode. You need to connect GPIO0 and GND during power up.
Luckily both GND and GPIO0 (as BUTTON 0) are available on the second header. A simple jumper between GND and BUTTON 0 while programming will do.
For a video on how to flash the Sonoff Dual R2 with Tasmota, take a look here.
The relays can be controlled by external push buttons or switches connected to the header at the designated positions. BUTTON 0 (= GPIO0) connected to GND controls relay 1 and BUTTON 1 (= GPIO9) connected to GND controls relay 2.
See the image on the right how to configure this functionality in Tasmota as Switch1 and Switch2.
NOTE Make sure not to use a switch that keeps the connection between GND and BUTTON 0 active while power is re-applied as the device will start in programming mode.
Please see the Hardware Preparation page for general instructions.
As always, you need to access the serial interface. The four serial pins (3V3, Rx, Tx, GND) are available at the short end of the PCB and can be seen on the left side of the first image and are labeled in red on the second image. For the v2.0 version of the board you need to cross-over the serial interface, see troubleshooting.
Programming the Sonoff Dual is more difficult because the on-board-button is not connected to GPIO0. As with all ESP8266 modules pulling GPIO0 to GND is needed to put the chip in programming mode. You need to connect GPIO0 and GND during power up.
GND can be found on all three headers. GPIO0 can be accessed two ways:
- Unscrew the Sonoff Dual from the housing and access the underside of the PCB You can find GPIO0 on one side of a resistor as shown in the second image.
- GPIO0 can be found on the small inter layer via pointed at in the first image. Attention: If the via is covered by silk screen (green) you need to expose the underlying conductive (copper) by careful scratching it off.
Please be aware, that the button on the Sonoff Dual will initially not have any functionality!
Other than on most Sonoff module the button is not connected to the normal button pin (GPIO0). After freshly flashing Sonoff-Tasmota (with the default module setting "Sonoff Basic"), the button will not act as described in the Button Usage article. You will not be able to switch power or activate the special WiFi modes.
Possible Workarounds: Take advantage of the default WiFi fallback behavior, which is to connect via WPS or configure the module firmware config beforehand via user_config.h
.
After configuring the device as a "Sonoff Dual", the button will regain normal functionality.
GPIO4 => red, GPIO14 => orange
Where most Sonoff's use GPIO to control one or more relays the Sonoff Dual and 4 Channel Inching Relay Assy do use the standard SERIAL interface to control the relays.
Commands are send from the ESP8266 via a 19200 baud serial connection to a dedicated chip that controls the relays.
It is therefore important to disable any serial communication to and from the device once you have debugged any anomalies.
To assist easy installation serial logging is enabled by default in user_config.h for all Sonoffs. Once in production it's wise to turn it off for all Sonoffs. For the Dual it is almost mandatory to turn it off.
Execute command seriallog 0
once to turn all communication on the serial port off.
If within 10 minutes no input is received serial communication is turned off too.
Another reason for intermittent switching errors can be Power Saving. Make sure it is disabled by executing the command sleep 0
.