Skip to content
Sign in
Theme

Adaptive training for embedded engineers

Know your real level in embedded systems

Practice C, Cortex-M, peripherals, RTOS, embedded Linux, IoT connectivity, security and more. Every question adapts to your skill, and every answer comes with a clear explanation.

The level test needs no account. 13 questions, about five minutes.

Try a real question1 of 3
Interrupts

This loop waits for the ISR to set the flag. What is wrong?

1static uint8_t rx_done = 0;
2
3void UART_IRQHandler(void) {
4 rx_done = 1;
5}
6
7int main(void) {
8 uart_start_receive();
9 while (rx_done == 0) { }
10 process_data();
11}
13
topics
1100+
original questions
5
question types

Technologies covered

The tools and platforms a firmware engineer meets every day.

Embedded CThe language of firmware
ARM Cortex-MCore, NVIC, memory map
STM32Timers, clocks, peripherals
Nordic nRFLow-power wireless MCUs
ESP32Espressif devices
RTOSTasks, queues, mutexes
UART / SPI / I2CSerial communication
CAN busArbitration and framing
DMABuffers and streams
GNU toolchainobjdump, nm, size, maps
SWD / JTAGDebug and fault analysis
Low powerSleep modes and budgets
Embedded LinuxDevice tree, Yocto, drivers
MQTT / OTA / BLEConnected devices and cloud
Secure bootSigning, keys, TrustZone

How it works

1

Answer questions

Start with a short session. Pick your platforms and rate yourself, or let the questions find your level.

2

Get an honest estimate

A rating system, similar to chess Elo, measures your level in each topic separately.

3

Improve efficiently

Difficulty adapts to you, weak topics get priority, and reviews return before you forget.

What you can practice

13 topics covering the daily work of embedded, IoT and embedded Linux engineers. Your level is tracked separately in each one.

C for Embedded

Pointers, volatile, const placement, bit manipulation, unions and bitfields, integer promotion, static, and memory layout (.text/.data/.bss/stack/heap).

MCU Architecture

Cortex-M core, registers, memory map, clock tree, startup code, linker scripts, and the vector table.

Peripherals

GPIO, timers, PWM, input capture, ADC/DAC, RTC, and the watchdog.

Interrupts

NVIC, priorities, preemption, ISR design rules, race conditions, and atomicity.

Communication

UART, SPI, I2C, CAN, USB basics, framing, and error handling.

DMA

Channels, circular mode, cache coherency, and double buffering.

RTOS

Tasks, scheduling, priority inversion, mutex vs semaphore, queues, and stack sizing.

Power Management

Sleep modes, wake sources, and current budgeting.

Debugging & Tooling

SWD/JTAG, hard fault analysis, logic analyzers, and binutils (objdump, nm, size).

Hardware Interface

Pull-ups, level shifting, decoupling, signal integrity basics, and reading datasheets and timing diagrams.

Embedded Linux

Device tree, U-Boot, kernel modules and drivers, sysfs and device nodes, Yocto and Buildroot, read-only root filesystems, A/B updates, PREEMPT_RT.

IoT & Connectivity

MQTT and CoAP, TLS on constrained devices, device identity and provisioning, OTA updates, BLE GATT, LoRaWAN and cellular IoT, cloud device shadows, power versus connectivity.

Embedded Security

Secure boot and firmware signing, anti-rollback, debug port locking, key storage and secure elements, TrustZone and MPU isolation, memory-safe parsing, side channels and fault injection.

Questions cover general Cortex-M and C, with platform-specific ones for STM32, Nordic nRF and ESP32. You choose your platforms at the start.

Real engineering questions

No trivia. Every question tests something you actually use on the job, and every answer teaches you something.

Multiple choice

Four options, all plausible. Every wrong option comes with a reason why it is wrong.

Code reading

A short C snippet with syntax highlighting. You predict what it prints or what ends up in a register.

Find the bug

A small driver or interrupt handler with a real embedded bug. You click the faulty line.

Register calculation

Numeric answers with tolerance. Prescalers, baud rates, voltage dividers, current budgets.

Short answer

Free text, checked for the key concepts rather than exact wording.

On top of the question types

Spaced repetition

Any of these questions can come back later. The ones you struggled with return right before you would forget them, so the review schedule covers every type above.

Find out where you stand

A few minutes of questions gives you an honest picture of your strengths and your gaps.

Take the level test