Simulate the whole system, not just the chip.

Simulator86 runs the firmware you already ship on every controller in your product, together, from your scripts, your CI or your editor's AI agent.

Autonomous inspection drone
RunningRealtime00:18.420Simulation00:18.420
Terminal
~/drone $ west build -b nucleo_f767zi flight-controller-- west build: generating a build system-- Board: nucleo_f767zi-- Configuring done[1/142] Preparing syscall dependency handling[97/142] Building C object CMakeFiles/app.dir/src/imu.c.obj[98/142] Building C object CMakeFiles/app.dir/src/main.c.obj[142/142] Linking C executable zephyr/zephyr.elfMemory region         Used Size  Region Size  %age Used           FLASH:       38412 B         2 MB      1.83%             RAM:        9216 B       512 KB      1.76%Build finished: flight-controller/build/zephyr/zephyr.elf~/drone $ 
Ln 1, Col 1Spaces: 4
Observe2

Live signals

STM32F767 · PB8 ↔ MPU6050 · SCL
STM32F767 · PB9 ↔ MPU6050 · SDA
3V3GND3V3GND3V3GNDGND3V3GND3V3GND3V3GND3V3GNDGNDI²CSPIUARTGPIO
NUCLEO-F767ZI development board with an STM32F767 microcontrollerPrimary flight controller STM32F767
Seeed Studio XIAO ESP32-C3 board with an ESP32-C3 RISC-V microcontrollerTelemetry ESP32-C3
Raspberry Pi Pico 2 board with an RP2350 microcontrollerSafety monitor RP2350
MPU-6050 six-axis motion sensor board (I2C)Motion MPU6050
BMP280 barometric pressure sensor board (I2C)Altitude BMP280
MCP9808 temperature sensor board (I2C)Thermal MCP9808
ST7789 colour TFT display module (SPI)
Mission display ST7789
SSD1306 OLED display (I2C)Status SSD1306
Piezo buzzerFault tone
Red LEDFault state

Used by engineers at

GooglexAIEspressif

Supported platforms

ZephyrFreeRTOSRustEmbassyArduino

See it run before you talk to anyone. Hardware should never block firmware.

Open a complete system in your browser, press run, and watch every controller, sensor and display work together. No account or board needed.

An AI plays Snake

An ESP32-C3 asks an AI model for every move over TLS 1.3 from the chip, with two displays, tilt controls and a buzzer.

  • Rust
  • Embassy

Two controllers, one bus

Two controllers share sensors, a display and a serial link.

  • ESP-IDF
  • Rust

Doom on RP2040

The full game running unmodified on a simulated RP2040, drawn to a colour display.

  • pico-sdk
Source on GitHub ↗

Interrupt handling

Trigger a hardware interrupt and watch the firmware respond.

  • Rust

Retro Player

A controller plays tunes on a passive buzzer, with an LCD and button controls.

  • Rust

A display-driven device

A controller drives a colour display from two button inputs.

  • ESP-IDF
  • FreeRTOS

Before an evaluation.

What engineering teams usually need to establish first.

What is Simulator86?

Simulator86 is a programmable simulation environment for developing, testing, and validating embedded systems before relying on physical hardware.

Can Simulator86 run our real firmware?

Yes. Simulator86 runs compiled firmware inside a virtual hardware environment, allowing teams to test the software they intend to ship.

Does Simulator86 support our framework and libraries?

Yes. Simulator86 is framework- and library-agnostic: if your firmware runs on the real supported chip, it runs on Simulator86.

What can embedded teams use Simulator86 for?

Teams use Simulator86 to develop firmware, reproduce difficult failures, automate testing, and validate system behavior at scale.

Which devices and systems can Simulator86 support?

Simulator86 supports a growing range of embedded architectures, devices, and connected systems. We evaluate each target system to confirm the right simulation coverage.

How does Simulator86 fit into an engineering workflow?

Teams can use Simulator86 interactively, integrate it into automated workflows, or connect it to AI engineering tools through the IDE, SDK, and MCP.

How do we evaluate Simulator86 for our product?

Start with a technical evaluation. We’ll review your firmware, target system, and engineering goals to determine how Simulator86 can support your team.

Tell us what's on your board.

Book a call with one of our engineers. Tell us which controllers and parts your product uses, and we'll show you what we already support and tell you plainly what we don't yet.

Book a call