Flashing the SONOFF SwitchMan M5-3C-120 with Tasmota
The SONOFF SwitchMan M5 series marks a noticeable change from the older SONOFF models. If you’ve worked with the T1/T2/T3 Touch switches before, you might expect a straightforward ESP8266-based flashing experience. However, the M5 lineup — including the M5-3C-120 — is built around the ESP32 chip. That means a few things are different, and if you try flashing it the “old way,” you might run into some frustrating surprises.
The Problem
Like many of us, I started by connecting my trusty FTDI USB-to-Serial adapter to the switch, uploaded the latest Tasmota32 binary using `esptool.py`, and waited for that familiar Tasmota-XXXX access point to appear.
Everything looked fine during flashing. The upload completed successfully, the verification passed — but the AP never showed up.
Curious, I connected to the device’s serial console to see what was going on. Instead of the usual Tasmota boot log, I was greeted by this repeating output:
rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) invalid header: 0x66206f4e invalid header: 0x66206f4e invalid header: 0x66206f4e invalid header: 0x66206f4e invalid header: 0x66206f4e invalid header: 0x66206f4e invalid header: 0x66206f4e ets Jul 29 2019 12:21:46
The ESP32 was stuck in a reboot loop, unable to boot into Tasmota.
The Root Cause
After some head-scratching and a bit of trial and error, I found the culprit: insufficient power.
The ESP32 is significantly more power-hungry than the ESP8266, especially during Wi-Fi initialization. The FTDI adapter alone simply couldn’t supply enough current for stable operation. The flash went fine because writing to flash doesn’t require much power — but when the chip tried to initialize Wi-Fi, it brown-out-reset continuously.
The Solution
The fix turned out to be simple: give the ESP32 a bit more juice.
I connected an external 3.3V power source (in parallel with the FTDI’s 3.3V line, but making sure both shared a common ground), and immediately the device booted properly. The serial console showed a normal Tasmota startup sequence, and within seconds the Tasmota-XXXX Wi-Fi AP appeared.
Problem solved.
Lessons Learned
If you’re flashing the SONOFF M5 or any ESP32-based smart switch, Don’t rely on your FTDI alone most can only deliver around 50–70mA at 3.3V, while the ESP32 can easily demand 300–500mA bursts, Use a dedicated 3.3V power supply rated for at least 500mA, or better yet, 1A.

Resources
- https://ota.tasmota.com/tasmota32/release/
- https://github.com/arendst/Tasmota/discussions/15669
- https://github.com/arendst/Tasmota/discussions/17115
- Device Templates: https://templates.blakadder.com/sonoff_SwitchMan_M5-3C.html
- https://notenoughtech.com/home-automation/flashing-tasmota-on-sonoff-switchman/