How To Flash Tuya Devices Over The Air Without Soldering

Published Categorized as ESP8266, Linux, Smart Home, Tasmota

Did you know that it is possible to flash Tasmota to many of those cheap smart home products that you can buy off Amazon?

Did you know that it is possible to do this without soldering? Awesome!

Many of those cheaper smart home products come with firmware called Tuya, which connects to an app on your phone via a Chinese cloud network.

This is a really bad idea for a number of reasons.

Can you imagine how crazy it sounds to flick a switch in your living room, then a signal must travel halfway around the world, and then back again in order to switch on the corresponding lightbulb?!

It would be much better to remove these devices from the cloud and connect them directly to our smart home.

So, how do we do this, and without soldering?

We can use a little program called Tuya-Convert. It will flash the Tasmota firmware to our Tuya devices using WiFi, no soldering needed!

Want to know the best thing?

We can do all of this in just 7 easy steps!

If you are not familiar with Tasmota, it is an open source firmware that will run on many smart devices.

It is designed to run without a cloud, giving maximum performance and security for your smart home.

Table of Contents

  1. Prerequisite
  2. How To Flash Tasmota using Tuya-Convert
    1. Update Linux
    2. Install Git
    3. Install Tuya-Convert
  3. Flashing Your Device
    1. Stop services
    2. Put your device in pairing mode
    3. Connect to the vtrust flash
    4. Flashing Tasmota OTA
  4. Conclusion

Prerequisite

In this article you will learn how to use Tuya-Convert in Linux (Ubuntu/Debian etc) so you will need a computer running your prefered Linux flavour.

If you want to use Raspberry Pi, check out this article instead.

There are a few caveats to mention about Tuya-Convert before we continue.

It is effectively a ‘hack’ so use this information at your own risk. I cannot be held responsible if you ‘brick’ your device.

If you are not comfortable with the process or are unsure, you may prefer to see if you can flash it over a wired connection.

Secondly, Tuya-Convert is quite old now and as of 2022 there are a decreasing number of devices available that it can exploit.

Many devices now don’t use the chip that has the security flaw used by Tuya-Convert (the ESP8266).

The only way to know is to try Tuya-Convert.

There is a handy library of devices available at the Tasmota Template Repository that have already been tested. Check this library first if you wish to purchase new devices that are compatible.

How To Flash Tasmota using Tuya-Convert

In order to flash Tasmota using Tuya-Convert, we need to complete the following steps:

  • Step 1: Update Linux
  • Step 2: Install Git
  • Step 3: Install Tuya-Convert
  • Step 4: Stop device services
  • Step 5: Put Tuya device in pairing mode
  • Step 6: Connect to vtrust-flash
  • Step 7: Flash Tasmota OTA

Update Linux

Open the Terminal and enter the following, if you are prompted for your password then go ahead and enter it. Don’t forget that you will not see the password characters!

sudo apt-get update
sudo apt-get upgrade

You may be prompted to perform some updates, simply enter ‘y’ and allow the updates to install. Once complete you will be returned to the command prompt.

Install Git

Next we will need to install Git in order to download and install Tuya-Convert. Go ahead and enter the following command to install it.

sudo apt-get install git

Install Tuya-Convert

Next, you will need to navigate to the location where you wish to install Tuya-Convert.

If you are unsure then I would recommend the user home directory, you can navigate there by typing the following.

cd ~

Now we need to download Tuya-Convert by cloning the Git repository, simply enter the following command.

git clone https://github.com/ct-Open-Source/tuya-convert

Once the Tuya-Convert repository has been cloned to your machine, we need to install the prerequisites.

There is an installation script provided that makes it very easy!

Simply switch to the Tuya-Convert directory and run the script by typing the following commands.

cd tuya-convert
sudo ./install_prereq.sh

Flashing Your Device

Now that everything is installed, we can begin the flashing process!

To start Tuya-Convert, simply type the following command whilst in the Tuya-Convert directory.

sudo ./start_flash.sh

Stop services

It is likely that your system will request that you stop some services in order for the process to work.

Simply enter ‘y’ for each one and after we finish flashing we can just reboot to restart these services.

If everything is successful, you will be presented with the 3 step Tuya-Convert instructions.

Before you jump in, I would recommend that we perform number 2 before number 1 and I will explain why in a moment.

  1. Connect any other device (a smartphone or something) to the WIFI vtrust-flash
    This step is IMPORTANT otherwise the smartconfig may not work!
  2. Put your IoT device in autoconfig/smartconfig/pairing mode (LED will blink fast). This is usually done by pressing and holding the primary button of the device
    Make sure nothing else is plugged into your IoT device while attempting to flash.
  3. Press ENTER to continue

Put your device in pairing mode

Next we will need to put our Tuya device in to ‘EZ pairing mode.’

This step is specific to your device, therefore you should consult the manual for your specific device. Usually it is some combination of holding buttons or switching it on and off.

Please note that the device must be in EZ mode and not in AP mode.

Connect to the vtrust flash

The next step is important, remember the additional WiFi device I mentioned earlier?

We are going to need it for this step, a mobile phone will do just fine.

Now that Tuya-Convert is running, it will have created a new WiFi network called ‘vtrust-flash’ and we need to connect our mobile phone to this network in order for the flashing to work.

In my experience the phone does not stay connected for too long, therefore I recommend connecting it to vtrust-flash after you put your device into EZ pairing mode.

Simply open up WiFi settings on your phone, locate vtrust-flash and connect to it as you would with any WiFi network.

If you are prompted for a password, it should be ‘flashmeifyoucan‘ and following the connection you may be presented with a login-style pop-up, the type you get on public WiFi networks.

Note that nothing needs to be done here, once you get this pop-up you are good to go.

Just make sure you don’t close this pop-up or lock your phone, to ensure you remain connected to vtrust-flash.

Flashing Tasmota OTA

Now we are ready to flash! Press ENTER and Tuya-Convert will begin to look for the device. Patience is key here, it can take a while.

If the operation times out with the “Device did not appear with the intermediate firmware” error, just power cycle your device and repeat.

This happened to me with the first Tuya device that I tried to flash and power cycling it fixed the issue.

When your device is successfully recognised, it will perform a firmware backup.

Finally when completed you will be presented with the option for the firmware you wish to flash.

You can choose any of the firmware options, but if you do not specifically want to install a different firmware then I would recommend starting with Tasmota.

You will be presented with a final confirmation, at this stage it is the point of no return, you have been warned! Enter ‘y’ and wait for the flashing to complete.

Conclusion

You have now taken your Tuya device out of the cloud and successfully installed Tasmota. Awesome!

Now you are ready to configure Tasmota, so head on over to the Tasmota configuration guide.

Hopefully everything worked for you, but if you are unable to get the over the air method to work with your device, you can always have a go at flashing it with a wired connection.

Article Updates

Aug 18th 2022 : Fixed broken links in table of contents. Some minor updates to the article.

Article first published February 5th 2020.