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:

Creating toast notifications using Solid Toast

Toast notifications are messages that appear on the screen to provide feedback to users. When users interact with the user […]

Chimezie Innocent
Sep 6, 2024 â‹… 7 min read
Deno Adoption Guide: Overview, Examples, And Alternatives

Deno adoption guide: Overview, examples, and alternatives

Deno’s features and built-in TypeScript support make it appealing for developers seeking a secure and streamlined development experience.

Emmanuel Odioko
Sep 5, 2024 â‹… 10 min read
Types vs. Interfaces in TypeScript

Types vs. interfaces in TypeScript

It can be difficult to choose between types and interfaces in TypeScript, but in this post, you’ll learn which to use in specific use cases.

Yan Sun
Sep 5, 2024 â‹… 9 min read
Flutter Logo

How to build a bottom navigation bar in Flutter

This tutorial demonstrates how to build, integrate, and customize a bottom navigation bar in a Flutter app.

Pinkesh Darji
Sep 5, 2024 â‹… 6 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