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:

6 CSS Frameworks Every Developer Should Use In 2025

Top 6 CSS frameworks every frontend developer should know in 2025

Tight deadline? Bloated CSS options? This guide breaks down six modern CSS frameworks, from Beer CSS to CodeStitch — that help you build fast, beautiful UIs in 2025.

Murat YĂĽksel
May 27, 2025 â‹… 10 min read
A crash course in Next.js middleware

A crash course in Next.js middleware

Learn the ins and outs of Next.js middleware, which allows you to perform actions before a request is completed and modify the response accordingly.

Temitope Oyedele
May 23, 2025 â‹… 9 min read
How AI Is Changing Debugging With Google Gemini

How AI is changing debugging with Google Gemini

The Google Gemini AI model has integrated AI-powered features to improve the debugging experience in web development.

Emmanuel John
May 23, 2025 â‹… 5 min read
10 Node.js 24 features you're probably not using

10 Node.js 24 features you’re probably not using

The Node.js 24 release included significant updates. Explore 10 features you might not be using yet — but absolutely should be.

Emmanuel John
May 22, 2025 â‹… 8 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