Learn ESP32, ESP8266, Arduino, and Raspberry Pi

Basics project 109f How to flash Shelly 2.5 with Tasmota firmware

Basics: Project 109f

Project name:  How to flash Shelly 2.5 with Tasmota firmware

Tags: Shelly, Shelly 2.5, Tasmota Firmware

Attachments: NONE

In this project, you needed these parts (Dear visitors. You can support our project buy clicking on the links of parts and buying them or donate us to keep this website alive. Thank you):

1. Shelly 2.5 1 pc

shelly 2.5

2. AC lamp power cord with switch 1 pc

sonoff mini

3. Jumper cables F-M or F-F


4. USB to TTL /Serial adaptor/converter 1 pc

5. Breadboard 1 pc



We will learn how to flash Shelly 2.5 with Tasmota firmware. (Please note when you do this your Shelly Cloud app will not work with your Shelly 2.5)

Understanding the Tasmota

Tasmota is an alternative firmware for ESP8266 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Written for Arduino IDE and PlatformIO.

It was initially written for Sonoff devices, but it supports devices from many other brands like Electrodragon, MagicHome, AriLux, Blitzwolf, and Allterco. You can also install it on development boards like the Wemos D1 mini and the ESP8266 NodeMCU.

You can read more about it here.

Understanding the Shelly 2.5

Shelly® is a family of innovative Devices, which allow remote control of electric appli-ances through mobile phone, PC or home automation system. Shelly® uses WiFi to connect to the devices controlling it. They can be in the same WiFi network or they can use remote access (through the Internet). Shelly® may work standalone, without being managed by a home automation controller, in the local WiFi network, as well as through a cloud service, from everywhere the User has Internet access. Shelly® has an integrated web server, through which the User may adjust, control and monitor the Device. Shelly® has two WiFi modes – access Point (AP) and Client mode (CM). To operate in Client Mode, a WiFi router must be located within the range of the Device. Shelly® devices can communicate directly with other WiFi devices through HTTP protocol. An API can be provided by the Manufacturer. Shelly® devices may be available for monitor and control even if the User is outside the range of the local WiFi network, as long as the WiFi router is connected to the Internet. The cloud function
could be used, which is activated through the web server of the Device or through the settings in the Shelly Cloud mobile application. The User can register and access Shelly Cloud, using either Android or iOS mobile applications, or any internet browser and the web site:

POWER SUPPLY. 110-230V ±10, 50/60Hz AC and 24-60V DC Shelly 2.5 is compatible with all major international voltage standards

WIRELESS 802.11 b/g/n(2.4 GHz). Shelly 2.5 can connect directly to any Wi-Fi network, no HUB required or can operate as an Access Point.

MAXIMUM LOAD PER OUTPUT. 10A / 230V 50/60Hz. You can control a wide range of home appliances and office equipment

DUAL POWER METERING. Shelly 2.5 has two integrated precise power meters. You can measure the consumption for each channel separately.

OVERHEATING PROTECTION. Internal temperature sensor for overheating protection

DOUBLE RELAY SWITCH & ROLLER SHUTTER FUNCTIONALITY. You can set up Shelly without the need of any additional controller or hub, thanks to the embedded web interface.

EMBEDDED WEB SERVER. You can set up Shelly without the need of any additional controller or hub, thanks to the embedded web interface.

SHELLY MOBILE APP CONTROL. Turn devices on/off directly from your smartphone or tablet. You can control lighting, heating and any other connected electrical appliance in your house.

SUNRISE/SUNSET SHEDULES. Shelly 2.5 can automatically turn on/off based on the sunrise and sunset hours

WEEKLY SCHEDULES. Choose a time and create custom daily schedules for your devices.

Shelly 2.5 comes with a programming/debug header which can be used to flash alternative firmware on the device. It has an ESP8266 inside, with a 2MB flash chip. A USB-to-UART adapter is needed as well as a reliable 3.3V with at least 350 mA drive capability.

Shelly 2.5 is compatible with Alexa, Google Home, Android, and iOS. With the voice assistants, you can give commands to Shelly with your voice while you are sitting on the couch. And also, you can manage Shelly 2.5 through your mobile phone while you are at the store.

You can read more about it here. The user guide is here.

Signals and connections of the Shelly 2.5

shelly 2.5
shelly 2.5

N – Neutral input (110-230V AC); + Positive input (24-60V DC)

L – Line input (110-230V AC); – Negative input (24-60V DC)

O1 – Output 1;

O2 – Output 2;

SW1 – Switch 1 (input controlling O1);

SW2 – Switch 2 (input controlling O2).

The Shelly 2.5 model comes with a partially exposed programming/debug header which can be used to flash Tasmota on the device. A USB-to-UART adapter is needed as well as a reliable 3.3V with at least 350 mA drive capability. The following diagram shows the device pinout and power source voltage selection jumper.

shelly 2.5 tasmota


tasmota shelly 2.5

To be able to flash the Tasmota firmware you need to get into flash mode. Therefore connect a wire from GPIO0 to ground during flashing only.

Step by Step instruction


DO NOT CONNECT ANYTHING TO ANY GPIOs OF THESE DEVICES!!! (No sensors, no switches, nothing) The GPIOs on the Shelly are connected to AC power! Only use a Shelly as designed. Do not connect AC power and the serial connection at the same time The GND connection of the Shelly is connected to the live AC wire. Connecting serial with your PC will fry your PC.

Make sure that your Shelly 2.5 is not connected to mains power. DISCONNECT MAINS POWER, WHEN MAINS POWER CONNECTED COVER BOX MUST BE CLOSED!

1. Please note that you have several options to download and install the Tasmotizer: Option 1: get Windows standalone executable, Option 2: pip3 install tasmotizer and then simply run from the shell/command line; Option 3: Clone the repo, pip3 install PyQt5 pyserial followed by python3 and flash away!

2. Go to Github and download the latest release of Tasmotizer. As we are using the Windows 7 64Bits OS version – we download tasmotizer-1.1a.exe.


3.Please note that you do not need to install it.

4. Go to Github and download the latest version of tasmota-lite.bin.

tasmota sonoff mini

2. Flashing

1. Make sure that your Shelly 2.5 is not connected to mains power. DISCONNECT MAINS POWER, WHEN MAINS POWER CONNECTED COVER BOX MUST BE CLOSED!

2.Do wiring. To be able to flash the Tasmota firmware you need to get into flash mode. The wire from GPIO0 to ground should be connected.

The onboard connector is 1.27mm raster with 1mm diameter holes. Normal Dupont cables won’t fit. To avoid damaging the pcb, use either a stripped Ethernet cable and breadboard as an adapter, or female header socket legs (see image below). The legs of a female header socket fit nicely. Solder them to custom-crimped Dupont wires for use with your USB-to-UART adapter. These often come with Wemos D1 Mini boards in multiple lengths. There is also another option – you can use F-F jumper cables with resistor legs.

tasmota shelly 2.5

3.Plug in USB to TTL converter to your PC USB port. Double click on tasmotizer-1.1a.exe. tasmotizer-1.1a.exe and tasmota.bin should be in the same folder of your PC. Select port (we have COM7, where the USB to TTL attached to) and select image type (bin) and image – tasmota.bin. Click on Tasmotize button.

tasmota shelly 2.5

4.The flashing process starts.

tasmota shelly 2.5
tasmota shelly 2.5

5. When the flashing process completed click on OK button.

tasmota shelly 2.5

6. Close the Tasmotizer program. Disconnect GPIO0 from ground.

7. Plug out the USB to TTL converter and connect it back to PC USB port.

3. Configuring

1. The tasmota_xxxxxx-xxxx SSID should be available.

tasmota shelly 2.5

3.Connect to the tasmota_xxxxxx-xxxx network. Go to any web browser and type the

4.Now we can configure the Wifi network. Click Scan for networks and select your own Wifi network.

tasmota sonoff mini
tasmota shelly 2.5

5.Select SSID and type your Wifi network password and click on Save button. The Shelly 2.5 reboots and connects your network.

tasmota sonoff mini

6.Use a program like Advance IP scanner to find the IP of your Shelly 2.5 or check your routers DHCP list.

tasmota shelly 2.5

7.Type your Shelly 2.5 IP address in any web browser (in our case The Tasmota GUI appears.

tasmota shelly 2.5

8.Click on Configuration. Then click on Configure Template.

tasmota shelly 2.5

9.Set these Settings:

Module type: Shelly 2.5

Based on Generic (18)

GPIO # Component
GPIO00 Led1i(56)
GPIO01 None
GPIO02 Button1(17)
GPIO03 None
GPIO04 Relay1(21)
GPIO05 Switch2n(83)
GPIO09 None
GPIO10 None
GPIO13 Switch1n(82)
GPIO15 Relay2(22)
GPIO16 ADE7953_IRQ(156)
ADC0 Temperature(2)

10.Click on Save and the Shelly 2.5 will reboot.

shelly 2.5 tasmota

11. Congrats. Your Shelly 2.5 is ready for use.


We have learnt how to flash Shelly 2.5 mini with Tasmota firmware.

Thank you for reading and supporting us.


  • No libraries required for this project

Project resources:

  • See attachments on the beginning of this project description

Check for more DIY projects on and!

If you are looking for high quality PCBs PCBWay is the best choice: