{"id":13423314,"url":"https://github.com/drogue-iot/drogue-device","last_synced_at":"2025-04-05T09:10:10.137Z","repository":{"id":36959097,"uuid":"330032254","full_name":"drogue-iot/drogue-device","owner":"drogue-iot","description":"A distribution of tools and examples for building embedded IoT applications in Rust","archived":false,"fork":false,"pushed_at":"2023-10-06T10:58:54.000Z","size":6532,"stargazers_count":192,"open_issues_count":22,"forks_count":24,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-29T08:11:15.471Z","etag":null,"topics":["async","drogue-device","embedded","iot","lora","rust","wifi"],"latest_commit_sha":null,"homepage":"https://drogue.io","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/drogue-iot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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}},"created_at":"2021-01-15T22:04:24.000Z","updated_at":"2025-03-03T05:33:21.000Z","dependencies_parsed_at":"2024-01-12T20:04:22.008Z","dependency_job_id":null,"html_url":"https://github.com/drogue-iot/drogue-device","commit_stats":{"total_commits":1280,"total_committers":14,"mean_commits":91.42857142857143,"dds":0.5140625,"last_synced_commit":"64ece7c19303067bf6133e1a4261b9178f573b0c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-device","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-device/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-device/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-device/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drogue-iot","download_url":"https://codeload.github.com/drogue-iot/drogue-device/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312085,"owners_count":20918344,"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":["async","drogue-device","embedded","iot","lora","rust","wifi"],"created_at":"2024-07-31T00:00:30.330Z","updated_at":"2025-04-05T09:10:10.001Z","avatar_url":"https://github.com/drogue-iot.png","language":"Rust","funding_links":[],"categories":["no-std crates"],"sub_categories":["WIP"],"readme":"# Drogue Device\n\n[![CI Build](https://github.com/drogue-iot/drogue-device/actions/workflows/build.yaml/badge.svg)](https://github.com/drogue-iot/drogue-device/actions/workflows/build.yaml)\n[![CI Test](https://github.com/drogue-iot/drogue-device/actions/workflows/test.yaml/badge.svg)](https://github.com/drogue-iot/drogue-device/actions/workflows/test.yaml)\n[![crates.io](https://img.shields.io/crates/v/drogue-device.svg)](https://crates.io/crates/drogue-device)\n[![docs.rs](https://docs.rs/drogue-device/badge.svg)](https://docs.rs/drogue-device)\n[![Matrix](https://img.shields.io/matrix/drogue-iot:matrix.org)](https://matrix.to/#/#drogue-iot:matrix.org)\n[![Bors enabled](https://bors.tech/images/badge_small.svg)](https://app.bors.tech/repositories/40676)\n\nDrogue device is a distribution of tools and examples for building embedded IoT applications in Rust.\n\n* Built using [rust](https://www.rust-lang.org), an efficient, memory safe and thread safe programming language.\n* Based on [embassy](https://github.com/embassy-rs/embassy), the embedded async project. \n* IoT examples for BLE, Bluetooth Mesh, WiFi and LoRaWAN with OTA functionality.\n* Works out of the box with the [Drogue Cloud](https://github.com/drogue-iot/drogue-cloud) connectivity layer.\n* Async programming model for writing safe and efficient applications.\n* All software is licensed under the Apache 2.0 open source license.\n\nSee the [documentation](https://book.drogue.io/drogue-device/dev/index.html) for more information.\n\nGo to our [homepage](https://www.drogue.io) to learn more about the Drogue IoT project.\n\n## Minimum Supported Rust Version\n\nDrogue Device requires the Rust nightly toolchain. If you installed rust using [rustup](https://rustup.rs), all the commands should \"just work\".\n\n## Hardware\n\nDrogue device runs on any hardware supported by embassy, which at the time of writing includes:\n\n* nRF52 \n* STM32\n* Raspberry Pi Pico\n* Linux, Mac OS X or Windows\n* WASM (WebAssembly)\n\nWe provide examples for a subset of hardware that we ensure works and that are relevant for IoT.\n\n## Example applications\n\nAn overview of the examples can be found in the [documentation](https://book.drogue.io/drogue-device/dev/examples.html).\n\nYou can copy the examples if you wish to create an application outside of this repository.\n\n## Developing\n\nTo make testing and developing examples a bit easier, we have defined a few commands that you can run from the root folder of the repository that should work with any example. These commands will also ensure that the appropriate bootloader is installed if needed.\n\nTo flash an example, run `cargo xtask flash`:\n\n~~~shell\ncargo xtask flash examples/nrf52/microbit/ble\n~~~\n\nTo debug an example, run `cargo xtask debug`:\n\n~~~shell\ncargo xtask debug examples/nrf52/microbit/ble\n~~~\n\nTo just build the example, run `cargo xtask build`:\n\n~~~shell\ncargo xtask build examples/nrf52/microbit/ble\n~~~\n\nTo do a full build of everything including examples:\n\n~~~shell\ncargo xtask ci\n~~~\n\n### Directory layout\n\n* `boards` - Board Support Package (BSP) for supported boards\n* `device` - Library for building IoT applications\n* `macros` - macros to load configuration files for the device firmware.\n* `examples` - examples that can run on different boards\n\n## Contributing\n\nSee the document [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Community\n\n* [Drogue IoT Matrix Chat Room](https://matrix.to/#/#drogue-iot:matrix.org)\n* We have bi-weekly calls at 9:00 AM (GMT). [Check the calendar](https://calendar.google.com/calendar/u/0/embed?src=ofuctjec399jr6kara7n0uidqg@group.calendar.google.com\u0026pli=1) to see which week we are having the next call, and feel free to join!\n* [Drogue IoT Forum](https://discourse.drogue.io/)\n* [Drogue IoT YouTube channel](https://www.youtube.com/channel/UC7GZUy2hKidvY6V_3QZfCcA)\n* [Follow us on Twitter!](https://twitter.com/DrogueIoT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrogue-iot%2Fdrogue-device","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrogue-iot%2Fdrogue-device","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrogue-iot%2Fdrogue-device/lists"}