[PR #522] Adding avr_328p_hal crate to README.md #9652

Open
opened 2026-06-14 11:07:25 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rust-embedded/awesome-embedded-rust/pull/522
Author: @Darethan026
Created: 5/28/2026
Status: 🔄 Open

Base: masterHead: master


📝 Commits (2)

  • 86f918e Adding avr_328p_hal crate to README.md
  • ce3e7ae Fixed avr_328p_hal crate details in README

📊 Changes

1 file changed (+1 additions, -0 deletions)

View changed files

📝 README.md (+1 -0)

📄 Description

Hello maintainers,

I would like to submit my crate, avr_328p_hal under the Board Support Package section.

Unlike crates that use external dependencies, making large embedded projects slower with each addition, this crate is entirely written from the ATmega328P datasheet specifications using pure #![no_std] Rust.

Key Implementations:

  • Direct memory-mapped I/O manipulation via volatile Read/Write pointer operations, making it highly optimised and very performant.
  • Enforced Pin configuration safety using the Typestate Pattern for all implemented drivers to have one owner in the allowed scope, with Drop implemented, so that Pins are freed, allowing the driver methods to be used elsewhere.
  • Implemented drivers for GPIO, TIMERS, ADC, LCD (Hitachi HD44780/JHD659), and USART0.

Note: The crate currently relies on stack-allocated buffers to handle printing to the LCD. It currently doesn't include a runtime, but that's not a problem for 95% of the projects it may be used for; A custom runtime is planned for a future release.

It is published on crates.io and documented on docs.rs. Examples are included in the crate's documentation examples/ directory and in the repository's examples/ directory on GitHub. Thank you for reviewing this Pull Request!


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/rust-embedded/awesome-embedded-rust/pull/522 **Author:** [@Darethan026](https://github.com/Darethan026) **Created:** 5/28/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (2) - [`86f918e`](https://github.com/rust-embedded/awesome-embedded-rust/commit/86f918ef900dfd12987419a6c3d8b0c4110ab432) Adding `avr_328p_hal` crate to README.md - [`ce3e7ae`](https://github.com/rust-embedded/awesome-embedded-rust/commit/ce3e7ae3621ea0cb5f29cf6b760f63632ee96110) Fixed `avr_328p_hal` crate details in README ### 📊 Changes **1 file changed** (+1 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+1 -0) </details> ### 📄 Description Hello maintainers, I would like to submit my crate, `avr_328p_hal` under the Board Support Package section. Unlike crates that use external dependencies, making large embedded projects slower with each addition, this crate is entirely written from the ATmega328P datasheet specifications using pure `#![no_std]` Rust. **Key Implementations:** * Direct memory-mapped I/O manipulation via `volatile` Read/Write pointer operations, making it highly optimised and very performant. * Enforced Pin configuration safety using the **Typestate Pattern** for all implemented drivers to have one owner in the allowed scope, with `Drop` implemented, so that Pins are freed, allowing the driver methods to be used elsewhere. * Implemented drivers for **GPIO, TIMERS, ADC, LCD (Hitachi HD44780/JHD659), and USART0**. *Note:* The crate currently relies on stack-allocated buffers to handle printing to the LCD. It currently doesn't include a runtime, but that's not a problem for 95% of the projects it may be used for; A custom runtime is planned for a future release. It is published on crates.io and documented on docs.rs. Examples are included in the crate's documentation `examples/` directory and in the repository's `examples/` directory on GitHub. Thank you for reviewing this Pull Request! --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-06-14 11:07:25 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/awesome-embedded-rust#9652