{"id":35687337,"url":"https://github.com/emfcamp/badge-2024-software","last_synced_at":"2026-05-10T20:27:35.131Z","repository":{"id":228361221,"uuid":"751434638","full_name":"emfcamp/badge-2024-software","owner":"emfcamp","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-28T20:39:02.000Z","size":4453,"stargazers_count":52,"open_issues_count":65,"forks_count":36,"subscribers_count":15,"default_branch":"main","last_synced_at":"2026-01-29T10:52:25.624Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/emfcamp.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-01T15:54:45.000Z","updated_at":"2026-01-20T12:49:09.000Z","dependencies_parsed_at":"2025-11-28T12:00:39.036Z","dependency_job_id":null,"html_url":"https://github.com/emfcamp/badge-2024-software","commit_stats":null,"previous_names":["emfcamp/badge-2024-software"],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/emfcamp/badge-2024-software","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emfcamp%2Fbadge-2024-software","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emfcamp%2Fbadge-2024-software/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emfcamp%2Fbadge-2024-software/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emfcamp%2Fbadge-2024-software/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emfcamp","download_url":"https://codeload.github.com/emfcamp/badge-2024-software/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emfcamp%2Fbadge-2024-software/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28941897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T11:39:38.044Z","status":"ssl_error","status_checked_at":"2026-01-31T11:39:27.765Z","response_time":128,"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":[],"created_at":"2026-01-05T22:22:21.624Z","updated_at":"2026-05-10T20:27:35.120Z","avatar_url":"https://github.com/emfcamp.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Micropython](https://github.com/emfcamp/badge-2024-software/actions/workflows/build.yml/badge.svg)](https://github.com/emfcamp/badge-2024-software/actions/workflows/build.yml)\n\n# Tildagon Firmware\n\nWeb flasher is available @ https://emfcamp.github.io/badge-2024-software/\n\n## Running from a checkout\n\nClone the repository including submodules:\n\n    git clone --recursive git@github.com:emfcamp/badge-2024-software.git\n\nConnect your badge via usb, run mpremote to reset, connect to the badge and run the software:\n\n    ./micropython/tools/mpremote/mpremote.py reset; sleep 3; ./micropython/tools/mpremote/mpremote.py mount modules\n    import main\n\nNB: mpremote can also be installed separately: https://docs.micropython.org/en/latest/reference/mpremote.html\n\n## Building\n\nTo build with a consistent toolchain, use docker.\n\nPull the firmware build image:\n\n    docker pull ghcr.io/emfcamp/esp_idf:v5.5.1\n\n(Or build it yourself, if you prefer):\n\n    docker build . -t ghcr.io/emfcamp/esp_idf:v5.5.1\n\nInitialize submodules:\n\n    git submodule update --init --recursive\n\nTo make the docker container with the right version of the ESP-IDF for the latest micropython.\n\nBefore you build the first time, apply any patches to vendored content:\n\n    ./scripts/firstTime.sh\n\nThen to build the images run:\n\n    docker run -it --rm --env \"TARGET=esp32s3\" -v \"$(pwd)\"/:/firmware -u $UID -e HOME=/tmp ghcr.io/emfcamp/esp_idf:v5.5.1\n\nAlternatively, to flash a badge:\n    put the badge into bootloader by disconnecting the usb in, press and hold bat and boop buttons for 20 seconds  then reconnect the usb in and run:\n\n    docker run -it --rm --device /dev/ttyACM0:/dev/ttyUSB0 --env \"TARGET=esp32s3\" -v \"$(pwd)\"/:/firmware -u $UID -e HOME=/tmp ghcr.io/emfcamp/esp_idf:v5.5.1 deploy\n\nwhere /dev/ttyACM0 is the device's endpoint. This value is correct on Linux.\n\n### macOS\n\n\u003e [!IMPORTANT]  \n\u003e On macOS, Docker does not have access to the host's USB devices. You will need to use a different method to flash the badge, such as [using the web flasher](flasher/README.md).\n\n[UTM](https://getutm.app/), using QEMU as the virtualization backend, is an effective way to build and flash the badge.\n\nBefore attempting to flash the badge, but after booting the badge into the bootloader, share the USB device from the host\nto the QEMU container using the USB devices button on the VM's frame.\n\nThe command to flash the badge using docker must be slightly modified on macOS:\n\n    docker run -it --rm --device /dev/ttyACM0:/dev/ttyUSB0 --group-add keep-groups --env \"TARGET=esp32s3\" -v \"$(pwd)\"/:/firmware ghcr.io/emfcamp/esp_idf:v5.2.1 deploy\n\n## Contributing\n\nPlease install pre-commit to ensure ruff is run:\n\n    python3 -m pip install pre-commit\n    pre-commit install\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femfcamp%2Fbadge-2024-software","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femfcamp%2Fbadge-2024-software","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femfcamp%2Fbadge-2024-software/lists"}