UFerris a Versatile Learner Board for Rust Embedded Beginners

(theembeddedrustacean.com)

21 points | by stmw 16 hours ago

3 comments

  • jmole 14 hours ago
    I'm not sure how to feel about this. I'm sort of half in the target audience and half not. This feels like a board for everyone, and for no one.

    I thought, wow, this would be a cool way to work with rust on the RP2040/2350 but then the only books available are only for ESP devices.

    A maker lab 99-projects-in-one PCB with a soldered on (or pluggable) RP2350 with companion text would scratch all the itches of my particular interest in rust and MCUs.

    As someone who has a lot of C/C++ experience in the MCU world, the most mysterious part of rust on MCUs for me is the world of bit twiddling and register accesses from a safe language. I would love to have a playground to explore this kind of stuff.

    And would strongly prefer open hardware like the RP2XXX family over a commercial chip like the ESP.

    • bschwindHN 13 hours ago
      > a cool way to work with rust on the RP2040/2350

      Pick up an RPi Pico (and one of their debugger probes) or a Xiao board with an RP2040 or RP2350, and try playing around with Embassy. It's super easy to get started and has been, by far, my favorite way to develop embedded projects.

      > the most mysterious part of rust on MCUs for me is the world of bit twiddling and register accesses from a safe language

      Rust mostly generates safe APIs to modify registers from things like SVD files. These are typically organized as a PAC (Peripheral Access Crate). Here's an example:

      https://docs.rs/rp2040-pac/0.6.0/rp2040_pac/

      This automation generates type-safe structs that you let you read and modify the various bits in a register, with volatile writes and all of that. You could probably have an LLM (or a google search) explain PACs and how they're typically used and I think you'll get it.

      Then a HAL (Hardware Abstraction Layer) is usually built up using the register operations from the PAC in order to expose a safe Rust interface over a particular peripheral.

      https://www.raspberrypi.com/products/debug-probe/

      https://embassy.dev/

  • Riany 6 hours ago
    I think is useful cuz it removes setup friction for beginners, who can just focus on Rust and embedded concepts instead of fixing wiring and board differences
  • VoidWhisperer 13 hours ago
    Must've been fairly popular. Every bundle including the board is already out of stock