diff options
| -rw-r--r-- | README.md | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..90348ae --- /dev/null +++ b/README.md @@ -0,0 +1,39 @@ +# ESP HomeKit Intercom + +## Overview + +An ESP32 HomeKit implementation of a [Lobby Door Intercom](https://wrt.nth.io/luke/siri-controlled-1970s-intercom-door) +with a solenoid door lock control and a voltage-based doorbell "buzzer". + +This is a reimplementation of the [original based on a RaspberryPi Zero W and HAP-NodeJS](https://github.com/lukehoersten/homekit-door). + +The impetus for this ESP32 implementation was [Espressif's HAP SDK](https://github.com/espressif/esp-homekit-sdk) which +is much better than the official [Apple "ADK"](https://github.com/espressif/esp-apple-homekit-adk). + +## Electronics + +The input voltage for the doorbell has a 23VDC and a 52VAC component and the same circuit is shared with all the units +in a teir. I haven't yet determined exactly how the buzzer indexes to the AC/DC voltage change but it's pulled +high. When the buzzer is triggered, the ADC measures a voltage drop of about 20%. I'm assuming this is the DC component +only measured by the ADC. + +## Partition Sizing + +When flashing, the following error may occur: + +``` +E (703) esp_image: Image length 1435760 doesn't fit in partition length 1048576 +E (703) boot: Factory app partition is not bootable +E (705) boot: No bootable app partitions in the partition table +``` + +The fix is [documented](https://github.com/micropython/micropython-esp32/issues/235) as the following: + +`esp-idf/components/partition_table/partitions_singleapp.csv` +``` +# Name, Type, SubType, Offset, Size, Flags +# Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap +nvs, data, nvs, , 0x6000, +phy_init, data, phy, , 0x1000, +factory, app, factory, , 0x180000, # Change from 1M to 0x180000 +``` |
