{"id":17843801,"url":"https://github.com/mc-cat-tty/doorbellcamfirmware","last_synced_at":"2025-07-18T19:35:39.982Z","repository":{"id":156773081,"uuid":"491410958","full_name":"mc-cat-tty/DoorbellCamFirmware","owner":"mc-cat-tty","description":"Part of DoorbellCam project: firmware for esp32-based notifier","archived":false,"fork":false,"pushed_at":"2023-02-07T23:02:54.000Z","size":121,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T10:23:44.506Z","etag":null,"topics":["custom-pcb","domotic","esp-idf","esp32","esp32-idf","freertos","hardware","home-automation","iot","led-ring","notifier","platformio"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mc-cat-tty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"mc_cat_tty","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-05-12T07:36:41.000Z","updated_at":"2023-05-09T15:04:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"c255066e-1aaa-461f-a0be-9e45dca8c9d5","html_url":"https://github.com/mc-cat-tty/DoorbellCamFirmware","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/mc-cat-tty/DoorbellCamFirmware","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mc-cat-tty%2FDoorbellCamFirmware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mc-cat-tty%2FDoorbellCamFirmware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mc-cat-tty%2FDoorbellCamFirmware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mc-cat-tty%2FDoorbellCamFirmware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mc-cat-tty","download_url":"https://codeload.github.com/mc-cat-tty/DoorbellCamFirmware/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mc-cat-tty%2FDoorbellCamFirmware/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265820261,"owners_count":23833563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom-pcb","domotic","esp-idf","esp32","esp32-idf","freertos","hardware","home-automation","iot","led-ring","notifier","platformio"],"created_at":"2024-10-27T21:26:51.103Z","updated_at":"2025-07-18T19:35:39.961Z","avatar_url":"https://github.com/mc-cat-tty.png","language":"C++","funding_links":["https://ko-fi.com/mc_cat_tty"],"categories":[],"sub_categories":[],"readme":"\u003c!-- # DoorbellCamFirmware --\u003e\nFirmware for custom-made **notifier** based on **esp32** module. Notifications are received from a **wireless 433MHz** demodulator and shown through a series of **light effects**, which represent the state of the doorbell's FSM. A demux is connected to the esp32 in order to control a **led ring**; atm implemented animations are just forward and reverse **spinner**.\n\nYou can find other parts of the project at:\n - [https://github.com/mc-cat-tty/DoorbellCamDaemon](https://github.com/mc-cat-tty/DoorbellCamDaemon)\n - [https://github.com/mc-cat-tty/DoorbellCamPhy](https://github.com/mc-cat-tty/DoorbellCamPhy)\n\n\n## 4Users\n 1. Download _receiver\\_fw.bin_ and _transmitter\\_fw.bin_ from [https://github.com/mc-cat-tty/DoorbellCamFirmware/releases/latest](https://github.com/mc-cat-tty/DoorbellCamFirmware/releases/latest)\n\n 2. Flash them on your ESP32s\n```bash\nesptool.py -p /dev/ttyUSB0 -b 115200 write_flash -fm dio -z 0x00 [transmitter|receiver]_fw.bin\n```\n\nWarning: the upload port may be different on your setup.\n\n\n## 4Devs\n\n### Dependencies\n - PIO - Platform IO (suggested)\n - ESP Tool\n - IDF Monitor\n - xtensa-esp32-elf package\n\nYou may need to add `export PATH=\"$HOME/.platformio/penv/bin/:$PATH\"` to your `~/.bashrc` or `~/.zshrc` shell configuration file.\n\n### How to build\nTransmitter:\n```bash\npio run --environment transmitter\n```\n\nReceiver:\n```bash\npio run --environment receiver\n```\n\n### How to flash\nMove into *DoorbellCamFirmware/.pio/build/[transmitter|receiver]*\n\n```bash\nesptool.py -p /dev/ttyUSB0 -b 115200 write_flash -fm dio -z 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 firmware.bin\n```\n\n### How to debug\nMove into *DoorbellCamFirmware/.pio/build/[transmitter|receiver]*\n\nDump all symbols:\n```bash\nreadelf -s firmware.elf\n```\n\nTranslate address to file:line (the manual way):\n```bash\naddr2line -e firmware.elf 0x400d19b3:0x3ffb7ed0\n```\n\nWhere `0x400d19b3:0x3ffb7ed0` is one of the address you can find in a esp32 core dump's backtrace.\n\nTraslate a whole backtracke (the smart way):\n```bash\nidf_monitor.py --port /dev/ttyUSB0 firmware.elf\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmc-cat-tty%2Fdoorbellcamfirmware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmc-cat-tty%2Fdoorbellcamfirmware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmc-cat-tty%2Fdoorbellcamfirmware/lists"}