{"id":45888715,"url":"https://github.com/ADNTIO/crispy-bootloader-rp2040-rs","last_synced_at":"2026-03-13T04:00:49.263Z","repository":{"id":336527774,"uuid":"1147854750","full_name":"ADNTIO/crispy-bootloader-rp2040-rs","owner":"ADNTIO","description":"RP2040 A/B bootloader in Rust — copies firmware from flash to RAM with dual-bank support.","archived":false,"fork":false,"pushed_at":"2026-03-10T20:32:47.000Z","size":412,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-11T00:59:59.204Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/ADNTIO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-MIT","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":"2026-02-02T09:36:15.000Z","updated_at":"2026-03-10T19:50:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ADNTIO/crispy-bootloader-rp2040-rs","commit_stats":null,"previous_names":["adntio/example-minimal-bootloader-rp2040-rs","adntio/crispy-bootloader-rp2040-rs"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/ADNTIO/crispy-bootloader-rp2040-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ADNTIO%2Fcrispy-bootloader-rp2040-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ADNTIO%2Fcrispy-bootloader-rp2040-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ADNTIO%2Fcrispy-bootloader-rp2040-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ADNTIO%2Fcrispy-bootloader-rp2040-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ADNTIO","download_url":"https://codeload.github.com/ADNTIO/crispy-bootloader-rp2040-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ADNTIO%2Fcrispy-bootloader-rp2040-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30446430,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T21:31:01.033Z","status":"ssl_error","status_checked_at":"2026-03-12T21:30:43.161Z","response_time":114,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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-02-27T17:00:24.151Z","updated_at":"2026-03-13T04:00:49.257Z","avatar_url":"https://github.com/ADNTIO.png","language":"Rust","funding_links":[],"categories":["no-std crates"],"sub_categories":["WIP"],"readme":"# Crispy RP2040 - Bootloader + Firmware\n\n\u003e **AI-Assisted Development:** This project is developed with AI assistance under human supervision.\n\u003e The working model is human-in-the-loop AI-assisted development (AI as pair programmer, human as decision-maker).\n\u003e See [Development methodology](docs/explanation/development-methodology.md) and\n\u003e [AI-assisted development concept](docs/explanation/ai-assisted-development.md).\n\nA/B bootloader for RP2040 (Raspberry Pi Pico) written in Rust.\nThe bootloader copies firmware from flash to RAM before executing it and supports two banks for safer updates over USB CDC.\n\nFor full documentation, start here: [`docs/index.md`](docs/index.md)\n\n## Documentation\n\n- Documentation hub: [`docs/index.md`](docs/index.md)\n- First-time setup: [`docs/tutorials/first-bootloader-flash.md`](docs/tutorials/first-bootloader-flash.md)\n- Firmware operations: [`docs/how-to/upload-firmware.md`](docs/how-to/upload-firmware.md)\n- Architecture decisions (ADR): [`docs/explanation/architecture-decisions.md`](docs/explanation/architecture-decisions.md)\n\n## Quick Start\n\n```bash\n# Install rust-objcopy (cargo-binutils) + llvm tools\nmake install-tools\n\n# Show all available targets\nmake help\n\n# Build everything (bootloader UF2 + Rust BIN + C++ firmware)\nmake all\n\n# Build with a specific version\nmake all VERSION=0.3.2\n\n# Show crispy-upload usage\ncargo run --release -p crispy-upload-rs -- --help\n```\n\n## Project Structure\n\n```text\ncrispy-bootloader/       # RP2040 bootloader\ncrispy-fw-sample-rs/     # Sample Rust firmware (RAM execution)\ncrispy-fw-sample-cpp/    # Sample C++ firmware (Pico SDK)\ncrispy-sdk-cpp/          # C++ SDK for Crispy bootloader\ncrispy-common-rs/        # Shared Rust crate (protocol + flash utilities)\ncrispy-common-python/    # Python protocol library (with unit tests)\ncrispy-upload-rs/        # Host CLI (Rust) for upload / status / bank selection\ncrispy-upload-python/    # Host CLI (Python) for firmware upload\nlinker_scripts/          # Memory layouts for bootloader and firmware\ntests/integration/       # Hardware integration + deployment tests\ndocs/                    # Project documentation (Diataxis structure)\nVERSION                  # Single source of truth for project version\n```\n\n## Testing\n\n- Unit tests (Rust + Python): `make test-unit`\n- Hardware integration tests: [`docs/how-to/run-integration-tests.md`](docs/how-to/run-integration-tests.md)\n- Integration tests: `make test-integration`\n- All linters: `make lint`\n\n## License\n\nMIT - Copyright (c) 2026 ADNT Sarl\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FADNTIO%2Fcrispy-bootloader-rp2040-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FADNTIO%2Fcrispy-bootloader-rp2040-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FADNTIO%2Fcrispy-bootloader-rp2040-rs/lists"}