C · embedded track · graded with sanitizers

Learn C. Then write real firmware.Sanitizers on. ARM in your browser. No videos.

Three courses that take a working programmer from pointers and undefined behaviour to GPIO, UART, interrupts and an RTOS — on an emulated ARM target, no dev board needed. Every exercise is graded by real tests with the sanitizers professionals use, so “it works” is never a vibe. Built for people who already program.

embedded-1 · pointers · UB-fsanitize=address,undefined
// Reverse the bytes of buf in place. No libc helpers.
// The grader compiles this with sanitizers on and runs real
// tests — one out-of-bounds read is a failing test.
void reverse_bytes(uint8_t *buf, size_t len) {
    if (buf == NULL || len < 2) {
        return;
    }
    uint8_t *lo = buf;
    uint8_t *hi = buf + len - 1;
    while (lo < hi) {
        uint8_t tmp = *lo;
        *lo = *hi;
        *hi = tmp;
        lo++;
        hi--;
    }
}
AddressSanitizer clean · all tests pass
EMB 1

Systems Programming in C

Understand the machine — pointers, memory, undefined behaviour and real C toolchains, graded with the sanitizers professionals use.

EMB 2

C++ for Firmware Readers

Read and modify C++ firmware — RAII, references, templates at consumer level, and the embedded C++ subset (and what shops ban).

EMB 3

Bare Metal to RTOS

Write real ARM firmware in your browser — GPIO, UART, timers, interrupts and an RTOS — run on an emulated target, graded on what the machine actually does.

01

The tests decide, not vibes

Your C runs under ASan/UBSan-class tooling against real tests; your firmware runs on an emulated ARM target and is graded on actual machine behavior. Pass/fail is deterministic — the AI never grades you.

02

It adapts to you

Struggle on a concept and the game diagnoses why and builds targeted practice. Already solid on pointers? It moves you up instead of making you sit through it.

03

Ship real firmware

Capstones like a fixed-block pool allocator, a serial command console and a multi-sensor data logger, with a senior-engineer code review — the answer to tutorial hell. Ship a portfolio, not just streaks.

Your first sanitizer-clean pass is minutes away.

Start the embedded track — free

Free tier is genuinely free — every banked exercise is playable. We gate AI help and fresh generation, never the content.