#pio #proc #assembler #raspberry-pi-pico #raspberry-pi #rp2040

macro pio-proc

proc-macro for assembling PIO code in a Rust program at compile time

4 releases

0.2.2 Apr 22, 2023
0.2.1 Mar 14, 2022
0.2.0 Mar 9, 2022
0.1.0 Dec 11, 2021

#6 in #assembling

Download history 749/week @ 2023-11-04 894/week @ 2023-11-11 732/week @ 2023-11-18 965/week @ 2023-11-25 1045/week @ 2023-12-02 1130/week @ 2023-12-09 1332/week @ 2023-12-16 477/week @ 2023-12-23 621/week @ 2023-12-30 892/week @ 2024-01-06 744/week @ 2024-01-13 816/week @ 2024-01-20 755/week @ 2024-01-27 755/week @ 2024-02-03 893/week @ 2024-02-10 1334/week @ 2024-02-17

3,914 downloads per month
Used in 14 crates (9 directly)

MIT license

1.5K SLoC


Support for the Raspberry Silicon RP2040's PIO State Machines assembly at compile-time.

What is pio-proc

This crate is a macro that can assemble PIO asm at compile-time. It is part of pio.

PIO Examples

This crate is just the PIO macro. If you want to see some fully-featured PIO examples integrated with Embedded Rust on the RP2040, check out the rp-hal examples.


NOTE This tool is under active development. As such, it is likely to remain volatile until a 1.0.0 release.

See the open issues for a list of proposed features (and known issues).


Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request


Distributed under the MIT License. See LICENSE for more information.


Project Link: https://github.com/rp-rs/pio-rs/issues Matrix: #rp-rs:matrix.org



~112K SLoC