Sonoff T1 UK and T1 EU - RTurala/Sonoff-Tasmota GitHub Wiki

Known issues, please read

  • Tasmota firmware has functionality to perform special actions on multiple quick button presses and long press
    • This will cause the T1 board to reset if relay board is not connected, because long press on button 1 will be detected
    • These special functions probably do not make sense for a wall switch
    • To disable, use command setoption13 1
  • If powered only with 3.3 V from debug connector long press will be detected by Tasmota on button 1
  • If powered only with 3.3 V from debug connected RF functions do not work

Sonoff T1 UK

The Sonoff T1 UK with 1 to 3 gang is fully supported by Tasmota starting with version 5.6.1.

See below for verified way of flashing.

Revisions

Touch Board VER:1

Touch Board VER:1.1

Notes:

  1. There is not enough room with this reversion to fit a header pins on the programming port and still close the case.
  2. That the GPIO0 is connected to the Helper chip on this Ver. Therefore, the only way to get Ver1.1 of this board into Flash mode is to solder a flylead onto the resistor R19 from pin 15 on the ESP chip (ie GPIO0) and connect this lead to Gnd on power up; the device will set all the touch pads to dim and the WiFi Led D3 will NOT be on at all.
  3. Log on the J3 header is GPIO2

Sonoff T1 EU

The Sonoff T1 EU with 1 to 3 gang is fully supported by Tasmota starting with version 5.6.1.

See below for verified way of flashing.

Sonoff T1 US

The Sonoff T1 US with 1 to 3 gang was launched March 2018. Supported, at least 3 gang, at least with SonOTA.exe.

State of implementation

** Follow support progress in this issue: https://github.com/arendst/Sonoff-Tasmota/issues/1424

Sonoff T1 Image

Sonoff-T1 seems to be an evolution of Sonoff-Touch, and exists in one, two or three button variations and contains a 433MHz radio.

Sonoff Touch is also based on the ESP8285, But are using a Silabs EFM8BB1 microcontroller to extend the number of IO:s needed to control 3 buttons, with separate relays and leds together with the radio. SYN470R is used as 433Mhz Radio, and chip for touch is unlabeled

EFM8BB1 Data Sheet

ESP8285 Data Sheet

SYN470R Data Sheet

Serial Connection

Connections

There is 3 connectors available on the top board J1 to J3. J1 is tied to EFM8BB1:

  1. VDD
  2. DATA
  3. CLOCK
  4. GND

J2 goes to the relay board (Pins counted cw):

  1. Relay 3
  2. Relay 1
  3. GND
  4. +5V
  5. +5V
  6. GND
  7. Relay 2
  8. Buzzer, controlled by EFM8BB1

J3 is a serial pinout, with the same pins as sonoff basic:

  1. VDD
  2. RX
  3. TX
  4. GND
  5. GPIO02

With standard firmware, i get a short print out with an non-standard board rate: 74 880bps (esp8285 bootloader bitrate)

 ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 2408, room 16
tail 8
chksum 0xe5
load 0x3ffe8000, len 776, room 0
tail 8
chksum 0x84
load 0x3ffe8310, len 632, room 0
tail 8
chksum 0xd8
csum 0xd8

2nd boot version : 1.6
  SPI Speed      : 40MHz
  SPI Mode       : DOUT
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

rf cal sector: 251
rf[112]▒ector: 251@ 10008Mbit(512KB+512KB) mode:(3,7)

The board is normally powered by the relay board with 5V. When 3.3 volts get applied to the board over J1 or J3 the AMS1117 "leaks" ~2.7V reverse to the LEDs of the touch buttons. This causes them to dimm.

Flashing

The following board layouts are from the 3 variants of the Sonoff T1 UK variant and are marked Sonoff T1 R2 UK Touch Board, Ver 1.0. These are the currently supplied versions shipping with firmware version 1.6.2.
This version of the stock firmware makes them unsuitable for flashing with SonOTA which only works on versions up to 1.6. Version 1.6 onwards removed the broadcast WiFi network for configuration. Seems that SonOTA works again with Sonoff firmware v2.0.1 but this need to be checked.

For the Sonoff T1 R2 EU version when pointing the arrow up and the reset button above the touch buttons, the most left touch button is 1, and the needed pins are at the right.

img_20180113_094236

Preparation
The front circuit board should be disconnected from the rear relay board to prevent power draw upsetting the flashing process. The unit must be powered up before attempting to enter programming mode. If touch button 1 is held while power is connected, the ESP will not go into programming mode. The touch IC does not have time to recognise the key-press before the ESP boots.

There are different ways to enter flashing mode, depending on the device.

  1. Entering Flashing mode varies between the 1 2 and 3 channel versions. See the above picture for button nomenclature used. (The variations between the 3 versions appear to be managed by the touch IC rather than in the ESP).
    To enter flashing mode the unit should be powered and connected to the programmer of choice. Touch Button 1 should then be held while the reset button (4) is pressed. The devices reboots, Button 1 can then be released. OR
  2. Double-press the reset-button

Try option 1 OR option 2. This will cause the unit to reboot into flash mode. This is confirmed on a serial console (74880 baud) by the boot mode displaying (1,x) indicating that we are booted to the bootloader and not the flash. You can also confirm booted to flash without a serial console, the main led should be off and the backlight LEDs lit dimly. There is no longer a need to solder anything to GPIO0 or to ground it while powering up for Ver1.0; this step is replaced by the above button sequence. However, GPIO0 to Gnd is the only way for Ver1.1 boards, see above.

The board contains a ESP8285 - which is an ESP8266 with built-in 1M bytes of SPI Flash. Tasmota can be flashed and configured as usual. Both firmware based on ESP8285 or ESP8266 seems to function. The module type will need to be configured to a T1 1/2/3CH.

DO NOT attempt to power the device from your programmer when connected to the relay board. This draws too much power and will cause the ESP to reboot frequently and will reset all the configured settings.

The version of T1 1/2/3CH US which is currently being shipped by Sonoff China works with SonOTA. To get it working you can simply plug it to mains, once it's powered up, press and hold the button that's closer to the wi-fi logo (you'll hear a beep sound). Keep holding it until you hear that beep for the second time. Now let go. The wi-fi light should blink in pairs of 3. Now repeat the procedure (Press and hold until you hear the beep 2 times). Now you should be seing the wi-fi logo flashing rapidly. You can proceed to flash with SonOTA now.

Flashing the easy way

Note: It seems that Sonoff is trying to seal off the ESP using some glue see image: https://drive.google.com/open?id=167_S0lriUYjF66sDj9U2ifA3Uzlb6_ns

Using a CP2102 USB to TTL connect RX->TX | TX->RX | 3.3v->3.3 | GND->GND

To get this in flashing mode just connect the TTL to your computer and push the button Twice (2 Times). I have successfully flashed 6 of these using this method no hassle. If it fails, just press twice again and flash.

Verified: The above method of enabling flashing mode works first time, every time.

Quick config

After flashing and communication setup you might want to execute command SetOption13 1 to configure the touch switches to only allow a single tap for quick response.

433MHz remote

The Tasmota firmware is compatible with the RF remote feature built in to the T1 modules. Pairing a new remote is the same procedure as a stock Sonoff, I.E. hold the desired button on your sonoff until you are given 1 beep (approx 7 seconds), press the button on your RF remote. The Sonoff will beep to confirm the pairing. To unpair a remote, press until you are given 2 beeps, press the button on your RF remote. The Sonoff will beep to confirm the unpairing.

Circuit

I tried to reverse engineer the circuit and I noticed:

ESP8285


GPIO0 EFM8BB1 P1,3 Switch 1 input (Goes low when first touch button is pressed)
GPIO04 is connected to the small (soft) reset button on the front.
GPIO09 EFM8BB1 P1,4 - Switch 3 input (Goes low when third touch button is pressed)
GPIO10 EFM8BB1 P1,5 - Switch 2 input
GPIO13 is connected to status LED D3.
GPIO12 Relay 1
GPIO5 Relay 2
GPIO4 Relay 3
GPIO2 is connected on J3 pin 5 (LOG)

On the EFM8BB1 (QFN20 package)

P0,0 Relay 1
P0,1 Relay 2
P0,2 Relay 3
P0,3 Button 1
P0,4 Button 2
P0,5 Button 3
P0,6 SYN470R Data Out
P0,7 Buzzer
P1,0 Led button 1
P1,1 Led button 2
P1,2 Led button 3
P1,3 ESP8285 GPIO0
P1,4 ESP8285 GPIO09
P1,5 ESP8285 GPIO10
P1,6 ESP8285 EXT_RSTB (RESET)

Known so far

  • When pushing a button, the touch chip lift the power high to the EFM8BB1, and the EFM8BB1 chip ties the signal line for each button low, for the full duration of the keypress. Debouncing is not needed.
  • 433MHz remotes are compatible with the Tasmota firmware
  • DO NOT attempt to power the device from your programmer when connected to the relay board. This draws too much power and will cause the ESP to reboot frequently and will reset all the configured settings.
  • The relays state can be set on the GPIO's 12, 5 and 4.
  • The switch status can be read on GPIO's 0, 10 and 9. Push button active low.

Unknown so far

  • Where GPIO15 is connected? Over R18 10kOhm pull-down only?

New model, PCB looks like https://photos.google.com/share/AF1QipM1zLb_7_2SkFFfRWgVAL75VhNBYn3hvkkeMLeLkXOfQvsnIUuK9D5nzLNwrKg-Gw/photo/AF1QipMuZaw48dtqAuP1Ibk1dVZfBIwMPFnkN3kjNseb?key=UWsyS3VrZHBpaldyUnl3Zmh0c2hqNDRmM2wyaDRB

Looks like the programming headers are top right

US Model of 3-button T1, received direct from Sonoff China 2018-05-12

Front photo (Google photos) Rear photo (Google photos) (Sorry about the tape smudges).

The header labels on J3 are accurate (apparently some boards have TX and RX reversed; this doesn't seem to suffer that).

Flashed with SONOTA.exe. Above method of getting into flash mode doesn't seem to work.

UPDATE: I did flash it with the FTDI method. To put then in flash mode press 2 times quickly the internal switch S1.

UPDATE 2: Confirmed by another user that flashed with OTA works as described on "Preparing"

EU Model of 1-button T1, received direct from Sonoff China 2018-06-04

Sonoff T1 EU 1 gang  June version Image All the flashing pins are in the front top right corner (sorry about covering them with the wires). From top to bottom:

  • LOG (GPIO2 not used)
  • GND
  • TXD
  • RXD
  • VCC
  • To flash simply connect GND, TXD, RXD, and VCC, as a regular ESP. Hold the touch button, press reset at once, then it boots into flash mode.
  • Stock baud rate: 74880
  • Relay pin: 0

EU Model of 3-button T1, received direct from Sonoff China 2018-11-10.

  • New PCB layout without (reset) button 4.
  • Can be flashed via SonOta without problems (Press button #1 for several seconds until the wifi appears).
  • For hardwired flashing: GND, TXD, RXD, and 3.3V connectors are located on the back side of the new PCB, clearly labeled but not longer adjacent to each other.