Sonoff iFan02 Light and Ceiling Fan Controller
Sonoff iFan02 Light and Ceiling

Available from:


GPIO #Component
GPIO00 Button1
GPIO01 User
GPIO02 None
GPIO03 User
GPIO04 Relay3
GPIO05 Relay2
GPIO09 Button2
GPIO10 Button3
GPIO12 Relay1
GPIO13 Led1i
GPIO14 Button4
GPIO15 Relay4
GPIO16 None
Configuration (old format, will be converted to new template when applied)
{"NAME":"Sonoff iFan02","GPIO":[17,255,0,255,23,22,18,19,21,56,20,24,0],"FLAG":0,"BASE":44}

This device is discontinued and replaced by iFan03 and iFan04-L

The Sonoff iFan02 is supported in Tasmota from version 6.0.0b

Serial Flashing

Please see the Hardware Preparation page for general instructions.

Flashing using only a USB to serial converter will not work as the unit draws too much current as can be observed by a flashing blue led on the PCA and a lot of serial gibberish. As AC is not connected to Gnd I used the available power supply of the unit and connecting the USB to serial converter to J3 pins Gnd, Tx and Rx.

The button is not connected to GPIO0 so flashing the unit requires some extra work. I managed to flash the iFan02 by soldering a wire to TP16 (GPIO00) on the bottom of the PCA. Keep this wire connected to Gnd during the power-on or reset process (pressing the button) and the unit will be in firmware upgrade mode. If you’ve soldered the gpio0 connection don’t forget to unsolder before booting normally.

  • RX -> TX
  • 3.3 -> 3.3
  • TX -> RX
  • GND -> GND
  • TP16 to GND (as used in the TTL)

Press and hold the button while connecting to power.

If you have an Arduino you may be able to flash without providing an additional power source. I have successfully flashed using an Arduino Duemilanove with the atmel chip pulled out (basically using it for FTDI and 3.3v power regulation). Rx on Arduino goes to Rx on iFan02, Tx to Tx (no crossover like with FTDI). I did not have to press the button, only to ground TP16 while initiating the flash in Arduino IDE. The Arduino provides enough power to flash, however it will not boot into Tasmota unless you plug in to external power (it boot loops after flashing is complete).

Additonal information

  • See issue #2839 for user information
  • See issue #3412 light on after restore power
  • The WifiConfig on the device resets to 2 (WiFi Manager) on a dirty reboot (Power Cut). Using SetOption1 1 (SO1 1) solves the problem. #8996

Functioning iFan02 in Tasmota WebUI


iFan02 PCA with TP16


Two users report the TP16 pad lifting after soldering a wire to ground as shown in picture. This renders it useless. It may be better to use a pogo pin contact, bare wire or solder and then epoxy/glue the wire in place, leaving it permanently.

Board Top Showing ESP8285

UNSHIELDED Board Top Showing ESP8285

ESP8285 Pinout

esp8285 PINOUT

Using hard wired push button switch attached to iFan02 GPIO to cycle speeds

If anyone wants to setup a single push button switch attached to the GPIO3 Serial + ground In that will cycle through the speeds and turn off - after setting it in the configuration (GPIO3 to 11 Switch3) the console code is:

rule1 on switch3#state do FanSpeed + endon

Alternate Power Supply Schematic

esp8285 PINOUT

Official Sources