LabWired covers multiple chip families across ARM Cortex-M, RISC-V, and Xtensa. Pick a board to start with a saved workspace, or jump straight into one of the curated labs.
Classic LED blink on PA5. The "hello world" of embedded.
Bare-metal Rust toggling GPIOA_ODR. ~16k cycles between toggles. Verifies the toolchain end-to-end.
Read 3-axis accelerometer data from a real I²C device model.
Register-level ADXL345 implementation responding to firmware I²C reads.
6-DoF accelerometer + gyroscope over I²C.
WHO_AM_I check + continuous accel/gyro loop. Full register state machine in the core.
Temperature / humidity / pressure environmental sensor.
Bosch BME280 with factory calibration coefficients. Firmware runs the full compensation pipeline.
SSD1306 128×64 monochrome OLED with live framebuffer rendering.
Full GDDRAM + addressing-mode state machine. Pixels render live in the inspector.
K-type thermocouple amplifier — read-only SPI device.
Demonstrates the SPI device-attach plumbing. 32-bit response with TC + cold-junction temps.
GPS module streaming NMEA sentences over UART RX.
GGA + RMC sentences with XOR checksum, generated entirely in the Rust core. Firmware echoes the stream.
Analog temperature sensor with Steinhart-Hart math.
10kΩ NTC + 10kΩ pulldown @ 3.3V. Slider injects °C; core computes mV and ADC count.
ILI9341 240×320 RGB565 color TFT display.
Full ILI9341 protocol state machine + 153KB framebuffer + live RGB565 canvas decode.
Compile locally with your existing toolchain. Drop your firmware binary into the Playground via the Upload button. Works against every supported chip above.