Sonoff T1 UK, EU, and US
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
- 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
- Itead Product Page: http://sonoff.itead.cc/en/products/residential/sonoff-t1
- Itead Shop: https://www.itead.cc/sonoff-t1.html
- Itead Wiki: (na)
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.
Touch Board VER:1
Touch Board VER:1.1
- There is not enough room with this reversion to fit a header pins on the programming port and still close the case.
- 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.
- Log on the J3 header is GPIO2
Sonoff T1 EU
- Itead Product Page: http://sonoff.itead.cc/en/products/residential/sonoff-t1-eu
- Itead Shop: https://www.itead.cc/smart-home/sonoff-t1-eu.html
- Itead Wiki: (na)
The Sonoff T1 EU with 1 to 3 gang is fully supported by Tasmota starting with version 5.6.1.
Touch Board VER:1.0
Sonoff T1 US
- Itead Product Page: http://sonoff.itead.cc/en/products/residential/sonoff-t1-us
- Itead Shop: https://www.itead.cc/smart-home/sonoff-t1-us.html
- Itead Wiki: (na)
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
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
There is 3 connectors available on the top board J1 to J3. J1 is tied to EFM8BB1:
J2 goes to the relay board (Pins counted cw):
- Relay 3
- Relay 1
- Relay 2
- Buzzer, controlled by EFM8BB1
J3 is a serial pinout, with the same pins as sonoff basic:
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▒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.
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.
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.
- 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
- 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
Video tutorial by Marcus Bennett
It seems that Sonoff is trying to seal off the ESP using some glue see image:
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.
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.
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.
I tried to reverse engineer the circuit and I noticed:
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
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
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)
- 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 (no blinking WiFi LED, dimmed touch button). If this does not work, try shorting R19 to GND as shown in "Touch Board VER:1.1"
- 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.
- SonOTA,Hardwired flashing fails with New PCB layout, problem was that I found
ESP8285 PIN15_GIPO0was short with
ESP8285 PIN14_GIPO2.Bad soldering from manufacture side,after clearing solder from pin's, flashing was successful.
US Model: Sonoff T1-US 3C (3-button or 3Gang), the jump-wire method to enter the flash mode:
- jump the wire as attached picture
- While keeping the wire connected then plug the FTDI USB to the computer
- wait for 1 to 2 seconds then release the jump-wire
- You can start flashing the Sonoff T1-US 3C.