{"id":23100511,"url":"https://github.com/pseudoincorrect/wootch","last_synced_at":"2025-07-24T14:33:19.429Z","repository":{"id":92889097,"uuid":"309077277","full_name":"pseudoincorrect/Wootch","owner":"pseudoincorrect","description":"Cute watch-dog for your door","archived":false,"fork":false,"pushed_at":"2021-11-21T08:25:14.000Z","size":22894,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T20:44:26.379Z","etag":null,"topics":["altium-designer","c","embedded","firmware","fullstack","pcb","serverless"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pseudoincorrect.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"Support/readme_assets/altium.png","governance":null,"roadmap":"Roadmap.txt","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-01T11:06:44.000Z","updated_at":"2021-11-21T08:25:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"7db972c6-6908-49b0-8989-00876f202494","html_url":"https://github.com/pseudoincorrect/Wootch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pseudoincorrect/Wootch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pseudoincorrect%2FWootch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pseudoincorrect%2FWootch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pseudoincorrect%2FWootch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pseudoincorrect%2FWootch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pseudoincorrect","download_url":"https://codeload.github.com/pseudoincorrect/Wootch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pseudoincorrect%2FWootch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266855771,"owners_count":23995545,"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","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["altium-designer","c","embedded","firmware","fullstack","pcb","serverless"],"created_at":"2024-12-16T23:32:56.607Z","updated_at":"2025-07-24T14:33:19.385Z","avatar_url":"https://github.com/pseudoincorrect.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eWOOTCH\u003c/h1\u003e\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n\u003cp align=\"center\"\u003e\u003cimg width=50% src=\"Support/readme_assets/wootch_on.jpg\"\u003e\u003c/p\u003e\n\n# What's that ?\n\nIt wootches your door while your kids or/and cats sleep !\n\n# Wait what ?\n\nWootch is an IoT device to monitor a door or any object activity and detect whether it is being moved. It then sends notifications to your registered device (phone or other) in case any activity is happening. Its intuitive Embedded UI helps you to set your level of guard ! (It can vibrate as soon as its door/object get touched, send you a message or let you live your life). It is connected to a cloud application to make sense of the sensors' data.\n\n# A bit more than a simple IoT device\n\nWOOTCH is actually a **Full IoT application** where:\n\n- You manage your users and their devices through an **Admin CLI**\n- Each user can manage their devices through an **User CLI**\n- The Core application is serverless on AWS (AWS-CDK), inexpensive and scalable\n- Devices are paired at any time with just-in-time generated shared secrets\n- Devices are able to send notifications (emails) to their user\n- Devices are custom made (PCB design with Altium)\n- The application is developed through continuous integration\n\n# What's the motives\n\nWell ! Mainly, I like side projects and it was the occasion to experiment with technologies new to me.\n\u003cbr\u003e\nNamely, Embedded UI (LVGL), Wifi enabled MCU (ESP32) and Serverless Application (AWS-CDK Framework).\n\u003cbr\u003e\nPlus it's fun !\n\n# PCB\n\n(Progress: Completed)\n\nWootch's PCB has been made on Altium Designer. it features:\n\n- Battery management, protection and regulators (buck)\n- Inertial Measurement Unit (IMU, accelero + gyro)\n- FPC connector for 3.5 inches LCD (480\\*320px) touch capacitive\n- Wifi enable MCU (esp32)\n- Vibration motor and controller IC\n- Speaker amplifier\n- USB C charging\n- Push buttons and RGB LED\n- Programer/debugger\n\n\u003cbr\u003e (Sensie, was the project's former name)\n\n\u003cp align=\"center\"\u003e\u003cimg align=\"center\" width=40% src=\"Support/readme_assets/wootch_open_all.jpg\"\u003e\u003c/p\u003e\n\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg align=\"center\" width=20% src=\"Support/readme_assets/wootch_hardware.jpg\"\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg align=\"center\"  width=30% src=\"Support/readme_assets/altium.png\"\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\n# Embedded System Firmware\n\n(Progress: Completed)\n\nThe code is written in C (not C++) along the ESP-IDF SDK. (No arduino compatibility here). \u003cbr\u003e\nits main component are the following:\n\n- ESP-IDF SDK, peripheral, wifi, RTOS.\n- LvGL graphical library, to easily create responsive UI and provide support for the touch sensitive screen.\n- esp_mpu60x0_C, MPU6050 IC from Invensense driver in C.\n- ESP-AWS-IOT to interface with the AWS IoT-core service and provide a light-weight, fast and secured with AWS servers. It leverages the MQTT protocol with asymmetric key exchange, symmetric encryption.\n\n\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg align=\"center\" width=27% src=\"Support/readme_assets/start.jpg\"\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;=\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg align=\"center\" width=29% src=\"Support/readme_assets/wifi.jpg\"\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;=\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg align=\"center\"  width=26% src=\"Support/readme_assets/on_wootch.jpg\"\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\n# Serverless Application (Backend)\n\n(Progress: Completed)\n\n## AWS CDK Application\n\n- Receive MQTT messages,\n- Extract data and store them in a dynamoDB Database\n- Run analytics on the stored data\n- Manage Cognito users pool\n- Send alerts/emails to users\n\n## Admin Command Line Interface\n\n- Create and manage Users\n- Create and manage Devices and Certificates\n- Automate the device registration process\n\n## User Command Line Interface\n\n- Log into the wootch account\n- Pair with devices\n- Manage the user's device(s)\n\n\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg align=\"center\" width=90% src=\"Support/readme_assets/cloud_architecture.png\"\u003e\n\u003cbr\u003e\n(Simplified Architecture)\n\u003c/p\u003e\n\u003cbr\u003e\n\n# Future development\n\n- Case for Wootch devices\n- User mobile application (flutter ?)\n- Data analytics\n- Automatic device deployment\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpseudoincorrect%2Fwootch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpseudoincorrect%2Fwootch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpseudoincorrect%2Fwootch/lists"}