https://github.com/notquiteapex/picoboot-rs
A crate for connecting to and communicating with a Raspberry Pi microcontroller in BOOTSEL mode over USB.
https://github.com/notquiteapex/picoboot-rs
Last synced: about 1 year ago
JSON representation
A crate for connecting to and communicating with a Raspberry Pi microcontroller in BOOTSEL mode over USB.
- Host: GitHub
- URL: https://github.com/notquiteapex/picoboot-rs
- Owner: NotQuiteApex
- License: apache-2.0
- Created: 2024-08-14T14:33:58.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-07T04:23:58.000Z (over 1 year ago)
- Last Synced: 2025-04-05T21:32:22.988Z (about 1 year ago)
- Language: Rust
- Homepage:
- Size: 122 KB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# picoboot-rs [![github]](https://github.com/NotQuiteApex/picoboot-rs) [![crates-io]](https://crates.io/crates/picoboot-rs) [![docs-rs]](https://docs.rs/picoboot-rs)
A crate for connecting to and communicating with a Raspberry Pi microcontroller in BOOTSEL mode over USB!
[github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github
[crates-io]: https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&labelColor=555555&logo=rust
[docs-rs]: https://img.shields.io/badge/docs.rs-66c2a5?style=for-the-badge&labelColor=555555&logo=docs.rs
## Notes
When using this crate, the underlying dependencies will be downloaded and installed automatically, however further configuration for USB devices on the host machine may be required.
- When running on Linux or macOS, you may need to add some additional udev rules to allow the PICOBOOT interface to be usable by a userspace program. These udev rules can be found [here](https://github.com/raspberrypi/picotool/blob/master/udev/99-picotool.rules).
- When running on Windows, you may need to install a libusb compatible driver for the PICOBOOT interface. This driver can be installed by [Zadig](https://zadig.akeo.ie/). Simply plug in the Pico device while holding the BOOTSEL button, and install any of the listed drivers for the RP2 Boot device in Zadig.
## License
The contents of this repository are dual-licensed under the _MIT OR Apache 2.0_
License. That means you can choose either the MIT license or the Apache 2.0
license when you re-use this code. See [`LICENSE-MIT`](./LICENSE-MIT) or
[`LICENSE-APACHE`](./LICENSE-APACHE) for more information on each specific
license. Our Apache 2.0 notices can be found in [`NOTICE`](./NOTICE).
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.
## Acknowledgements
* [rp-rs Developer Group](https://github.com/rp-rs)
* Raspberry Pi microcontroller datasheets for [RP2040](https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf) and [RP2350](https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf)
* [Raspberry Pi](https://raspberrypi.org), [Pico SDK](https://github.com/raspberrypi/pico-sdk), and [Picotool](https://github.com/raspberrypi/picotool)
* This project and the PICOBOOT interface provided by Raspberry Pi microcontrollers are NOT affiliated with the [Nintendo GameCube hardware hack of the same name](https://github.com/webhdx/PicoBoot).