Flashable UK smart plugs

Has anyone had recent success with finding UK smart plugs that will flash easily - either open and serial flash or successful Tuya convert ?

I just received some round 13a teckin SP27 From amazon which won’t Tuya convert - I think they’ve Recently changed From ESP .

I had a previous set of square, power monitoring Teckins which did convert. The square ones do tend to hit the power switch though.

It gets expensive with trying random ones from amazon … or from AliExpress.

So any recent successes ?

Another speculative ebay plug generates “WARNING: it appears this device does not use an ESP82xx and therefore cannot install ESP based firmware”

Model “LSPA7” :frowning:

I recently have used tuya convert to flash the new teckin plugs with the redesign to avoid the switches and some JulesV flashed with the latest tuya convert.

Didnt fancy risking more money on teckin - but thanks to a v helpful review on Amazon picked up 4 Round (with power monitoring) plugs from “2 nice” that tuya converted v easily. 4 for 32.99 (with a random voucher)


Did you go any further and get these set up with esphome?

I’ve just ordered a pack from amazon and looking for a quick-start with putting together a working config for use with esphome.

I’ve just ordered some of the 2Nice ones as theyre on offer for £28.

I’ll be replacing tasmota with ESPhome. This page has details on the GPIOs:

1 Like

Yes - I use all mine With ESPHome complete with energy monitoring.
My Config…

  name: esp_plug01
  comment: 2Nice UP111 01 - Charlie desk light
  platform: ESP8266
  board: esp01_1m

  ssid: 'xxxx'
  password: 'xxxx'
    static_ip: 192.168.1.x

# Enable logging

# Enable Home Assistant API
 reboot_timeout: 0s

  - platform: homeassistant

# Unique ID for Sensors.
  switch_id: "plug_01"

  # Push Button
  - platform: gpio
    id: ${switch_id}_in_switch1
    internal: true
    pin: GPIO3
    name: " Switch 1"
      - invert:
      min_length: 50ms
      max_length: 350ms
        - switch.toggle: ${switch_id}_out_relay1
  # Template Sensor - Tracks Relay, Switches LED to Match (Internal Only)
  - platform: template
    name: "${switch_id} Template 1"
    id: ${switch_id}_template1
    internal: true
    lambda: |-
      if (id(${switch_id}_out_relay1).state) {
        return true;
      } else {
        return false;
      - if:
            - binary_sensor.is_on: ${switch_id}_template1
            - switch.turn_on: ${switch_id}_out_led
      - if:
            - binary_sensor.is_off: ${switch_id}_template1
            - switch.turn_off: ${switch_id}_out_led  

  # Restart Switch in HA
  - platform: restart
    name: "${switch_id} Restart"
  # Relay Output
  - platform: gpio
    pin: GPIO14
    id: ${switch_id}_out_relay1
    name: "${switch_id} Relay 1"
  # Blue LED Output
  - platform: gpio
    pin: GPIO1
    internal: true
    id: ${switch_id}_out_led
    inverted: yes
    name: "${switch_id} Touch Status Led"  
  - platform: gpio
    id: ${switch_id}_out_led_red
    name: "${switch_id} Touch Status Led Red"
    pin: GPIO13
    inverted: True
    restore_mode: ALWAYS_OFF

  - platform: hlw8012
      number: GPIO12
      inverted: True
    cf_pin: GPIO04
    cf1_pin: GPIO05
    # Higher value gives lower watt readout
    current_resistor: 0.0025
    # Lower value gives lower voltage readout
    voltage_divider: 880
      name: "${switch_id} energy_temp_Amperage"
      unit_of_measurement: A
      name: "${switch_id} energy_temp_Voltage"
      unit_of_measurement: V
      name: "${switch_id} energy_temp_Wattage"
      unit_of_measurement: W
      id: "energy_temp_Wattage"
    change_mode_every: 8
    update_interval: 10s
  - platform: total_daily_energy
    name: "${switch_id} energy_temp_Total Daily Energy"
    power_id: "energy_temp_Wattage"
        # Multiplication factor from W to kW is 0.001
        - multiply: 0.001
    unit_of_measurement: kWh
# Extra sensor to keep track of plug uptime
  - platform: uptime
    name: ${switch_id} energy_temp_Uptime Sensor
# Wifi Signal
  - platform: wifi_signal
    name: "${switch_id} WiFi Signal Sensor"
    update_interval: 60s

That’s awesome thanks, i’m hoping to get one of these up and running this evening.

Go mine all up and running eventually, had to use tasmota.bin v7.2 to get esphome to load but apart from that all went fine.
Had to use different current_resistor and voltage_divider, calibrated with a power meter and it’s fairly close.

Hi, I have thinking about buying the above plugs also (but only 2 instead of 4). I am hoping to have it flashed with ESPHOME.

I was initially ordered the SP23 by TECKIN and noticed the new version (SP23-2) no longer can be flashed. Luckily that it had not yet been dispatched and was able to cancel that via Amazon.


  1. Can these still be flashed?
  2. Is there a step-by-step guide?
  3. Are there any other UK Smart Plugs that can be flashed?

I can only speak to Tasmota, as I’ve not used ESPHome, but I’ve been able to flash 4 of those exact 2Nice UP111 plugs with Tuya-Convert. Presumably if they can be flashed by tuya-convert to Tasmota, then they can also be flashed to ESPHome.

As it happens I already have some Teckin SP23’s which I also managed to flash with Tasmota earlier today- although these were older ones- have read that the newer ones are no longer flashable.

As far as a guide goes, I followed the tuya-convert github readme. Obviously once you’ve flashed the device the configuration steps will differ depending on the firmware you go with.

Another confirmation that the 2Nice plugs are flashable - I just bought a 4 pack from Amazon and have successfully flashed them direct to ESPHome using tuya-convert.

Thanks, that’s really helpful. Was it these ones you purchased?

I purchased these exact ones and successfully flashed them with tuya-convert. Although I flashed tasmota first and then loaded esphome through their upgrade process. Next time will cut out the tasmota middleman!

Awesome, thanks. Was there a guide you followed? I think I would do ESP-Home directly.

I followed the tuya-convert GitHub readme as well. Was all pretty self-explanatory in the end! Had been very apprehensive as hadn’t done anything like this before but it all came together with very little stress.

I used the docker method described in the tuya convert readme, just changing the supplied docker-compose file to map an external files directory (so as to simply add my own ESPHome firmware files). The only problem I had was that the tuya script output indicated that all the required ports were available, and then the process continued but eventually timed out after a few attempts. It was only on checking the log files that I found it had been unable to bind to port 80 (I had forgotten to stop another process that was already bound).

I have used these Maxcio Plugs, they are ESP based.
Also unlike a lot of the rubbish available they use 16Amp relays and not 10Amp!
They also do power monitoring.

Config is here:

I split my files up into the common plug setup in the “common folder” and then in the esphome folder I have the config for each indivdual plug / device. Saves having loads of duplicate code.

1 Like

Okay, I ordered and they should be here tomorrow.

Do I have to flash them with Tuya-convert first or can I jump straight into ESP home and flash them directly from there?

I think you have to flash them with tuya-convert first, however, I think you can choose which firmware you want to flash to them with tuya-convert, so instead of using it to flash the default tasmota, one can instead flash esphome. I did not do this so can’t say if that’s true. However that’s what simonbirt I believe was saying they did.