{"id":27382091,"url":"https://github.com/lukaskirner/ota-security","last_synced_at":"2025-10-11T13:09:40.698Z","repository":{"id":98096821,"uuid":"352637324","full_name":"lukaskirner/ota-security","owner":"lukaskirner","description":"Secure Over-the-air (OTA) firmware updates for ESP32 - Seminararbeit (Hauptseminar SS21)","archived":false,"fork":false,"pushed_at":"2021-07-14T14:31:22.000Z","size":631,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T15:35:30.804Z","etag":null,"topics":["esp-idf","esp32","ota","ota-update","paper"],"latest_commit_sha":null,"homepage":"","language":"TeX","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/lukaskirner.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":"2021-03-29T12:35:45.000Z","updated_at":"2021-07-14T14:34:35.000Z","dependencies_parsed_at":"2023-05-23T16:45:39.805Z","dependency_job_id":null,"html_url":"https://github.com/lukaskirner/ota-security","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lukaskirner/ota-security","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaskirner%2Fota-security","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaskirner%2Fota-security/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaskirner%2Fota-security/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaskirner%2Fota-security/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukaskirner","download_url":"https://codeload.github.com/lukaskirner/ota-security/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaskirner%2Fota-security/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265464433,"owners_count":23770324,"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":["esp-idf","esp32","ota","ota-update","paper"],"created_at":"2025-04-13T15:26:58.728Z","updated_at":"2025-10-11T13:09:35.661Z","avatar_url":"https://github.com/lukaskirner.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Secure Over-the-air (OTA) firmware updates for microcontrollers like ESP32 - Seminararbeit\nThis is a paper that was written by me at the Munich University of Applied Sciences in the course of the main seminar in the summer semester 2021. This repository incldues the paper (`./latex`) and the implementation code (`./demo`).\n\n## Testing\n### Requirements\n1. AWS Account\n2. Domain hosted in AWS Route53\n3. ESP32 (hardware)\n4. Python3.8+\n5. OpenSSL\n6. aws-cli\n7. terraform\n8. VS Code\n9. [esp-idf extension for VS Code](https://marketplace.visualstudio.com/items?itemName=espressif.esp-idf-extension)\n\n### Four step setup (Unix systems)\n1. Install the required tools\n    - aws-cli (also configure it with your credentials)\n    - terraform\n    - esp-idf extension for VS Code (install esp-idf with this extension)\n2. Open shell inside the `demo` folder and execute `setup.sh`\n3. Build \u0026 flash firmware to your ESP32\n    - create `./main/secrets.h` with your WiFi settings:\n        ```\n        #define WIFI_SSID \u003cssid\u003e\n        #define WIFI_PASSPHARSE \u003cpassword\u003e\n        ```\n    - build firmware\n    - flash firmware to ESP32\n4. Build \u0026 upload new firmware\n    - change version string inside `version.txt`\n    - build new firmware but clean build folder before\n    - upload to firmware S3 bucket\n\nNow if you start monitoring your ESP32 with the old firmware you will see the ESP32 trying to connect to your configured WiFi network. After successfully connecting to the WiFi it tries to get the new firmware. If you have done everythin right you will see your device reboot wiht the new firmware.\n\n### Four step setup (Windows systems)\n1. Use WSL: [link](https://docs.microsoft.com/en-us/windows/wsl/install-win10)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaskirner%2Fota-security","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukaskirner%2Fota-security","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaskirner%2Fota-security/lists"}