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.

LightWhat it means
OffHealthy. This is the normal running state
White solidBooting. Clears when the web UI is up, about five seconds in
White slow pulseA firmware update is being written. Leave it powered. If it never finishes, see OTA update fails or device appears bricked
White fast blinkIdentify: something asked the device to show itself. Stops after three seconds
Blue slow pulseThe setup hotspot is open, waiting for you to join it
Blue fast blinkTrying the WiFi credentials you submitted. Up to about 30 seconds
Blue solidWiFi lost, reconnecting. Only on boards without a separate blue WiFi LED. See device keeps disconnecting from WiFi
Green solidConfirmation, held for a few seconds: WiFi joined, or a Serin Link paired
Red solidNo answer from the heat pump over CN105. See CN105 connected but no data
Red fast blink, then stopsWhat you just tried failed: credentials rejected, or a Link pairing did not take
Red fast blink, continuousThe heat pump is reporting an error code. The web UI shows which one
Yellow slow pulseSafe mode after repeated crashes. See the light is pulsing yellow
Purple slow pulseA Serin Link pairing window is open
Orange fast blinkThe Serin Link was forgotten. The device restarts straight after
Cyan slow pulseWaiting to be paired, nothing has claimed it yet (Google Home & Alexa build)
Cyan fast blinkA 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.

What the light does while you hold the button

While the button is held, the light previews what letting go will do.

Hold timeLightRelease action
2 to 7 secondsPurple solidOpen a Serin Link pairing window, or forget the paired Link
7 to 10 secondsRed fast blinkNothing at all. A deliberate dead zone
10 seconds or moreRed fast blinkStored WiFi credentials are erased

The dead zone is there so that overshooting the pairing tier does not cost you your WiFi settings. On boards that have a button but no RGB LED the same timings apply, without the visual warning.

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 serin or 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.1 manually 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.
Climate entity shows as "unavailable" in Home Assistant
  • Verify the HVAC unit power is on; the device communicates via the unit's control board.
  • Check that the CN105 cable is firmly seated at both ends. Turn off power at the breaker before unplugging or reseating the CN105 end.
  • Check ESPHome logs for UART communication errors (visit the device IP in a browser or use the ESPHome dashboard logs).
  • Ensure TX/RX wires are not swapped; refer to the wiring reference.
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 the Serin-XXXX network); no IP lookup needed.
  • If .local doesn't resolve (some Android devices and networks block mDNS), confirm the device IP in your router's DHCP list and use http://<device-ip>.
  • Use http:// (not https://); the device does not support SSL.
  • If the device lost WiFi, it may be in AP mode; connect to the Serin-XXXX network and try http://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.