Demos#
These are various demos that are currently used to showcase specific features, and in many cases, act as basic smoke tests that things are still working.
The demos are split into separate cargo workspaces, one per target platform and/or board.
Currently, there are demos for:
std- meant to run on typical desktop platforms (win/mac/linux)esp32c6- Applications for the ESP32-C6 platform, typically using theESP32-C6-DevKitC-1rp2350- Applications for the RP2350 platform, typically using aPico2development board, with or without a debugger.rp2040- Applications for the RP2040 platform, typically using aPicodevelopment board, with or without a debugger.microbit- Applications for the micro:bit v2 board (nrf52833), which has an included debugger.nrf52840- Applications for thenRF52840platform, typically using annRF52840-DK
End to End Demos#
The following are particularly notable demos:
USB#
These are demos that just ping and post over usb, a simple demo for getting started as it requires no components besides the microcontroller itself. the workspaces for these are
std/ergot-nusb-routerrp2040/rp2040-eusb/rp2350/rp2350-eusb/nrf52840/nrf52840-eusb
"Tilt App"#
The "Tilt App" demo consists of three parts:
- The
rp2350-tiltfirmware project, running on an RP2350 - The
tilt-apphost project, running on a PC - The
shared-icdlibrary crate, used by both the firmware and PC projects - The
stream-plottingproject, running on a PC, uses a simple GUI to live-stream the data from the tilt board
The board has an LSM6DS3TR accelerometer + gyroscope, eight PWM output channels, and an RP2350. This demo has the firmware stream the accelerometer and gyroscope data at a sample rate of 6.66k samples per second over USB, and also listens for commands to set the PWM duty cycle of each of the eight channels.
This example is intended to cover the case where an embedded linux system may offload real-time or i/o tasks to a microcontroller to do things like control a quadrotor aircraft.