{"id":23655197,"url":"https://github.com/caite21/esp32-robots","last_synced_at":"2026-05-09T19:33:11.691Z","repository":{"id":269228442,"uuid":"896272430","full_name":"caite21/ESP32-Robots","owner":"caite21","description":"Connected ESP32-based Robot Programs and Designs","archived":false,"fork":false,"pushed_at":"2025-01-28T20:16:33.000Z","size":56,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-20T07:07:03.023Z","etag":null,"topics":["ble","esp","esp-now","esp32","freertos","iot","remote-control","robotics","wheeled-robots"],"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/caite21.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"zenodo":null}},"created_at":"2024-11-29T23:39:32.000Z","updated_at":"2025-01-28T20:16:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"b582c2ea-9e0d-4f0e-b94c-481d2043c9c9","html_url":"https://github.com/caite21/ESP32-Robots","commit_stats":null,"previous_names":["caite21/esp32-robots"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/caite21/ESP32-Robots","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caite21%2FESP32-Robots","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caite21%2FESP32-Robots/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caite21%2FESP32-Robots/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caite21%2FESP32-Robots/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caite21","download_url":"https://codeload.github.com/caite21/ESP32-Robots/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caite21%2FESP32-Robots/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260590439,"owners_count":23033060,"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":["ble","esp","esp-now","esp32","freertos","iot","remote-control","robotics","wheeled-robots"],"created_at":"2024-12-28T19:51:52.227Z","updated_at":"2026-05-09T19:33:11.655Z","avatar_url":"https://github.com/caite21.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32 Home Robots and Devices\n\nThis repository is a work in progress, featuring ongoing projects aimed at building a smarter and more automated home. From a humanoid robot and delivery bot to BLE-controlled lights, smart doors, and more, each project is a small step toward integrating intelligence, automation, and convenience into everyday living.\n\n## BLE Light\n\nThis project uses the ESP-IDF SDK and ESP32 NimBLE stack to implement a BLE GATT server that allows smartphone control of light power and color, automatically turns off all lights after a timer, and sends a notification when the timer expires.\n\n**Requirements:**\n- Hardware: ESP32 Development Board\n- Software: ESP-IDF SDK\n- Dependencies: NimBLE stack, FreeRTOS\n- Additional Tools for Testing and Debugging: LightBlue, Docker, QEMU, VS Code\n\n\n## Humanoid Robot Design\n\nThis system uses parallel task management to independently control the upper and lower body movements, ensuring synchronized and dynamic motion. Servo movements are smoothed with step delays, incorporating acceleration and deceleration adjustments for more natural motion.\n\n\n\u003cp\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/33eeecd6-4677-4fbd-a872-94bbbf2eefce\" alt=\"Humanoid\" width=\"43%\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/a473b7e6-6665-4e33-9bf3-f1a85def5217\" alt=\"Humanoid\" width=\"43%\"/\u003e\n\u003c/p\u003e\n\nVersion 2.1 (left) Version 1.0 (right)\n\n**Key Features:**\n- **Parallel Control:** Independently manages upper and lower body movements.\n- **Smooth Motion:** Servo movements are gradually slowed and smoothed with adjustable delays for acceleration and deceleration.\n- **Modular Design:** The object-oriented programming (OOP) structure abstracts parallel servo steps and organizes servos into logical body part groups (e.g., leg, legs, arm, arms), simplifying control and improving code maintainability.\n\n**Components:** \n- ESP32-WROOM-32D\n- x12 MG90S Metal Gear Micro Servos\n- Adafruit 16-Channel 12-bit PWM/Servo Driver (I2C)\n- MPU-6050 Accelerometer and Gyroscope (I2C)\n- 6V Power Supply for Servo Driver\n- 3.3V Power Supply for Servo Driver logic, MPU-6050 logic, and ESP32\n\n\n## RC RoboCar Design\n\n**Key Features:**\n- **Wireless Communication:** Utilizes ESP-NOW for low-latency, reliable communication between the remote control and the robot.\n- **Skid Steering Control:** Implements skid-steering logic using data from dual joysticks on the remote control.\n- **Support for Heavy Loads:** Equipped with 4 support wheels to distribute weight, reduce strain, and ensure stable heavy load handling.\n\n\n\u003cimg src=\"https://github.com/user-attachments/assets/c6a26b6b-00a3-4c9e-8731-a4ce020789a2\" alt=\"Robo Car gif\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/a2301321-068f-44e5-b97a-933604c310ef\" alt=\"Remote Control\" width=\"260px\"/\u003e\n\nRoboCar and Remote Control\n\n**Components:** \n- x2 ESP32-WROOM-32D\n- L298N Dual H-Bridge Motor Driver\n- x2 DC Gearbox Motor \"TT Motor\"\n- x2 Dual-Axis Joystick Module\n- 3.3V, 5V, and 9V Power Supplies\n\n\n\u003cp\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/fd1674b6-fb37-43bd-a88e-9d3303b20929\" alt=\"Robo Car Schematic\" width=\"390px\"/\u003e \n\u0026nbsp\u0026nbsp\u0026nbsp\u0026nbsp\u0026nbsp\u0026nbsp\u0026nbsp\u0026nbsp\u0026nbsp\u0026nbsp\u0026nbsp\u0026nbsp\n\u003cimg src=\"https://github.com/user-attachments/assets/8af3e560-f5a4-484a-88ce-18e1c9abfe71\" alt=\"Controller Schematic\" width=\"310px\"/\u003e\n\n\u003c/p\u003e\n\nRoboCar Schematic and Remote Control Schematic\n\n\u003c!---\n## Quadruped\n--\u003e\n\n\n## IoT Design\nThe IoT system employs a centralized architecture with a single server managing communication and control for multiple ESP32 clients. \nIt uses Wi-Fi for seamless connectivity and WebSocket for low-latency, real-time bidirectional communication, ensuring efficient \ncommand execution. \nAdditional communication protocols include Bluetooth Low Energy (BLE) and ESP-NOW, providing versatile and efficient options for data exchange.\n\n\n- **Web Interface Clients** initiate commands via a user-friendly interface.\n- **ESP32 Server** acts as a central controller, hosting the web interface and relaying commands (JSON) to the appropriate ESP32 clients.\n- **ESP32 Clients** execute hardware-specific actions based on commands received from the server.\n\n\n![IoT Diagram](https://github.com/user-attachments/assets/f9649429-6e01-4b28-90c7-2389f3cdd0c4)\n\n\n\u003c!---\n**Web Interface:**\n\u003cimg src=\"\" alt=\"Web Interface\" width=\"29%\"/\u003e\n--\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaite21%2Fesp32-robots","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaite21%2Fesp32-robots","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaite21%2Fesp32-robots/lists"}