Firmware Features

One controller, a dedicated build for each platform. Both run 100% locally, with the same built-in web UI.

Pairs with the Apple Home app through the HomeKit Accessory Protocol (HAP) and includes a full-featured web UI. No third-party bridge or Home Assistant required. Just an Apple Home Hub (Apple TV or HomePod) for remote access and automations.

At a glance

  • Pairs with the Apple Home app through the HomeKit Accessory Protocol. No bridge or Home Assistant required
  • Siri, scenes and automations work like any other thermostat
  • Open source, built on esp-homekit-sdk

Good to know

  • Remote access and automations need an Apple Home Hub (an Apple TV or HomePod)
  • Full control is also available from the built-in web UI, no Apple device needed

HomeKit Pairing

  • Scan the QR code from the web UI or the flasher
  • Remote access and automations need an Apple Home Hub (Apple TV or HomePod)
  • The Home app reports the accessory as uncertified; choose to add it anyway
HomeKit pairing card in the web UI showing the QR code and setup code
HomeKit pairing in the built-in web UI

Climate Control

Modes

Off, Heat, Cool, Auto, Dry, Fan

Temperature

0.5°C precision with +/− step buttons

Dual setpoints

Independent heat/cool thresholds in Auto mode, persisted to flash

Fan speed

Auto, Quiet, Low, Med, High, Max

Climate controls in the web UI: mode selector and target temperature beside the room reading
Mode and temperature control in the web UI

Vane Control

  • Vertical vane: auto, five positions, and swing
  • Wide (horizontal) vane: five positions, split, and swing
  • Controlled from the built-in web UI, or from a paired Serin Link dial. The Apple Home app has no vane control.
Airflow controls in the web UI: fan speed, vertical vane, and horizontal vane
Fan speed and vane control in the web UI

Diagnostics

  • Compressor frequency
  • Outside temperature
  • Runtime hours
  • Error codes
  • Sub mode and stage information

The RGB LED on the board is a diagnostic in its own right: the color says which part of the device is talking and the motion says what it is doing, so a unit that cannot reach the heat pump sits solid red and a healthy one sits dark. The status light table lists every signal.

Heat pump diagnostics in the web UI: compressor state, frequency, outside temperature, runtime, and error code
Diagnostics in the built-in web UI

Room Temperature Sensor

A wall unit measures the air at ceiling height, right by its own return intake, which usually reads warmer than the part of the room you live in. A thermometer placed at room level gives the heat pump a better number to work with.

The Room Sensor card in the web UI lists every source the controller can offer: the heat pump's own sensor, up to four Bluetooth Low Energy thermometers, and a paired Serin Link. Add a thermometer by scanning for it or by typing its address, name it after the room it sits in, then either pick one source or average several. No Bluetooth pairing is involved, since the firmware identifies the sensor type from its advertisements.

  • Supported sensors: Govee (H5072, H5075, H5074, H5051, H5052, H5071, and the H51xx family including H5174, H5177 and GV5179), Xiaomi with custom firmware (LYWSD03MMC, CGG1 running PVVX or ATC1441), SwitchBot (Meter, Meter Plus, Meter Pro, Meter Pro CO2, Indoor/Outdoor Meter), BTHome v2 (Shelly BLU H&T, generic)
  • Single or average: Feed the heat pump one sensor, or check several and feed their average, with a calibration offset per sensor under Advanced
  • Live status: Temperature, humidity, battery level, signal strength, and how long ago each sensor last reported
  • Its own tile in Apple Home: The first remote sensor also pairs as a separate accessory reporting temperature, humidity, and battery, with a low battery warning at 20 percent or below
  • Automatic fallback: A sensor that goes quiet past the stale timeout (10 minutes by default, adjustable from 30 seconds to an hour) drops out, and the heat pump falls back to its own sensor. Your selection is kept, so it resumes when readings return
Room sensor card in the web UI in Average mode: the heat pump sensor, two named BLE thermometers with their battery and signal, and a Serin Link, with the two thermometers checked and the averaged reading shown above them
Choosing the room temperature sources in the web UI

Crash Loop Safe Mode


OTA Updates

  • One-click update check: the web UI compares your running version against the latest published release and installs it in a single tap, with no manual download
  • Manual firmware upload via web UI or curl
  • SHA256 integrity verification when the upload supplies a hash, which the one-click update always does
  • Automatic rollback if validation fails after update
Firmware card in the web UI with a one-click update check and manual upload
One-click over-the-air updates

Web UI

A single-page interface at http://Serin-XXXX.local (or http://<device-ip>) for full control from any browser:

  • Thermostat mode and temperature control
  • Fan and vane adjustments
  • Pairing status and QR code
  • Device settings (name, poll interval, log level, °C/°F toggle)
  • WiFi network scanner for easy setup
  • Real-time log streaming via WebSocket
Device settings in the web UI: name, temperature unit, vane type, and unit capabilities
Device settings in the web UI

Supported Boards

BoardStatus
M5Stack NanoC6 (ESP32-C6)Supported
M5Stack Atom S3 Lite (ESP32-S3)Supported
ESP32-C3 SuperMini / XIAONot tested
Generic ESP32 DevKitNot tested

Source Code

The HomeKit-compatible firmware is open source. See the GitHub repository for protocol documentation, project structure, and build instructions.


The Serin Controller, a small Wi-Fi board with the CN105-to-Grove cable attached

5.0 · 16 reviews on Etsy

Get the Serin Controller

The pre-assembled board with the CN105 cable already attached. Nothing to solder or crimp, and free shipping in the US.

Buy Now from $35

Already have a board?

The firmware is free. Install the HomeKit-compatible build from your browser in about two minutes, then follow the setup guide to connect and pair.

Building your own? The parts list covers the boards this runs on and the CN105 cable, including the connector part numbers if you want to crimp it yourself.