{"id":14971052,"url":"https://github.com/esp-rs/esp-idf-sys","last_synced_at":"2025-04-11T03:29:51.781Z","repository":{"id":37924230,"uuid":"314737406","full_name":"esp-rs/esp-idf-sys","owner":"esp-rs","description":"Bindings for ESP-IDF (Espressif's IoT Development Framework)","archived":false,"fork":false,"pushed_at":"2025-03-25T12:20:38.000Z","size":10841,"stargazers_count":311,"open_issues_count":36,"forks_count":138,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-03T23:49:09.579Z","etag":null,"topics":["esp-idf","esp32","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/esp-rs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","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":"2020-11-21T05:05:16.000Z","updated_at":"2025-03-31T20:08:38.000Z","dependencies_parsed_at":"2023-02-17T03:00:39.649Z","dependency_job_id":"c8ab3f03-08bc-4699-8215-39a8f3ff5a3c","html_url":"https://github.com/esp-rs/esp-idf-sys","commit_stats":{"total_commits":501,"total_committers":60,"mean_commits":8.35,"dds":0.5329341317365269,"last_synced_commit":"9cea14dbd8855f2f87346cbe750d856ef873f273"},"previous_names":["ivmarkov/esp-idf-sys"],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fesp-idf-sys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fesp-idf-sys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fesp-idf-sys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp-rs%2Fesp-idf-sys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esp-rs","download_url":"https://codeload.github.com/esp-rs/esp-idf-sys/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248335270,"owners_count":21086545,"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","rust"],"created_at":"2024-09-24T13:44:39.087Z","updated_at":"2025-04-11T03:29:51.763Z","avatar_url":"https://github.com/esp-rs.png","language":"Rust","readme":"# Raw Rust bindings for the [ESP IDF SDK](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/)\n\n[![CI](https://github.com/esp-rs/esp-idf-sys/actions/workflows/ci.yml/badge.svg)](https://github.com/esp-rs/esp-idf-sys/actions/workflows/ci.yml)\n[![crates.io](https://img.shields.io/crates/v/esp-idf-sys.svg)](https://crates.io/crates/esp-idf-sys)\n[![Documentation](https://img.shields.io/badge/docs-esp--rs-brightgreen)](https://esp-rs.github.io/esp-idf-sys/esp_idf_sys/index.html)\n[![Matrix](https://img.shields.io/matrix/esp-rs:matrix.org?label=join%20matrix\u0026color=BEC5C9\u0026logo=matrix)](https://matrix.to/#/#esp-rs:matrix.org)\n[![Wokwi](https://img.shields.io/endpoint?url=https%3A%2F%2Fwokwi.com%2Fbadge%2Fclick-to-simulate.json)](https://wokwi.com/projects/332188235906155092)\n\n## Highlights\n\n- Build is `cargo` driven and **automatically downloads \u0026 configures everything by default**; no need to download the ESP IDF SDK manually, or set up a C toolchain\n- Supports both native ESP IDF build (default), as well as a PlatformIO build\n- Option to use in a mixed Rust/C project. Check the documentation in the [esp-idf-template](https://github.com/esp-rs/esp-idf-template) crate\n\n**You might want to also check out the type safe Rust wrappers built on top of these raw bindings:**\n- [Type safe wrappers for ESP IDF Services](https://github.com/esp-rs/esp-idf-svc)\n- [Type safe wrappers for ESP IDF Drivers](https://github.com/esp-rs/esp-idf-hal)\n\n\u003e **Note**  \n\u003e `esp-idf-sys`'s [build\n\u003e script](https://doc.rust-lang.org/cargo/reference/build-scripts.html) will download the\n\u003e esp-idf, its gcc toolchain, and build it. To show progress and build information about\n\u003e this process run cargo with the `-vv` (very verbose) flag, so that build script output\n\u003e is also displayed. This is especially useful since the initial build will take a while.\n\n## Build Prerequisites\n\nFollow the [Prerequisites](https://github.com/esp-rs/esp-idf-template#prerequisites) section in the `esp-idf-template` crate.\n\n## Customizing how the ESP IDF SDK is built\n\nRead the [documentation here](BUILD-OPTIONS.md).\n\n## Examples\n\nThe examples could be built and flashed conveniently with [`cargo-espflash`](https://github.com/esp-rs/espflash/). To run e.g. `std_basics` on an e.g. ESP32-C3:\n(Swap the Rust target and example name with the target corresponding for your ESP32 MCU and with the example you would like to build)\n\nwith `cargo-espflash`:\n```sh\n$ MCU=esp32c3 cargo espflash flash --target riscv32imc-esp-espidf --example std_basics --monitor\n```\n\n| MCU | \"--target\" |\n| --- | ------ |\n| esp32c2 | riscv32imc-esp-espidf |\n| esp32c3| riscv32imc-esp-espidf |\n| esp32c6| riscv32imac-esp-espidf |\n| esp32h2 | riscv32imac-esp-espidf |\n| esp32p4 | riscv32imafc-esp-espidf |\n| esp32 | xtensa-esp32-espidf |\n| esp32s2 | xtensa-esp32s2-espidf |\n| esp32s3 | xtensa-esp32s3-espidf |\n\n\n## Setting up a \"Hello, world!\" binary crate with ESP IDF\n\nUse the [esp-idf-template](https://github.com/esp-rs/esp-idf-template) project. Everything would be arranged and built for you automatically - no need to manually clone the ESP IDF repository.\n\n## More information\n\nFor more information, check out:\n- The [Rust on ESP Book](https://esp-rs.github.io/book/)\n- The [ESP Embedded Training](https://github.com/esp-rs/espressif-trainings)\n- The [esp-idf-template](https://github.com/esp-rs/esp-idf-template) project\n- The [esp-idf-svc](https://github.com/esp-rs/esp-idf-svc) project\n- The [esp-idf-hal](https://github.com/esp-rs/esp-idf-hal) project\n- The [embedded-svc](https://github.com/esp-rs/embedded-svc) project\n- The [embedded-hal](https://github.com/rust-embedded/embedded-hal) project\n- The [Rust for Xtensa toolchain](https://github.com/esp-rs/rust-build)\n- The [Rust-with-STD demo](https://github.com/ivmarkov/rust-esp32-std-demo) project\n\n## Known limitations\n\n* ESP IDF can’t be compiled on filesystems without support for symbolic links (e.g. FAT)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesp-rs%2Fesp-idf-sys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesp-rs%2Fesp-idf-sys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesp-rs%2Fesp-idf-sys/lists"}