Tasmota Flash Oukitel P2 Plug

From ivc wiki
Jump to navigationJump to search

Oukitel P2, also know as Merisny P2, is a 16A rated WiFi controllable plug. It can be purchased for 12USD on Banggood. It is based on the ESP8266 MCU. Works flawlessly with the Tasmota firmware.

I recommend doing an inspection and applying solder where there are weak spots or blank tinned copper pads, e.g. on the left edge of the board the relay output can be a bit sparsely tinned.

Wiring

Esptool

Download the Esptool to erase and flash the Tasmota firmware.

Erase flash

Change the right serial-port, e.g. /dev/tty.usbserial-A98AVCSI

user$ ./esptool.py --port /dev/tty.usbserial-A98AVCSI erase_flash
esptool.py v2.5.1
Serial port /dev/tty.usbserial-A98AVCSI
Connecting....
Detecting chip type... ESP8266
Chip is ESP8285
Features: WiFi, Embedded Flash
MAC: 2c:f4:32:c9:d1:91
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 3.7s
Hard resetting via RTS pin...
user$

Now, unplug and plug-in the ground pin from the serial-adapter to reset the ESP MCU. If the following step does not work, try disabling the 3V3 pin instead - as the sudden external power up might not put the MCU in the upload right state.

Upload firmware

Download the latest Tasmota firmware (tasmota.bin)

user$ ./esptool.py --port /dev/tty.usbserial-A98AVCSI write_flash -fs 1MB -fm dout 0x0 tasmota.bin 
esptool.py v2.5.1
Serial port /dev/tty.usbserial-A98AVCSI
Connecting........_____....._____....._____....._
Detecting chip type... ESP8266
Chip is ESP8285
Features: WiFi, Embedded Flash
MAC: 2c:f4:32:c9:d1:91
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 575616 bytes to 396460...
Wrote 575616 bytes (396460 compressed) at 0x00000000 in 35.4 seconds (effective 130.1 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
user$

Setup

Connect to the device over Wifi as any regular Tasmota device and configure the template to the following:

{"NAME":"Oukitel P2","GPIO":[0,0,52,0,0,0,0,0,0,17,0,21,0],"FLAG":1,"BASE":18}

It provides one ADC0 input, usage undefined at the moment.