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

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *