logo elektroda
logo elektroda
X
logo elektroda

Easy Tasmota instalation - guide for online installer tasmota.github.io/install

p.kaczmarek2 8982 12

TL;DR

  • Tasmota can be flashed onto ESP8266/ESP8285 or ESP32 devices with the web installer at tasmota.github.io/install.
  • The process uses a USB-to-UART adapter, external 3.3V power, and IO0 tied to ground to force bootloader mode before uploading.
  • A backup uses esptool.py read_flash 0 0x400000 ..., and the installer runs in Chrome, Opera, and Edge.
  • After flashing, Tasmota broadcasts Wi‑Fi; connecting to 192.168.4.1 lets you enter SSID and password before it joins the router.
  • The web tool has no backup option, so dumping the original firmware first is strongly recommended.
Generated by the language model.
ADVERTISEMENT
This content has been translated flag-pl » flag-en View the original version here
📢 Listen (AI):
  • Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    I will show here how you can easily install Tasmota on a device with ESP8266/ESP8285 or ESP32 via a web installer available on Chrome, Opera and Edge browsers. The described method is much more convenient than the "manual" installation via esptool.py, but it still requires connecting the USB to UART converter to the system, power supply and shorting IO0 to ground. Here I will present the installation process step by step, so that any beginner can handle it.

    The goal of the game will, of course, be to free the "smart" device from the cloud, from the manufacturer's servers and gain full control over it, as well as pairing it with Home Assistant ... but here I will only discuss Tasmota uploading itself. So that's the first step.

    Hardware connection
    I assume that we have already dismantled the device and verified that it is based on a supported chip from the ESP family.
    For programming, a USB to UART converter with 3.3V logic levels is enough, I personally use the cheapest versions where the voltage is selected with a jumper:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    In addition, you need a solid 3.3V source with good current efficiency, because this 3.3V pin from this converter is not suitable for this application. You can use e.g. 5V from USB and power the 3.3V LDO regulator, I sometimes use TC1264, but the AMS1117-3.3V is more popular:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    (okay, if the board has AMS1117-3.3V or another LDO or step down converter, you can connect 5V to its input, so that its output is 3.3V for the WiFi system, it will come out the same ...)
    In addition, you need to short IO0 to ground, it must be at ground level during ESP boot to start bootloader mode. RST I don't even solder. Here is an example of a board with signals for programming (already whitened):
    Close-up of a circuit board with an integrated circuit and connectors.
    Not every device has these signals output, sometimes you have to search and combine.
    Connect the RX from the converter to the TX of the device, and the TX from the converter to the RX of the device.
    ATTENTION: of course, all operations are performed with the system disconnected from the mains!
    And this is my whole programming layout:
    PCB connected to a breadboard with wires.
    During programming, I do not operate RESET, just to enter the bootloader mode, I first short GPIO 0 to ground and then disconnect the power supply for a moment. To boot normally, I disconnect the power, open the GPIO 0 and reconnect the power.
    For details, refer to the ESP catalog note.

    Important - backup - esptool.py
    I haven't seen this online tool able to make a backup, so for the record, for security's sake, this is how you can dump the ESP via esptool.py:
    
    esptool.py read_flash 0 0x400000 Sonoff-NSPanel-20230721-b.bin 
    

    Esptool.py requires Python, although it can also be bundled together with the Arduino ESP package.
    This is the command for the batch size of 4MB, depending on the device you may need to change this size:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    Backup is not mandatory, but I highly recommend you always do it! This will allow you to return to the manufacturer's software if necessary.

    Installation via tasmota.github.io/install
    We open the installation page:
    https://tasmota.github.io/install/
    We are greeted by this view:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    If our browser does not support Serial Port, we will see something like this (screenshot from Firefox, thanks for pointing out @rb401):
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    Select the desired batch version from the list:
    Tasmota firmware selection screen for Sonoff NSPanel with a dropdown list.
    Here I chose the version for Sonoff NSPanel because I just flashed it, but you should choose what interests you.
    Next, a COM port selection window will appear, must select a virtual COM port from our USB to UART converter. As a rule, there is only one, no problem.
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    If the port does not appear, it is worth e.g. checking if something has taken it, e.g. the Cura program, popular among 3D printer users at one time, automatically occupied the COM port for some incomprehensible reason.
    We confirm:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    The erase option can erase all memory before uploading a new batch:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    We confirm:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    Now the installation will start. The USB to UART converter is working, it cannot be disconnected now. We wait patiently.
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    Now the main installation process is underway, it will take up to a few minutes:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    Then we are still waiting for the finalization of the process:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    Ready! Success!
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    In case of need, we can quickly upload the batch again to another device.
    Dialog box of Sonoff NSPanel touchscreen with options for installing Tasmota32 and logs.
    Now you need to disconnect IO0 from ground and reboot! Then Tasmota's WiFi network will appear:
    List of available WiFi networks with a visible network named tasmota-87C448-1096.

    Tasmota setup
    This has basically already been discussed, but briefly: first we connect to Tasmota's WiFi network, then we set information about our WiFi (SSID, password) on the IP address 192.168.4.1 and then Tasmota connects to it and we can get to know its IP, e.g. from our DHCP server on the router:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    After approval:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    On our router:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    Ready:
    Easy Tasmota instalation - guide for online installer tasmota.github.io/install
    That's it for now. For more details on Tasmota, please refer to:
    ESP8266 and Tasmota - controlling the WiFi relay step by step
    For Home Assistant information, please:
    Tutorial Home Assistant - configuration, WiFi, MQTT, Zigbee, Tasmota
    Anyway, there is also an old method of uploading the batch via WiFi:
    SC3-01 SmartLife switch and ESP firmware upload via WIFI (tuya-convert/OTA)

    Summary
    A very simple method. It releases us from at least a few obligations:
    - no need to download flasher
    - no need to install python (in case of esptool.py, because there are also tools that do not require it)
    - no need to look for current binaries (everything Web tool finds itself)
    In addition, it is fast and efficient, and even works on Microsoft Edge.
    I guess the only thing I have to gripe with is the lack of a backup. I didn't see that option there. Maybe I missed something?
    Anyway, maybe someone will find it useful. For standard devices, you probably don't need a copy...
    PS: I attach copies of drivers for CP2102, CH342, CH343, CH9102 and CH340, CH341. Maybe someone will like it.
    Attachments:
    • CH341SER_MAC.ZIP (4.31 MB) You must be logged in to download this attachment.
    • CP210x_Windows_Drivers.zip (6.84 MB) You must be logged in to download this attachment.
    • Mac_OSX_VCP_Driver.zip (1.89 MB) You must be logged in to download this attachment.
    • CP210x_Universal_Windows_Driver.zip (280.12 KB) You must be logged in to download this attachment.
    • CH343SER.ZIP (546.71 KB) You must be logged in to download this attachment.
    • CH341SER.zip (179.66 KB) You must be logged in to download this attachment.

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 14584 posts with rating 12607, helped 654 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • #2 20675888
    Sentymentalny
    Level 16  
    Posts: 127
    Help: 11
    Rate: 26
    I also ordered such a USB to UART converter in a hurry and am waiting for the shipment. In the meantime, in my free time, I looked at other offers and it seems that the CH340 version as "USB - UART converter for ESP8266 ESP01" may be more convenient to use. It costs only 30-40 groszy more, and it already has 3.3V LDO on the board. It also requires minor improvements, but their scope is somewhat smaller.
  • #3 20680240
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14584
    Help: 654
    Rate: 12607
    Indeed, perhaps this is a good alternative.

    As for the topic - a small update - it is worth adding that after hovering the mouse over the list entry, we see the supported platforms:
    Tasmota installer window with dropdown list of firmware variants and visible supported platforms tooltip.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #4 20788151
    artin.bruyen
    Level 17  
    Posts: 339
    Help: 13
    Rate: 129
    I have a question if I may. How to return to a software backup? I uploaded tasmote to NSPanel but I don't have time to play with it at the moment and I want to go back to the original software for now. Thanks in advance.
  • #5 20788181
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14584
    Help: 654
    Rate: 12607
    Have you made a backup?
    You can upload it via esptool.py and the write command.
    For example:
    
    esptool.py write_flash 0 Sqqqqqqq7.bin
    

    If you don't have a backup, I have some dump from NSPanel:
    https://github.com/openshwprojects/FlashDumps/tree/main/IoT/ESP32

    The only problem is that if you used "FlashNextion", you also need to restore flash to Nextion. I saw a backup somewhere on Github. Someone had this problem online and shared the batch, but I don't remember where.
    Helpful post? Buy me a coffee.
  • #6 20788566
    artin.bruyen
    Level 17  
    Posts: 339
    Help: 13
    Rate: 129
    OK thank you. I will check it in my free time. I made a backup.

    FlashNextion or whatever it is, I also made a flash from the console on the tape, but not any backup. I haven't seen anything about it anywhere. I didn't know it needed to be brought back too. I'll have to look for it.
  • #7 20788597
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14584
    Help: 654
    Rate: 12607
    It's good that you asked, because you would be surprised after putting the device together....

    I found something like this, because I restored it once and it worked:
    - ns-panel.tft
    - nspanel_blank.tft
    Both files are attached.

    There's just a small problem - I don't remember which original it is. I think it's the larger file. The smaller one is probably nspanel_blank.tft from some project (you can type it in Google). I don't know.

    But yes, it was probably from here:
    https://github.com/masto/NSPanel-Demo-Files/issues/4
    This ns-panel.tft is the original. The original firmware you need to restore.
    You flash like this:
    Quote:

    You need to put it on an HTTP (not HTTPS) and then run the FlashNextion Command in Tasmota Console with the URL of the tft file. (Don't use the build-in webserver of OpenHAB if I remember correctly it did some wired non standard stuff and doesn't work, because it doesn't provide a content length header)

    You can use this:
    https://www.elektroda.pl/rtvforum/topic3995065.html
    If you have any questions, write. Maybe then I will separate these posts into a separate thread.
    Attachments:
    • ns-panel.zip (2.69 MB) You must be logged in to download this attachment.
    • nspanel_blank.zip (120.19 KB) You must be logged in to download this attachment.
    Helpful post? Buy me a coffee.
  • #8 20789569
    artin.bruyen
    Level 17  
    Posts: 339
    Help: 13
    Rate: 129
    Approx. Thank you.

    So, first I install the tft file via Tasmota via FlashNextion and then I restore the backup via UART, right?
  • ADVERTISEMENT
  • #9 20789573
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14584
    Help: 654
    Rate: 12607
    That's right, I followed this process and it worked. Remember that FlashNextion requires a URL to the file on the HTTP server, so you must, for example, upload it to an HA server so that Tasmota can download it. Just enter the IP address as the URL...
    Helpful post? Buy me a coffee.
  • #10 20789582
    artin.bruyen
    Level 17  
    Posts: 339
    Help: 13
    Rate: 129
    The problem is that I don't have HA. Generally, I bet everything on IObroker.
    I'll try Samba.

    Thanks a lot for your help and quick info.

    EDIT:
    I uploaded the tft file via FlashNextion and it works, the screen appeared. Tomorrow, when I have the UART back, I will upload a backup because nothing works except the tape and the color screen. At least something, because that panel in the wall with the spinning wheel looked terrible and really annoyed me. :) Thanks.
  • ADVERTISEMENT
  • #11 21104007
    artin.bruyen
    Level 17  
    Posts: 339
    Help: 13
    Rate: 129
    I have a request. Again I want to go back to the ori soft because I used the Raspberry for the Klipper for the 3D printer and want to go back, but I don't remember how to create a virtual server to upload these tft files. :( .
  • #12 21104018
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14584
    Help: 654
    Rate: 12607
    And why a virtual server? A regular server is probably enough, or we don't understand each other...

    You can set up a simple server in Python. In cmd:
    
    python -m http.server 8000
    


    Or in Visual Studio, add-on "Run with live server".

    Or download Xampp for Windows....
    Helpful post? Buy me a coffee.
  • #13 21104103
    artin.bruyen
    Level 17  
    Posts: 339
    Help: 13
    Rate: 129
    >>21104018 Because in the console I have to give it as a link yes? Am I mistaken? I can't remember anymore.
📢 Listen (AI):

Topic summary

✨ The discussion focuses on the installation of Tasmota firmware on devices using ESP8266/ESP8285 or ESP32 via a web installer. Users share experiences with USB to UART converters, particularly the CH340 version, which is noted for its convenience and built-in 3.3V LDO. A user inquires about reverting to original firmware after installing Tasmota on an NSPanel, leading to a series of responses detailing backup procedures and the use of esptool.py for flashing firmware. The conversation also covers the necessity of restoring additional files for devices using FlashNextion and provides guidance on setting up a simple HTTP server for file uploads.
Generated by the language model.

FAQ

TL;DR: For beginners flashing 3.3V ESP devices, this guide solves easy Tasmota installation with a browser. As the author says, "A very simple method." Connect USB-UART, pull GPIO0 to ground, flash from Chrome, Opera, or Edge, then configure Wi‑Fi at 192.168.4.1. [#20663029]

Why it matters: It replaces manual flashing steps with a faster browser workflow while still preserving a recovery path through firmware backup.

Option Main tool Extra setup Backup in same workflow Best use
Tasmota web installer Browser + serial port USB-UART, GPIO0 to GND, stable 3.3V power No Fast beginner flashing
Manual flashing esptool.py Python or bundled toolchain Yes Backup, restore, full control

Key insight: The web installer is the easiest path to Tasmota, but it does not replace a proper backup. Dump the original flash first if you may ever need to return to stock firmware.

Quick Facts

  • ESP flashing in the thread uses 3.3V logic and a separate 3.3V supply; the cheap converter’s onboard 3.3V pin is described as unsuitable for powering the target during flashing. [#20663029]
  • The backup example reads 0x400000 bytes, which is a 4 MB flash dump: esptool.py read_flash 0 0x400000 .... [#20663029]
  • First-time Tasmota setup happens on 192.168.4.1, after connecting to the temporary Tasmota Wi‑Fi network broadcast by the device after reboot. [#20663029]
  • A CH340 board sold as a programmer for ESP8266 ESP-01 costs only about 30–40 groszy more and already includes a 3.3V LDO on the board. [#20675888]
  • A simple local HTTP server for FlashNextion can be started with Python on port 8000 using python -m http.server 8000. [#21104018]

How do I install Tasmota on an ESP8266, ESP8285, or ESP32 using the web installer at tasmota.github.io/install?

Use the browser installer with the device already wired for serial flashing. 1. Open the install page in Chrome, Opera, or Edge and choose the correct image. 2. Select the USB-UART COM port and confirm erase if needed. 3. Wait for flashing to finish, remove GPIO0 from ground, reboot, then join Tasmota Wi‑Fi and configure it at 192.168.4.1. [#20663029]

What hardware connections are needed to flash Tasmota over USB-UART, including RX/TX, GPIO0, and power wiring?

You need crossed serial lines, boot pin control, and stable 3.3V power. Connect adapter RX to device TX, and adapter TX to device RX. Hold GPIO0, also called IO0, at ground during bootloader start. Power the ESP from a solid 3.3V source, not directly from the cheap converter’s 3.3V pin. The thread also warns to perform all work with the device disconnected from mains power. [#20663029]

Why is the 3.3V pin from a cheap USB to UART converter often not enough for ESP flashing, and what power supply setup should I use instead?

It is often not enough because the converter’s 3.3V output is not suitable as the main supply for the Wi‑Fi chip during flashing. Use a separate 3.3V source with good current capacity. The thread suggests feeding an LDO such as AMS1117-3.3V or TC1264 from 5V USB, or using the device’s onboard 3.3V regulator if available. [#20663029]

What is GPIO0 bootloader mode on ESP8266 or ESP32, and how do I use it to start flashing?

"GPIO0 bootloader mode" is a startup state that forces an ESP chip into its serial flashing loader, with the key characteristic that GPIO0 must stay at ground level during boot. In the thread’s method, you short GPIO0 to ground, briefly remove power, then power the board again. To boot normally after flashing, remove GPIO0 from ground and power-cycle the device. [#20663029]

Which browsers support the Tasmota online installer, and why does it not work in Firefox?

The thread shows Chrome, Opera, and Microsoft Edge as supported, and Firefox as unsupported. The stated reason is browser support for the Serial Port feature required by the web installer. In Firefox, the page shows a message indicating that serial access is not available, so the browser cannot talk to the USB-UART adapter directly. [#20663029]

What should I do when the COM port does not appear in the Tasmota web installer or is busy because another program is using it?

Check whether another application already opened the serial port, then free it and try again. The thread gives Cura as a real example of software that can occupy a COM port unexpectedly. If the port still does not appear, reconnect the adapter and reopen the installer’s port selector so the virtual COM port can be listed again. [#20663029]

How can I make a full backup of the original ESP firmware with esptool.py before installing Tasmota?

Run esptool.py read_flash 0 0x400000 your-backup.bin before flashing Tasmota. That example reads a full 4 MB image from address 0 and saves it to a file. The author calls backup optional but strongly recommends it, because it gives you a path back to the manufacturer firmware if later needed. [#20663029]

What's the difference between using the Tasmota web installer and flashing manually with esptool.py?

The web installer is easier, while esptool.py gives more control. The browser method avoids downloading a flasher, avoids installing Python, and automatically provides current binaries. Manual flashing still matters because the thread uses esptool.py for backup and restore, including read_flash and write_flash commands that the online tool does not expose. [#20663029]

How do I restore the original firmware backup after replacing it with Tasmota on a Sonoff NSPanel?

Write the saved backup back over UART with esptool.py. The thread’s restore example is esptool.py write_flash 0 Sqqqqqqq7.bin, which writes the backup starting at address 0. For NSPanel, restore is incomplete if you changed the display side too, because you may also need to put the original Nextion TFT file back. [#20788181]

What is FlashNextion, and why do I also need to restore the Nextion TFT firmware when going back from Tasmota to stock NSPanel software?

"FlashNextion" is a Tasmota console command that downloads and writes a Nextion display .tft file, with the primary function of restoring or changing the NSPanel screen firmware independently of the ESP firmware. You need it because restoring only the ESP backup can still leave the display on the wrong screen image if that Nextion flash was changed earlier. [#20788597]

In what order should I restore an NSPanel to stock: FlashNextion first or the ESP backup over UART first?

Restore the Nextion TFT first, then write the ESP backup over UART. The thread explicitly confirms this order and says that following it worked. A real failure case is also described: after FlashNextion, the screen worked again, but nothing else worked until the UART backup was restored. [#20789582]

How do I host a .tft file over plain HTTP so the Tasmota FlashNextion command can download it?

Host the file from any simple HTTP server that exposes a direct URL. The thread gives three examples: python -m http.server 8000, a Visual Studio “Run with live server” add-on, or XAMPP on Windows. The important detail is plain HTTP, not HTTPS, so Tasmota can fetch the .tft file from the URL you enter in the console. [#21104018]

Why does FlashNextion require an HTTP URL in the Tasmota console, and what kind of link should I enter there?

It requires an HTTP URL because Tasmota downloads the .tft file directly from a server during the FlashNextion process. Enter a plain HTTP link that points straight to the file, typically using the server’s IP address and file path. The thread also notes one edge case: a server that does not send a proper content-length header may fail. [#20788597]

Which USB to UART adapter is more convenient for ESP flashing: a basic converter plus external LDO, or a CH340 board sold as a programmer for ESP8266 ESP-01?

The CH340 ESP-01 programmer board is described as more convenient. It costs only about 30–40 groszy more and already includes a 3.3V LDO, so it reduces extra wiring. The basic converter still works, but in this thread it needs a separate regulator and more setup around stable 3.3V power. [#20675888]

Where can I check which ESP platforms and devices are supported by a given image in the Tasmota online installer list?

Check by hovering your mouse over the image entry in the installer list. The thread adds this as a later update and says the supported platforms appear on hover. That makes it easier to confirm whether a selected build matches your ESP8266, ESP8285, ESP32, or a device-specific target such as NSPanel. [#20680240]
Generated by the language model.
ADVERTISEMENT