Personal collection of home-automation hardware and firmware around Apple HomeKit, spanning multiple generations of boards and HomeKit integration techniques.
Each top-level folder is one project. Projects with a custom PCB have:
<Project>/
├── firmware/ one subfolder per firmware version (generation)
├── circuit/ PCB design files (.brd / .sch / .cam)
└── enclosure/ 3D-printable bodies (where applicable)
Projects without a custom PCB omit circuit/, and use enclosure/ only if a
3D-printed body exists.
PCCWDplus — custom PCB
Main panel board. Succession: MQTT (ESP8266) → HomeSpan (ESP32-C5). Gen 2 (HAP/ESP8266) was attempted but failed; see archive notes.
firmware/Mqtt.MordomusESP8266/— gen 1, MQTT/ESP8266 — deployedfirmware/HSPCCWDplus/— gen 3, HomeSpan/ESP32-C5 — WIP, pin-compatible drop-in
MultiAccessory — custom PCB
Multi-device controller board. Gen 2 still deployed, gen 3 in progress.
firmware/HKMultiAccessory/— gen 2, HAP/ESP8266 — deployedfirmware/HSPMultiAccessory/— gen 3, HomeSpan/ESP32-C5 — WIPfirmware/HKSprinklerValve/— gen 2 valve variant on the same board
ESP8266-ADC — custom PCB
Shared ESP8266-with-ADC board used for analog sensing applications.
firmware/HKSolarPanel/— gen 2, HAP/ESP8266 — deployed, no successor plannedfirmware/mqtt-SolarPanel/— gen 1, archived firmwarefirmware/Mqtt.ESP8266PlantComputer/— gen 1, archived firmware
HSPCCWD — no custom hardware
HomeSpan reference implementation on a bare ESP32 devkit, serial-only.
ESP32Door — no custom hardware
Door sensor using an off-the-shelf ESP32 module + 3D-printed enclosure.
Feeder — no custom hardware, 3D-printed body
firmware/HKFEEDER/— currentfirmware/mqtt-RabitFeeder/— earlier version
| Gen | Stack | Chip | Status |
|---|---|---|---|
| 1 | MQTT bridge | ESP8266 | Mqtt.MordomusESP8266 still deployed |
| 2 | Arduino-HomeKit | ESP8266 | HKMultiAccessory, HKSolarPanel still deployed; HKPCCWD archived (failed) |
| 3 | HomeSpan | ESP32 / C5 | HSPCCWDplus, HSPMultiAccessory — WIP |
Gen 2 failed on the PCCWD board because the ESP8266 could not handle HomeKit at that board's accessory complexity. That's why the PCCWD lineage jumps directly from gen 1 (MQTT) to gen 3 (HomeSpan).
Everything superseded, retired, unfinished, unrelated, or not tied to an active hardware project. Includes:
HKPCCWD/(gen 2 failure)- Early MQTT experiments (lightbulbs, rollerblinds, power meter, etc.)
- Side experiments (CameraWebServer, ESP-32CAM, SONOFFAPI, WaterDetector)
Tradfri-ICC-1/— reverse-engineering research that informed MultiAccessoryMordomusAPI/,PowerMeter/,pccwdapi/,node-red-contrib-pccwd/— no longer usedhomebridge-host/— Homebridge configuration, Node-RED flows, backups