{"id":25519602,"url":"https://github.com/erenelagz/esp32-robotic-arm-controller","last_synced_at":"2025-10-06T20:05:05.758Z","repository":{"id":269280748,"uuid":"906943202","full_name":"ErenElagz/Esp32-Robotic-Arm-Controller","owner":"ErenElagz","description":"Robotic Arm Controler Using Esp32 Blueooth Controller","archived":false,"fork":false,"pushed_at":"2024-12-24T15:05:52.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T20:02:02.419Z","etag":null,"topics":["arduino","bluetooth","esp32","microcontroller","robotic-arm","robotics"],"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/ErenElagz.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}},"created_at":"2024-12-22T11:30:04.000Z","updated_at":"2025-01-11T11:38:33.000Z","dependencies_parsed_at":"2024-12-22T12:26:23.812Z","dependency_job_id":"52f50df0-35ee-49b8-81d5-717a2808c1be","html_url":"https://github.com/ErenElagz/Esp32-Robotic-Arm-Controller","commit_stats":null,"previous_names":["erenelagz/esp32-robotic-arm","erenelagz/esp32-robotic-arm-controller"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ErenElagz/Esp32-Robotic-Arm-Controller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErenElagz%2FEsp32-Robotic-Arm-Controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErenElagz%2FEsp32-Robotic-Arm-Controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErenElagz%2FEsp32-Robotic-Arm-Controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErenElagz%2FEsp32-Robotic-Arm-Controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ErenElagz","download_url":"https://codeload.github.com/ErenElagz/Esp32-Robotic-Arm-Controller/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErenElagz%2FEsp32-Robotic-Arm-Controller/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278671745,"owners_count":26025745,"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-10-06T02:00:05.630Z","response_time":65,"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":["arduino","bluetooth","esp32","microcontroller","robotic-arm","robotics"],"created_at":"2025-02-19T17:21:28.006Z","updated_at":"2025-10-06T20:05:05.716Z","avatar_url":"https://github.com/ErenElagz.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32 Robotic Arm with Bluetooth Control\n\n## Description\nThis project demonstrates how to control a robotic arm using an ESP32 microcontroller. The arm has three servo motors and an electromagnet, which can be controlled via Bluetooth commands.\n\n## Features\n- Control three servo motors to adjust the robotic arm angles.\n- Toggle an electromagnet on and off for object manipulation.\n- Communicate with the ESP32 using Bluetooth commands.\n\n## Components Required\n- ESP32 microcontroller\n- 3 x Servo motors\n- Electromagnet\n- Power supply\n- Connecting wires\n- Breadboard or PCB\n\n## Pin Configuration\n| Component          | ESP32 Pin |\n|--------------------|-----------|\n| Servo 1           | GPIO 25   |\n| Servo 2           | GPIO 26   |\n| Servo 3           | GPIO 27   |\n| Electromagnet     | GPIO 23   |\n\n## Software Requirements\n- Arduino IDE\n- ESP32 board library\n- ESP32Servo library\n\n## Installation\n1. Install the [Arduino IDE](https://www.arduino.cc/en/software/).\n2. Add the ESP32 board library to the Arduino IDE.\n   - Go to `File \u003e Preferences`.\n   - Add the following URL to the \"Additional Board Manager URLs\":\n     ```\n     https://dl.espressif.com/dl/package_esp32_index.json\n     ```\n   - Open `Tools \u003e Board \u003e Board Manager` and install the ESP32 library.\n3. Install the ESP32Servo library via `Sketch \u003e Include Library \u003e Manage Libraries`.\n\n## Code Explanation\n### Libraries Used\n- **ESP32Servo**: To control the servo motors.\n- **BluetoothSerial**: To enable Bluetooth communication.\n\n### Pin Definitions\n- **ELECTROMAGNET_PIN**: GPIO 23 controls the electromagnet.\n- Servo pins are GPIO 25, 26, and 27.\n\n### Commands\nThe ESP32 accepts the following commands via Bluetooth:\n| Command           | Description                                |\n|-------------------|--------------------------------------------|\n| `S1:\u003cangle\u003e`      | Set Servo 1 angle (0–180 degrees)         |\n| `S2:\u003cangle\u003e`      | Set Servo 2 angle (0–180 degrees)         |\n| `S3:\u003cangle\u003e`      | Set Servo 3 angle (0–180 degrees)         |\n| `MAGNET_ON`       | Turn the electromagnet on                 |\n| `MAGNET_OFF`      | Turn the electromagnet off                |\n\n### Setup\n1. Initialize Bluetooth with the name `ESP32_RobotArm`.\n2. Attach the servos to their respective pins.\n3. Set the servos to their starting angles.\n4. Configure the electromagnet pin as an output and set it to `LOW`.\n\n### Loop\n- Check for incoming Bluetooth commands.\n- Parse commands to control the servo angles or electromagnet state.\n- Handle unrecognized commands gracefully.\n\n## Usage\n1. Upload the code to the ESP32 using the Arduino IDE.\n2. Pair the ESP32 with your phone or computer using Bluetooth.\n3. Use a Bluetooth terminal app to send commands.\n   - Example apps: \"Serial Bluetooth Terminal\" for Android or \"LightBlue\" for iOS.\n4. Send the appropriate commands to control the robotic arm.\n\n## Example Commands\n- Set Servo 1 to 45 degrees:\n  ```\n  S1:45\n  ```\n- Turn on the electromagnet:\n  ```\n  MAGNET_ON\n  ```\n- Set Servo 2 to 90 degrees:\n  ```\n  S2:90\n  ```\n\n## Troubleshooting\n- Ensure the ESP32 is powered correctly.\n- Verify that the servos and electromagnet are properly connected.\n- Check for any syntax errors in the Bluetooth commands.\n\n## License\nThis project is open-source and available under the MIT License.\n\n## Author\nThis code and documentation were created for educational and experimental purposes.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferenelagz%2Fesp32-robotic-arm-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferenelagz%2Fesp32-robotic-arm-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferenelagz%2Fesp32-robotic-arm-controller/lists"}