Blog

Development minus the hardware

Simulator86 just launched.

Development minus the hardware

Today, we shipped everything: a complete development environment on the web for embedded development, something that wouldn’t have been possible without simulators.

Here’s what shipped: every project now gets its own isolated NixOS VM, meaning you can bring any build tool, toolchain, or compiler you want with no configuration fights. We also shipped a coding agent that is tightly coupled with the simulator. It can see your register state, memory, and peripheral output in real time, so it actually understands what your firmware is doing.


Simulators

When I started building Simulator86 I realized how far the potential of simulators could be. Hardware is hard. It’s hard because of the constraints that revolve around it, hard because if things fail, their liability will skyrocket. So hard that I’d argue SpaceX would’ve failed without simulators.

To enhance the workflow of any system that has to touch the real world, you’d need a sort of medium that is tolerant of catastrophes, just like having a dev server for your production servers. Launching software bugs to the world typically damages you or costs you user trust, but launching explosives to the world — well, that’s a really bad idea that will probably end in a tricky situation. And because the digital version is already modeled and less detailed than the real one, the ability to bridge between digital and physical is a hard, long, and from-the-depths-of-hell kind of problem to solve.

To build that bridge — also known as a simulator/emulator — the north star is clear: the highest fidelity simulator possible. So how do we create the highest fidelity simulation out there? Simulators are a mixture of infrastructure, modeling, and software architecture problems, but instead of user behavior you benchmark against certain aspects of physics. If you benchmark against users it becomes more like a game, and if you build a game, you haven’t bridged between the two worlds.

But mostly the focus will be on the parts that will have the most impact on what people design in which environment. Now, I’ll ask again: why do they have to be accurate? Because for each 1% of accuracy drop — especially in the cases the simulator was needed for — the usefulness of the simulator for that direction drops. Accuracy and value are closely related in simulators.

For instance, if a physics simulator skips specifics like wind friction, the insights quickly diverge from reality based on how much your system depends on wind friction. If you plan to produce a chip optimized to work in space, it’s going to be tough if you don’t account for cosmic rays, which will cause your chip to flip bits. (Those are just bursts of energy in space.)

To simulate those nitty-gritty details, we are going to trade compute and compatibility for accuracy. More compute allows us to run more interesting scenarios, at scale, on different paths and directions, without the limits of consumer hardware, by delivering to the consumer via a simple interface.

Custom hardware on demand is an interesting thing to have. Many countries face a lack of manual labor, and custom hardware would benefit those in real estate, logistics, etc. But how about we build a simulator so accurate that it allows us to predict the future? Populate that simulator with LLM agents, train them, take them out and put them in a robot — you can’t simply provision 300 robots into the real world, each with a slightly different neural network, and benchmark against all those. That’s probably why Nvidia is constantly pushing Isaac and research papers like GEM on modeling and simulation techniques.

One of the things we’ve been working on is our private cloud optimized for our custom simulators. We spin up and allocate resources for simulation for those specific scenarios, because writing generic simulators — or shipping them as binaries like Isaac, which is mostly designed to target consumer hardware — won’t be enough.

If you think of LLMs as a sort of human simulator, or at least how most people started to think of the human brain after LLMs were released, you can clearly see how a model trained to replicate a human brain is now being used for entirely different things that weren’t known before LLMs.

Share this post

Imagination is more important than knowledge.

· A. Einstein ·

Start Building