# HAL Design Patterns

This is a set of common and recommended patterns for writing hardware
abstraction layers (HALs) for microcontrollers in Rust. These patterns are
intended to be used in addition to the existing [Rust API Guidelines] when
writing HALs for microcontrollers.

[Rust API Guidelines]: https://rust-lang.github.io/api-guidelines/

[Checklist](checklist.md)

- [Naming](naming.md)
- [Interoperability](interoperability.md)
- [Predictability](predictability.md)
- [GPIO](gpio.md)
