{"id":16239661,"url":"https://github.com/nopnop2002/esp-idf-uart2bt","last_synced_at":"2025-03-19T16:31:33.388Z","repository":{"id":108987879,"uuid":"502199236","full_name":"nopnop2002/esp-idf-uart2bt","owner":"nopnop2002","description":"UART to Bluetooth bridge for ESP-IDF","archived":false,"fork":false,"pushed_at":"2025-01-30T22:51:39.000Z","size":120,"stargazers_count":27,"open_issues_count":1,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-28T19:53:16.342Z","etag":null,"topics":["ble","bluetooth","esp-idf","esp32","gateway","uart"],"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/nopnop2002.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":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-10T22:47:35.000Z","updated_at":"2025-02-01T13:20:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"ae363fe0-bcd2-4b98-9fe7-9ec710d873f5","html_url":"https://github.com/nopnop2002/esp-idf-uart2bt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-uart2bt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-uart2bt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-uart2bt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-uart2bt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nopnop2002","download_url":"https://codeload.github.com/nopnop2002/esp-idf-uart2bt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244006260,"owners_count":20382441,"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","bluetooth","esp-idf","esp32","gateway","uart"],"created_at":"2024-10-10T13:44:35.808Z","updated_at":"2025-03-19T16:31:33.383Z","avatar_url":"https://github.com/nopnop2002.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# esp-idf-uart2bt\nUART to Bluetooth bridge for ESP-IDF.\n\n![Android-2](https://user-images.githubusercontent.com/6020549/173160564-4790a2cf-d084-400e-9a75-89cc2655f12e.JPG)\n\n![urt2bt](https://user-images.githubusercontent.com/6020549/173161730-496501d3-163b-4e58-bb5b-f2fdfaa7854a.jpg)\n\n# Software requirements\nESP-IDF V5.0 or later.   \nESP-IDF V4.4 release branch reached EOL in July 2024.   \n\n\n# Using classic bluetooth (ESP32 only)\n\n```\ngit clone https://github.com/nopnop2002/esp-idf-uart2bt\ncd esp-idf-uart2bt/classic_bt\nidf.py set-target esp32\nidf.py menuconfig\nidf.py flash\n```\n\n\n# Using ble 4.2\n\n```\ngit clone https://github.com/nopnop2002/esp-idf-uart2bt\ncd esp-idf-uart2bt/ble\nidf.py set-target {esp32/esp32s3/esp32c2/esp32c3/esp32c6}\nidf.py menuconfig\nidf.py flash\n```\n\n# Configuration\n![config-top](https://user-images.githubusercontent.com/6020549/173160346-be330c9b-2aef-4d12-8906-9b3b3a4e0225.jpg)\n![config-uart](https://user-images.githubusercontent.com/6020549/173160343-fcf36ffe-d51e-44bc-a299-8f3e2eb5fe9b.jpg)\n\n\n\n# Write this sketch on Arduino Uno.   \nYou can use any AtMega microcontroller.   \n\n```\nunsigned long lastMillis = 0;\n\nvoid setup() {\n  Serial.begin(115200);\n}\n\nvoid loop() {\n  while (Serial.available()) {\n    String command = Serial.readStringUntil('\\n');\n    Serial.println(command);\n  }\n\n  if(lastMillis + 1000 \u003c= millis()){\n    Serial.print(\"Hello World \");\n    Serial.println(millis());\n    lastMillis += 1000;\n  }\n\n  delay(1);\n}\n```\n\n\n# Connect ESP32 and AtMega328 using wire cable   \n\n|AtMega328||ESP32|ESP32S3|ESP32C2/C3/C6|\n|:-:|:-:|:-:|:-:|:-:|\n|TX|--|GPIO16|GPIO2|GPIO1|\n|RX|--|GPIO17|GPIO1|GPIO0|\n|GND|--|GND|GND|GND|\n\n__You can change it to any pin using menuconfig.__   \n\n\n# Android Application   \nI used [this](https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal) app.   \n\n# iOS Application   \n[This](https://apps.apple.com/jp/app/bluetooth-v2-1-spp-setup/id6449416841) might work, but I don't have iOS so I don't know.   \n\n# References\n\nhttps://github.com/nopnop2002/esp-idf-web-serial\n\nhttps://github.com/nopnop2002/esp-idf-uart2udp\n\nhttps://github.com/nopnop2002/esp-idf-uart2mqtt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopnop2002%2Fesp-idf-uart2bt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnopnop2002%2Fesp-idf-uart2bt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopnop2002%2Fesp-idf-uart2bt/lists"}