2024-07-15
1761
#rust
MacBobby Chibuzor
142078
Jul 15, 2024 â‹… 6 min read

A complete guide to running Rust on Arduino

MacBobby Chibuzor Go, Solidity, and Haskell developer interested in the cloud native world and blockchain technology. A fanatic for technical writing and open source contribution.

Recent posts:

PDF report workflow

Struggling with your PDF report workflow? Try this

Streamline your PDF report workflow using React and .NET. Walk through a real-world example and discover cloud-based alternatives.

Andrew Evans
Apr 14, 2025 â‹… 8 min read
a guide to the MUI Grid system

A guide to the MUI grid system

Explore the MUI Grid system in depth, including updates from MUI v5, and learn how to build responsive grid layouts.

Gaurav Singhal
Apr 11, 2025 â‹… 8 min read
Building Progressive Web Apps (PWAs) Using Rust

Building progressive web apps using Rust

Build a progressive web app using Rust, WebAssembly, SurrealDB, and Nostr with local encryption and fast storage.

Mario Zupan
Apr 11, 2025 â‹… 18 min read
how to use svgs in react

A guide to using SVGs in React

Explore various ways to implement SVGs in React applications, and learn about their integration, animation, and usage as React components.

Nedy Udombat
Apr 10, 2025 â‹… 15 min read
View all posts

7 Replies to "A complete guide to running Rust on Arduino"

  1. > Starting a new Arduino project with avrdude

    > Starting a new project is made simpler with the cargo-generate crate. Simply run the following commands consecutively to create a new project:

    > cargo install cargo-generate

    where? run the commands *where* ?

  2. > Alternatively, you can run the command below to install the libudev-sys crate:

    ^ This tripped me up big-time! If you install libudev-sys via apt you must NOT put the dependency in cargo or it will break your build. I spent about and hour trying to fix this before I re-read the instructions and actually paid attention to the word “alternatively”.

  3. Setting the USB-Port under Windows isnt mentioned here unfortunately. I had to try this a bit and looked for how you list devices under windows:

    “`Get-PnpDevice -PresentOnly | Where-Object { $_.InstanceId -match ‘^USB’ } | Format-List“`
    in powershell gets you something. You have to look through your USB devices and find where the Microcontroller is located, and then put in the port like this in the cargo\config.toml file (as mentioned in the ravedude repo):

    “`runner = “ravedude uno -cb 57600 -P COM3″“`

    COM3 here is where the USB-Port showed up on my machine, uno is the target microcontroller, cb appears to be some sort of datalink speed (should be preset).

    Using ravedude it is possible to simply use cargo run and just flashing the code on the uno which is very neat.

    1. Nice one man!

      I didn’t know the part about the config.toml file, but you can find the COM port to use through the Arduino IDE or in Device Manager (built in to windows) if you want a GUI way to do it.

Leave a Reply