10 releases (breaking)

0.13.0 Oct 18, 2024
0.12.1 Jul 15, 2023
0.12.0 Jan 3, 2022
0.11.0 Nov 8, 2021
0.7.0 Jul 30, 2020

#2242 in Embedded development

Download history 29/week @ 2024-07-26 5/week @ 2024-08-02 16/week @ 2024-09-20 22/week @ 2024-09-27 4/week @ 2024-10-04 125/week @ 2024-10-18

151 downloads per month

MIT/Apache

1.5MB
24K SLoC

Seeeduino XIAO Board Support Crate

This crate provides a type-safe API for working with the Seeed Studio Seeeduino XIAO.

Prerequisites

  • Install the cross compile toolchain rustup target add thumbv6m-none-eabi
  • Install the cargo-hf2 tool however your platform requires

Uploading an example

Check out the repository for examples.

  • Be in this directory cd boards/xiao_m0
  • Put your device in bootloader mode by bridging the RST pads twice in quick succession. The orange LED will pulse when the device is in bootloader mode.
  • Build and upload in one step: cargo hf2 --release --example blink
    • Note that if you're using an older cargo-hf2 that you'll need to specify the VID/PID when flashing: cargo hf2 --vid 0x2886 --pid 0x002f --release --example blink

If you are on Linux and hf2 fails to flash your board even if it is connected and in bootloader mode, you might need to add some udev rules if you have not done that yet.

The example for adafruit boards is shown here.

You might want to have all the hf2 related rules in a single file, i.e. /etc/udev/rules.d/99-hf2-boards.rules, or have a different rules file for each vendor. The rules for Seeeduino boards look like this:

#seeeduino rules
ATTRS{idVendor}=="2886", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2886", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="2886", MODE="0666"

After adding the rules remember to reboot or run:

sudo udevadm control --reload-rules
sudo udevadm trigger

For more information on hf2 and other methods of uploading your code, take a look at the base project README.

Dependencies

~6.5MB
~139K SLoC