LabWired Deterministic firmware simulation
The Library

Every supported board,
every working lab.

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.

Supported boards

8 chips · ARM Cortex-M0+ · M3 · M4 / M4F · M33 · RISC-V · Xtensa LX7

Featured labs

10 working firmware demos · click to run
STM32F103

Blinky

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.

Open in Playground →
📊
STM32F103 · I²C

ADXL345 Tilt

Read 3-axis accelerometer data from a real I²C device model.

Register-level ADXL345 implementation responding to firmware I²C reads.

Open in Playground →
🧭
STM32F103 · I²C

MPU6050 IMU

6-DoF accelerometer + gyroscope over I²C.

WHO_AM_I check + continuous accel/gyro loop. Full register state machine in the core.

Open in Playground →
🌡
STM32F103 · I²C

BME280 Weather

Temperature / humidity / pressure environmental sensor.

Bosch BME280 with factory calibration coefficients. Firmware runs the full compensation pipeline.

Open in Playground →
📺
STM32F103 · I²C

OLED Hello

SSD1306 128×64 monochrome OLED with live framebuffer rendering.

Full GDDRAM + addressing-mode state machine. Pixels render live in the inspector.

Open in Playground →
🔥
STM32F103 · SPI

MAX31855

K-type thermocouple amplifier — read-only SPI device.

Demonstrates the SPI device-attach plumbing. 32-bit response with TC + cold-junction temps.

Open in Playground →
📡
STM32F103 · UART

NEO-6M GPS

GPS module streaming NMEA sentences over UART RX.

GGA + RMC sentences with XOR checksum, generated entirely in the Rust core. Firmware echoes the stream.

Open in Playground →
🌡️
STM32F103 · ADC

NTC Thermistor

Analog temperature sensor with Steinhart-Hart math.

10kΩ NTC + 10kΩ pulldown @ 3.3V. Slider injects °C; core computes mV and ADC count.

Open in Playground →
🎨
STM32F103 · SPI

TFT Color

ILI9341 240×320 RGB565 color TFT display.

Full ILI9341 protocol state machine + 153KB framebuffer + live RGB565 canvas decode.

Open in Playground →

Bring your own firmware

Compile locally with your existing toolchain. Drop your firmware binary into the Playground via the Upload button. Works against every supported chip above.

Open Playground →