Troubleshooting
Solutions to common issues during flashing, setup, and operation.
Status Light
On the HomeKit and Google Home & Alexa builds, the RGB LED on the board is a diagnostic. The color says which part of the device is talking, and the motion says what it is doing: a pulse fades up and down over about two seconds and means working or waiting, solid means a steady state or a fault, and a fast blink is on and off about twice a second for something that wants your attention.
The ESPHome build does not use the LED this way. There it is an ordinary light
entity you control from Home Assistant, and none of the table below applies.
| Light | What it means |
|---|---|
| Off | Healthy. This is the normal running state |
| White solid | Booting. Clears when the web UI is up, about five seconds in |
| White slow pulse | A firmware update is being written. Leave it powered. If it never finishes, see OTA update fails or device appears bricked |
| White fast blink | Identify: something asked the device to show itself. Stops after three seconds |
| Blue slow pulse | The setup hotspot is open, waiting for you to join it |
| Blue fast blink | Trying the WiFi credentials you submitted. Up to about 30 seconds |
| Blue solid | WiFi lost, reconnecting. Only on boards without a separate blue WiFi LED. See device keeps disconnecting from WiFi |
| Green solid | Confirmation, held for a few seconds: WiFi joined, or a Serin Link paired |
| Red solid | No answer from the heat pump over CN105. See CN105 connected but no data |
| Red fast blink, then stops | What you just tried failed: credentials rejected, or a Link pairing did not take |
| Red fast blink, continuous | The heat pump is reporting an error code. The web UI shows which one |
| Yellow slow pulse | Safe mode after repeated crashes. See the light is pulsing yellow |
| Purple slow pulse | A Serin Link pairing window is open |
| Orange fast blink | The Serin Link was forgotten. The device restarts straight after |
| Cyan slow pulse | Waiting to be paired, nothing has claimed it yet (Google Home & Alexa build) |
| Cyan fast blink | A pairing handshake is under way (Google Home & Alexa build) |
Only one signal shows at a time, and setup outranks faults: while the setup hotspot or a Link pairing window is open, that pulse hides a heat pump fault underneath it. The fault reappears once the device is back on your network. Holding the board button overrides everything, because the light has to warn you before the ten-second press erases your WiFi credentials.
On the M5Stack NanoC6 a second, plain blue LED tracks WiFi on its own: lit means disconnected, dark means connected. On that board the RGB LED never uses blue for WiFi loss.
The light is pulsing yellow
- Five unexpected reboots in a row bring the device up in safe mode. It starts WiFi and the web UI only, leaving the CN105 link, pairing, and Bluetooth shut down, and the web UI shows a banner saying so.
- Open the web UI and update the firmware, or re-flash over USB from the flash page.
- If it returns to safe mode after a re-flash, the cause is more likely wiring or power than firmware. Check the CN105 connection and get in touch.
Flashing & USB
Device not detected on USB / no serial port appears
- Use a USB data cable, not a charge-only cable. Test the cable by transferring files to a phone or another device.
- Install the SiLabs USB-to-UART drivers if your OS does not detect the device.
- Try a different USB port, preferably directly on the computer, not through a hub.
- Ensure you are using Chrome, Edge, or Brave. Web Serial is not supported in Safari or Firefox.
Flash fails or times out
- Hold the BOOT button on the board while initiating the flash.
- Try a shorter USB cable; long cables can cause communication issues.
- Close any other serial monitors or programs that may be using the port.
- Refresh the flash page and try again.
"Browser does not support Web Serial" message
- Use a Chromium-based browser: Chrome, Edge, or Brave on desktop.
- Safari and Firefox do not support Web Serial.
- Web Serial is not available on iOS or Android browsers; flash from a desktop computer.
WiFi & Connectivity
WiFi access point does not appear
- Wait at least 60 seconds after powering on; the AP may take time to start on first boot.
- Ensure the device is powered by a stable 5V source (at least 1A).
- ESPHome: AP name is
serin-XXXXXX(password:serinlabs). - HomeKit: AP name is
Serin-XXXX(password:serinlabs). - If the device was previously configured, it may already be connected to your WiFi. Check your router's DHCP client list.
Device connected to WiFi but cannot find its IP address
- Check your router's DHCP client list for a device named
serinor similar. - Use a network scanner like Fing or
nmap. - ESPHome: The ESPHome dashboard in Home Assistant shows the device IP automatically.
Device keeps disconnecting from WiFi
- Check signal strength; the device may be too far from your access point, especially when installed inside the HVAC unit.
- Metal-bodied air handlers (SVZ, MVZ, PEAD, PVA) block WiFi. Mount the controller outside the sheet-metal cabinet using a longer cable; see the parts page.
- Use a 2.4 GHz network. ESP32 devices do not support 5 GHz WiFi.
- Avoid DFS channels on your router, which can cause intermittent drops.
- HomeKit: The fallback AP activates automatically after 5 minutes of disconnect.
Cannot access captive portal at 192.168.4.1
- Disable mobile data on your phone; it may route traffic away from the AP.
- Forget other WiFi networks temporarily to ensure your device stays connected to the setup AP.
- ESPHome: Try
http://192.168.4.1manually in a browser. - HomeKit: Try
http://192.168.4.1.
ESPHome / Home Assistant
Device not showing as "Discovered" in ESPHome dashboard
- Verify the device is connected to WiFi; check your router's DHCP client list for a device named
serin. - Ensure the device and Home Assistant are on the same subnet/VLAN.
- Check that mDNS is not blocked by your router or firewall. Some enterprise networks and certain UniFi configurations can block mDNS.
- Try restarting the ESPHome add-on in Home Assistant (Settings → Add-ons → ESPHome → Restart).
- As a fallback, add the device manually by IP address in the ESPHome dashboard.
Clicked "Adopt" but install fails or times out
- Ensure the device is reachable on the network; try pinging its IP address.
- Check that the ESPHome add-on has enough resources; the first compile can be memory-intensive.
- If OTA fails, connect the device via USB and re-flash from the flash page, then re-adopt.
OTA update fails in ESPHome
- Ensure the device is reachable on the network; try pinging its IP.
- Check available flash space; very large configurations may exceed memory.
- As a fallback, connect via USB and use the flash page to re-flash.
HomeKit / Apple Home
Device not appearing in Apple Home for pairing
- Ensure your iPhone/iPad is on the same WiFi network as the device.
- Try scanning the QR code from the web UI at
http://<device-ip>. - If the device was previously paired, use Reset Pairing in the web UI first.
- Restart the Home app and try again.
"Accessory Not Found" or pairing fails
- Reset pairing from the web UI, then try adding the accessory again.
- Ensure no firewall is blocking mDNS/Bonjour traffic on your network.
- Reboot the device. If it is already installed, turn the power off and on at the breaker rather than unplugging the CN105 connector while the unit is powered.
- Force-close and reopen the Home app on your iPhone/iPad.
Web UI not loading
- Try the hostname
http://Serin-XXXX.local(same XXXX as theSerin-XXXXnetwork); no IP lookup needed. - If
.localdoesn't resolve (some Android devices and networks block mDNS), confirm the device IP in your router's DHCP list and usehttp://<device-ip>. - Use
http://(nothttps://); the device does not support SSL. - If the device lost WiFi, it may be in AP mode; connect to the
Serin-XXXXnetwork and tryhttp://192.168.4.1.
HVAC / CN105 Connection
CN105 connected but no data / climate entity unavailable
- Verify cable orientation; check the wiring reference for correct pin mapping.
- Ensure the HVAC unit power is on at the breaker.
- Confirm your unit has a CN105 port (not CN110). Check your model.
- Check device logs for UART communication errors.
- Try reseating the cable at both ends. Turn off power at the breaker before touching the CN105 end, and restore power only after the connector is fully seated.
- If you crimped your own cable, a miswired or cold-soldered pin is a common culprit. Swapping in a pre-assembled, tested cable rules out wiring as the cause.
Temperature readings are wrong or missing
- Some units report 0°C until the compressor runs for the first time; this is normal.
- For more accurate room temperature, use a remote temperature sensor from Home Assistant instead of the unit's built-in sensor.
- Check that the unit is compatible and communicating (other climate controls should work).
Commands sent but HVAC does not respond
- Some units need 30+ seconds after power-on before accepting serial commands.
- Check TX/RX wiring: the two data wires may be swapped. Turn off power at the breaker before opening the unit, then compare the wiring against the wiring reference.
- If the device's web UI loads or its logs are streaming, the CN105 port is already supplying power to the board. In that case the fault is in the data wiring rather than the power supply.
- If the board runs only when it is connected over USB, the cable is the likely cause. Substituting an assembled, tested cable will confirm it. Turn off power at the breaker before changing the cable.
Firmware & Recovery
How to factory reset the device
- ESPHome: Re-flash via USB using the flash page. This resets all settings.
- HomeKit: A 10-second long-press on the board button erases stored WiFi credentials. The light turns red at seven seconds to warn you before the erase fires; see what the light does while you hold the button. To fully reset, re-flash via USB.
How to switch between firmware builds
- Turn off power at the breaker, unplug the board from the CN105 cable, and connect it to your computer over USB-C, so that it is powered only over USB.
- Go to the flash page and select a different platform.
- Flash the firmware; this completely overwrites the existing firmware.
- WiFi credentials will need to be re-entered after switching.
OTA update fails or device appears bricked
- USB flash always works as recovery. Connect via USB-C and use the flash page.
- HomeKit: The firmware has automatic rollback; if validation fails after an OTA update, it reverts to the previous firmware.
- If the device is unresponsive, hold the BOOT button while plugging in USB, then flash.
Still Need Help?
Include your device logs, board type, and firmware version; it speeds up diagnosis.