Arduino Emulator — Architecture-Accurate AVR in the Browser
Arduino Emulator — Architecture-Accurate AVR in the Browser
Where the simulator models the board, the emulator models the silicon: Sensbench runs the ATmega328P as an architecture-accurate AVR core, so timing, registers and peripheral behavior follow the datasheet rather than a high-level model. Upload the same compiled firmware you would flash, and watch the core execute it.
What you get
- AVR core emulation — the ATmega328P instruction set executes, not a scripted approximation
- Compiled-firmware workflow — compile once, then run the resulting binary, like a real flashing cycle
- Mega 2560 and Nano included — the ATmega2560 adds 54 digital and 16 analog pins
- Peripheral-level fidelity — USART, I2C, SPI and timer behavior tracked at register level
- The honest middle step — between circuit simulation and buying silicon
Supported targets
| ATmega328P | arduino:avr:uno / nano |
|---|---|
| ATmega2560 | arduino:avr:mega |
| 16 MHz clock | standard Arduino frequency |
| 32 KB flash | 328P program space |
| 256 KB flash | Mega program space |
Try these examples
Arduino Nano BlinkRead the write-up →
I2C ScannerRead the write-up →
SPI LoopbackRead the write-up →
Serial EchoRead the write-up →
Fade LEDRead the write-up →
FAQ
What is the difference between a simulator and an emulator here?
The simulator models the board and its behavior; the emulator executes the actual AVR machine code on an emulated core. For most learners the difference is invisible — the point of the emulator is confidence: the firmware that runs here is the firmware that runs on silicon.
Can I upload my own compiled .hex file?
The normal workflow is compiling your sketch in the editor and running the result directly. Direct .hex upload is not exposed in the UI; compile-and-run covers the same ground with less friction.