// examples
51 demos. One peripheral each.
Every example is self-contained and builds to its own UF2, typically under 4 KB. They are reading material as much as code — each starts with an @ comment block explaining what's being exercised and what to expect on the wire.
Build any one with
make build/<name>_flash.uf2 · full source on GitHub ↗.// adc
1 demo
// bootrom
1 demo
// bring-up
1 demo
// clocks
1 demo
// dma
4 demos
// diagnostics
1 demo
// gpio
3 demos
// gpio / led
3 demos
// i²c
3 demos
// linker / sram
1 demo
// mixed peripherals
1 demo
// multicore
2 demos
// otp
1 demo
// pio
2 demos
// pwm
4 demos
// qmi / xip
1 demo
// sha-256
1 demo
// spi
3 demos
// scheduler
3 demos
sched_demo.S
229 loc
NVIC-priority kernel demo, three soft tasks at three priorities
sched_usb_demo.S
253 loc
sched + spsc + sched_stats verification.
sched_watchdog_demo.S
191 loc
Setup: - Watchdog armed with a 200 ms timeout. - High-priority task T_FEED feeds the watchdog every 100 ms. - Medium-priority task T_HEARTBEAT prints "alive\r\n" every 1 s. - GP25 LED toggles inside T_FEED so you can see liveness.
// systick
2 demos
// trng
1 demo
// timer
3 demos
// trace / dwt
2 demos
// uart
3 demos
// usb cdc
2 demos
// watchdog
1 demo