The Virtual Laboratory for Embedded Systems.
Configure silicon microcontroller peripherals, analyze real waveforms, and master hardware register manipulation — entirely in your browser.
Waveform Parameters
Real-time pulse width modulation generator with deterministic period timing.
Built for deep conceptual mastery, not surface flash.
Traditional embedded courses struggle with equipment shortages, driver incompatibilities, and burnt components. EmbeddedLab OS provides a deterministic, zero-setup laboratory.
Deterministic State Machines
All register state transitions, clock edges, and interrupt flags evolve predictably according to strict microcontroller register specifications.
Mathematical Formula Verification
From SAR successive approximation ADC formulas to timer prescalers and UART baud divisors, every calculation reflects real hardware mathematics.
Zero Hardware Friction
No bricked dev boards, missing USB-TTL cables, or driver headaches. Jump straight into peripheral register manipulation in any modern web browser.
Four Core Silicon Peripherals
Each laboratory models an authentic STM32 peripheral subsystem with live register reflection and interactive challenges.
GPIO — General Purpose Input/Output
3 Guided Challenges · No Hardware RequiredConfigure virtual digital pins, drive outputs, read inputs, and interact with a simulated LED and push button.
- Configure pins as INPUT or OUTPUT
- Drive output pins HIGH and LOW
- Read input pin states with pull resistors
- Control a virtual LED from an output pin
PWM — Pulse Width Modulation
3 Guided Challenges · No Hardware RequiredSet frequency and duty cycle on virtual PWM channels, observe the waveform, and control LED brightness through duty cycle.
- Set PWM frequency in Hz
- Adjust duty cycle from 0% to 100%
- Observe period, high time, and low time
- See how duty cycle maps to LED brightness
ADC — Analog-to-Digital Converter
3 Guided Challenges · No Hardware RequiredAdjust a virtual input voltage and observe the digital conversion using the real ADC formula across multiple resolutions.
- Understand the ADC formula: ADC = round((Vin / Vref) × (2^N − 1))
- Adjust input voltage with a virtual potentiometer
- Change ADC resolution (8, 10, 12, 16-bit)
- Read digital output in decimal, hex, and binary
UART — Universal Asynchronous Receiver-Transmitter
3 Guided Challenges · No Hardware RequiredConfigure TX and RX independently, observe frame structure, and see what happens when configurations are incompatible.
- Configure baud rate, data bits, parity, and stop bits
- Understand the UART frame structure
- Simulate successful and failed transmissions
- Diagnose TX/RX configuration mismatches
Progressive Engineering Curriculum
From fundamental digital inputs to high-speed serial packet analysis.
GPIO & Bit Manipulation
Port registers, MODER, ODR, IDR, push-pull versus open-drain, and internal pull resistors.
PWM Waveform Synthesis
Timer counter registers, auto-reload ARR, duty-cycle modulation, and oscilloscope analysis.
ADC Quantization & LSB
12-bit SAR quantization, reference voltage ratios, resolution formulas, and quantization error.
UART Asynchronous Framing
Start/stop bits, baud divisors, parity checking, and packet transmission debugging.
Start experimenting immediately.
No account required for full simulation access. Work through guided laboratory worksheets, analyze hardware registers, and verify your embedded systems knowledge.