Sim86
Before you deploy
Section titled “Before you deploy”You’ve built the firmware. You’ve tested it on the boards you have. But there are still questions: what if a device loses its connection halfway through an update? What if another responds late? Can you reproduce the failure that only happened once?
Getting enough devices together to answer those questions takes time. Sometimes you don’t have enough boards. Sometimes you have the boards, but recreating the same conditions is the hard part.
Simulator86 (Sim86 for short) gives you another place to do that firmware testing. It runs your compiled firmware on simulated controllers and components, so you can connect devices, inspect their behavior, and return to a test as you change your code.
Alongside your existing embedded software testing tools, Sim86 lets you check how the compiled firmware interacts with the devices around it.
Work through the cases you’re unsure about
Section titled “Work through the cases you’re unsure about”Start with the behavior you need to understand. It might be two controllers exchanging messages or a device recovering after a lost connection. For OTA update testing, it might be checking what happens when an update doesn’t finish.
Build the circuit, load your firmware, and observe what happens. Use wired connections or an RF Environment for communication, and fault injection to introduce failures. Decide what recovery should look like for your product, then check whether the firmware gets there.
The point is to investigate more of those questions before a deployment, with less time spent arranging hardware for every test.
You also need to trust the simulation
Section titled “You also need to trust the simulation”If a test passes in Sim86, you need to know what that tells you about the board. That’s why hardware fidelity matters so much to us.
We run our simulation models on FPGA- and GPU-accelerated hardware, and use physical hardware farms to compare them with actual devices. We check behavior and timing, investigate differences, and improve the models.
Our hardware benchmarks show what we tested, what matched, and what differed. They give you evidence to judge against your own requirements. Physical testing remains part of that process.
Start with the way you already work
Section titled “Start with the way you already work”- Try your firmware in the browser. Getting Started walks through a circuit and firmware upload. The examples give you something to explore first.
- Build a dashboard or web integration. The TypeScript SDK lets you put simulation controls and results into your own application.
- Use pytest. We recommend the CLI. Access is currently limited to a closed group of users; book a call to request it.
- Use a coding agent. MCP connects your agent to Sim86 tools.
Find the models you need
Section titled “Find the models you need”The component catalog lists models available in our web dashboard. Additional models and capabilities are available to our partners. If you need a particular controller or component, contact us and tell us what you’re working on.
We add controllers on demand, free of charge for our users when you ship us a development board.