Flash the firmware
The entire install runs in this browser tab. Follow the steps on the left; the console on the right shows what the board reports.
Install ESPHome, the Apple Home compatible or the Google Home & Amazon Alexa compatible firmware on your board over USB. Every build is free, and flashing takes about two minutes.
Checking browser support…
Use a USB data cable. Charge-only cables will not be detected.
STEP 1 OF 5 — CONNECT
Scan with the Home app on your iPhone, or type the setup code. This is the same code from the initial setup; it does not change.
Scan from the Google Home or Amazon Alexa app, or type the pairing code. This is the same code from the initial setup; it does not change.
Setup code
Shown from this browser's saved record. The board itself was not accessed, and no cable is needed.
No device was selected
If the board did not appear in the list, confirm it is connected with a data cable, then click Connect again.
The board was disconnected
This does not harm the board. Reconnect it with the same cable and click Connect again.
The connection failed
Connect the board
Connect the board with a USB data cable, click the button below, and select the board from the list your browser shows. The console on the right displays what is read from the board. Nothing is written until you choose to install.
Connect the board
Click the button and select the board from the list your browser shows. It usually appears under the name of its USB chip, such as "USB JTAG/serial debug unit".
Flash another board
Connect the new board and click Connect. The saved device above is kept; each board receives its own entry and pairing code.
Works with: M5Stack NanoC6 and Atom S3 Lite, tested with every release. ESP32-C3 SuperMini boards and generic DevKits generally work as well.
STEP 1 OF 5 — CONNECT
The port opened, but the board did not respond
The most common causes are a charge-only cable, a board that requires the BOOT button held while plugging in, or missing USB serial drivers.
- Try a cable known to carry data, such as one used to sync a phone.
- Hold the board's BOOT button while plugging it in, then click Connect again.
- Older boards require a one-time installation of the CP210x or CH340 drivers.
STEP 1 OF 5 — CONNECT
This chip is not supported
The board identified itself as an older ESP32. The firmware requires an ESP32-C6, S3 or C3. The cable and connection are working; the chip generation is too old.
A newer board is required
The M5Stack NanoC6 costs about $7 and is the board every release is tested on. The parts list includes links and alternatives.
STEP 1 OF 5 — CONNECT
This browser does not support USB flashing
Safari and Firefox do not support Web Serial, which flashing requires. This is a browser limitation, not a problem with your board or cable.
Open this page in Chrome, Edge or Brave
All three work on Windows, macOS and Linux. Copy the link below and open it in one of them. The board does not need to be connected until then.
AVAILABLE IN THIS BROWSER
STEP 2 OF 5 — CHOOSE FIRMWARE
Supported chip, untested board
This ESP32 board is not recognized by its USB id. The firmware targets the chip, so it should work, but this exact board has not been tested.
An error occurred
Select the firmware to install
Your board is supported. All builds are free. Switching later takes another two-minute flash.
The Apple Home and the Google Home & Amazon Alexa builds are not certified by Apple, Google, Amazon or Samsung. Pairing shows a one-time uncertified accessory notice.
Not sure which? Compare the options →
The board already runs . Reinstalling the same version is safe and can repair a corrupted install.
This build is older than the installed version (). Settings from the newer version may be lost.
Switching away from Apple Home removes its HomeKit pairing. Remove the accessory in the Home app first, or it will show as "not responding".
"Erase everything first" is on. Wi-Fi credentials and any pairing on the board will be removed, and setup starts over. It was turned on automatically: this is a fresh install, and the build's partition layout differs from what is on the board, so it requires a full erase. Uncheck it to keep the board's current contents.
STEP 3 OF 5 — INSTALL
Writing the firmware
Do not disconnect the cable. If it is unplugged, no harm is done; reconnect and start the write again. The console shows the raw write output.
Preparing the write
Next step: connect the board to Wi-Fi. 2.4 GHz networks only.
STEP 3 OF 5 — INSTALL
The write stopped at 0%. The board stopped responding.
No damage is done. The board remains in bootloader mode, and the next write starts from the beginning.
Before trying again
- Reseat the USB cable at both ends. Avoid hubs; connect directly to the computer.
- Close other tabs or applications that may be using the port, such as a serial monitor or another flasher.
- If the write fails twice, see the troubleshooting guide for drivers and boot buttons.
STEP 4 OF 5 — WI-FI
The board could not join your network
The network rejected the password. Check the password and try again.
No 2.4 GHz networks were found
If your router is 5 GHz-only, turn on its 2.4 GHz band. If your network is hidden, type its name below.
Connect the board to Wi-Fi
The new firmware is running and responding over the cable. The password is sent directly to the board, not to any server. The board detects 2.4 GHz networks only.
STEP 5 OF 5 — PAIR
Firmware installed
Scan with the Home app on your iPhone, or type the setup code. iOS will report that the accessory is uncertified. Choose Add Anyway.
The board's MAC address could not be read, so the setup code cannot be shown here. Reconnect the board over USB and read it again to retrieve the code.
Setup code
The code is derived from the board's MAC address and does not change. It is saved in this browser.
Open the Google Home or Amazon Alexa app, add a device, and scan this code. Your Wi-Fi name and password are passed to the board during setup; there is nothing to enter here.
The board’s MAC address could not be read, so the pairing code cannot be shown here. Reconnect the board over USB and read it again to retrieve the code. The board also prints the code and QR on the serial console at boot.
Pairing code
The app will report the accessory as uncertified; choose to add it anyway. The code is derived from the board’s MAC address and does not change. It is saved in this browser.
Home Assistant discovers the board over mDNS, normally within one minute. Open Settings → Devices & services and look for a new ESPHome entry.
No code is required; the board announces itself on the network. After it is adopted, wire it to the CN105 port on the indoor unit.
Scan the code to join the hotspot, or select it from your Wi-Fi list. A setup page opens where you enter your home network name and password.
Look for a network whose name begins with "serin-", followed by six characters unique to your board, and join it with the password below. A setup page opens where you enter your home network and password.
The board's MAC address could not be read, so its exact hotspot name is unknown. Look for a network whose name begins with "Serin-" and join it with the password below.
- Network
- Password
AVAILABLE FROM YOUR PHONE
Need a board? The Serin controller ships ready to flash. Parts list →
Board not detected?
The most common cause is a charge-only cable. Otherwise, install the USB serial drivers or see the troubleshooting guide.
After flashing: wiring the board
Turn off power at the breaker, seat the CN105-to-Grove cable, and place the board inside the indoor unit. Future updates are delivered over Wi-Fi.
What the firmware includes
Climate, vane and fan control, room sensors, and diagnostics the factory app does not expose. Sources and licenses.