Smartmi Evaporative Humidifier 2 - dhewg/esphome-miot GitHub Wiki
Disassembly
Remove the top part of the humidifier — the cover — using plastic tools. A plastic card might also be helpful. There are no screws here. Directly under the cover, there is a board with an ESP32.
Flashing
To enter bootloader mode on the ESP32, you need to briefly connect GPIO00 and GPIO02 to GND before powering it on (connect the mains power supply — do not power the board via the UART adapter!). PCB is protected with some kind of "glue" against moisture, so I recommend carefully scraping off two pins (GPIO0 & GPIO02) with a sharp knife to ensure contact for soldering or holding pin headers in place. You can use any GND point — I recommend the one on the left above the component marked "U6", labeled "G". You can solder wires, but it's not necessary — I used a temporary wire (GPIO DuPont wires) and held it in place with a small ball of modeling clay to ensure good contact.
Turn on the mains power while keeping GPIO00 and GPIO02 connected to GND. After a few seconds, you can remove the "bridge".
Next, connect the GND of the UART adapter to any GND pad on the PCB (marked "G"), and connect the UART RX to the PCB’s TX pad, and UART TX to the PCB’s RX pad. Soldering is not required, but make sure the pins don’t slip out — hold them at an angle if needed. Then connect the UART adapter to your computer via USB and use esptool (for example, to install esptool on an Arch-based system: yay -S esptool. Make sure your user is in the uucp group to access serial ports: sudo usermod -aG uucp $USER).
Check the connection to the ESP32:
First, download the original firmware (preferably twice and compare the files to ensure consistency):
Then flash the new esphome firmware:
Turn off the mains power. Disconnect all the wires and power on the device. If everything went well, it should appear in ESPHome :)