Emulators
A board emulator is not the WASM interpreter. It is a CPU + memory map + peripherals, then the same .uf2 or .bin you would flash to hardware. That is why machine.Pin does something useful.
What we already run
emulators.org has RP2040, RP2350, ESP8266, ESP32-C3, ESP32-C6, Thumby and micro:bit machines with MicroPython firmware. See the playground. Those emulators are the base we will hang more peripherals on.
What a fuller device needs
- The core: CPU, RAM, flash, clocks, NVIC / interrupts.
- The boot path the official firmware expects (USB DFU, UF2, UART download).
- The peripherals the
machinemodule touches: GPIO, UART, USB CDC, PWM, ADC, I2C, SPI, timers. - Radios only if you want
networkto associate — otherwise stub or omit.
Wokwi is a third-party option with a large part library. Unicorn emulates older ARM cores but does not model Pico or ESP32 peripherals. We are not wrapping those here; we are extending the emulators.org machines.
Not in this build
A Python-line stepper (source, locals, breakpoints) needs firmware built with sys.settrace and a UI on top of the VM. That is later. CPU single-step already exists on several emulators.org cores.