{"id":18302545,"url":"https://github.com/gemesa/esp32-mqtt","last_synced_at":"2026-04-18T17:02:29.002Z","repository":{"id":175685376,"uuid":"654243888","full_name":"gemesa/esp32-mqtt","owner":"gemesa","description":"ESP32 MQTT sandbox","archived":false,"fork":false,"pushed_at":"2023-06-15T20:44:08.000Z","size":514,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T10:12:16.755Z","etag":null,"topics":["aws","aws-iot","certificate","embedded","esp32","mqtt","psk","ssl-certificate","ssl-psk","wifi"],"latest_commit_sha":null,"homepage":"https://shadowshell.io/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gemesa.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":"2023-06-15T17:35:32.000Z","updated_at":"2024-09-03T16:38:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"e3842aa3-3b12-4193-8256-4e529a99aee9","html_url":"https://github.com/gemesa/esp32-mqtt","commit_stats":null,"previous_names":["gemesa/esp32-mqtt"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gemesa/esp32-mqtt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemesa%2Fesp32-mqtt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemesa%2Fesp32-mqtt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemesa%2Fesp32-mqtt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemesa%2Fesp32-mqtt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gemesa","download_url":"https://codeload.github.com/gemesa/esp32-mqtt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemesa%2Fesp32-mqtt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31976805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T16:27:12.723Z","status":"ssl_error","status_checked_at":"2026-04-18T16:27:11.140Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["aws","aws-iot","certificate","embedded","esp32","mqtt","psk","ssl-certificate","ssl-psk","wifi"],"created_at":"2024-11-05T15:20:24.650Z","updated_at":"2026-04-18T17:02:28.947Z","avatar_url":"https://github.com/gemesa.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# esp32-mqtt\n\nesp32-mqtt is a sandbox to explore the MQTT capabilities of the ESP32, for example:\n- connect to AWS IoT broker using ssl transport with client certificate, see [example 1](/ssl_mutual_auth/)\n- connect to local broker using ssl transport with PSK, see [example 2](/ssl_psk/)\n\n## Toolchain installation, firmware building and flashing\n\n### Prerequisites\n\n- [ESP-IDF](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/)\n\nNote: ESP-IDF is added as a submodule mainly for reference (to browse the ESP32 libraries if necessary). You can use it to install the toolchain or clone the [original repo](https://github.com/espressif/esp-idf). If you use the submodule you need to initialize the submodules recursively first:\n\n```\n$ git submodule update --init --recursive\n```\n\nTLDR installation steps (Fedora 38):\n\n```\n$ sudo dnf upgrade --refresh\n$ sudo dnf install git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx\n$ mkdir -p ~/esp\n$ cd ~/esp\n$ git clone --recursive https://github.com/espressif/esp-idf.git\n$ cd ~/esp/esp-idf\n$ ./install.sh esp32\n$ . $HOME/esp/esp-idf/export.sh\n\n```\n\n### How to build\n\n```\n$ cd \u003cexample\u003e\n$ idf.py menuconfig\n# configure Wi-Fi under \"Example Connection Configuration\" menu (WiFi SSID and WiFi Password), save and quit\n$ idf.py build\n```\n\n### How to flash\n\n```\n$ sudo usermod -a -G dialout $USER\n# restart your terminal\n$ cd \u003cexample\u003e\n$ idf.py flash\n```\n\nIf you encounter the following problem:\n\n```\n$ idf.py flash\nExecuting action: flash\nSerial port /dev/ttyUSB0\n/dev/ttyUSB0 failed to connect: Could not open /dev/ttyUSB0, the port doesn't exist\nNo serial ports found. Connect a device, or use '-p PORT' option to set a specific port.\n```\n\nUnplug and replug your ESP32 board, then:\n\n```\n$ sudo chmod a+rw /dev/ttyUSB0\n$ idf.py flash\n```\n\n### How to monitor ESP32 logs\n\n```\n$ sudo screen /dev/ttyUSB0 115200\n```\n\nIf you want to quit press `Ctlr+A` then `D`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemesa%2Fesp32-mqtt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgemesa%2Fesp32-mqtt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemesa%2Fesp32-mqtt/lists"}