Skip to content
October 2025 Engineering

EoSim 2.4 HIL Bridge: Virtual Peripherals Talking to Real Silicon

EoSim 2.4 introduces a bidirectional hardware-in-the-loop bridge: drive simulated EoS images from a real PHY, or drive real boards from a simulated MMIO bus.

What is HIL good for, anyway?

Hardware-in-the-loop testing connects a simulated firmware image to real physical hardware. The canonical use case: test a motor controller firmware image against a real motor driver IC, without flashing the firmware to a real MCU. This catches hardware-software interface bugs (wrong SPI clock polarity, missing pull-up) that pure simulation misses.

The ezbus protocol

EoSim 2.4 introduces ezbus, a lightweight USB protocol that bridges simulated MMIO registers to real hardware. A USB-connected ezbus adapter (based on the RP2040) exposes up to 16 virtual peripherals. The EoSim image writes to a simulated SPI register; ezbus translates the write to a real SPI transaction on the adapter's hardware SPI port.

Two directions

The bridge works in both directions. Direction 1 (sim → real): the EoSim image drives real hardware via ezbus. Direction 2 (real → sim): a real EoS board drives a simulated peripheral model in EoSim. Direction 2 is useful for testing sensor fusion algorithms: inject synthetic sensor data from EoSim into a real board running production firmware.

Performance

The ezbus adapter adds 180 µs of round-trip latency for a single SPI transaction. For most HIL use cases (motor control at 10 kHz, sensor reads at 1 kHz), this latency is acceptable. For sub-100 µs use cases (high-speed ADC, PWM generation), direct hardware testing is still required.

EoSimHILTesting

About these articles

How these articles are published

Every article on this site renders through this one page, from the Foundation's shared content registry. The title, date, badge, tags, and body all come from the same data the News page lists — which is why the two can never disagree about what an article says or when it appeared.

The registry replaced eight separate article pages whose metadata had drifted apart: seven of them showed a different publication date than the news listing. One source of truth is less interesting than eight bespoke pages, and considerably more honest.

What an article is

Articles are the long form: explanations of how something works, technical writing about the stack, and reflections on the work. News carries the timely announcement; the article carries the full treatment — the reasoning, the context, and the detail that would not fit in a listing.

Each article states its assumptions and links its evidence where evidence exists. The source material behind the technical claims — the code, the measurements, the filings — is public in the Foundation's repositories.

Dates and addresses

The date on an article is its publication date. The address is /article/ followed by the article's slug, and the older /article-xxx addresses from the previous site still resolve to the same pages — nothing already linked or indexed breaks.

If an article is corrected after publication, the correction is noted rather than silently made — the same standard our press releases are held to. The page you are reading is the current version, and the record of what changed stays with it.