What is Hardware Lab?

Hardware Lab is AidaIDE's virtual hardware-in-the-loop workspace. It runs your device code against a simulated board — pins, I2C, UART — on a virtual clock, with timeline scenarios and assertions that return pass/fail in milliseconds. Then Run on Device: SSH/Linux may push a temporary hil_device_agent and diff sim vs bench; Arduino USB serial score (no standing agent; no C++ edge-diff).

Product surface: /embedded#hardware-lab. In-app User Guide Chapter 23 (23_hardware_lab). Public docs hub: /docs/hardware-lab. LCOT (Local Chain of Thought) is the linked SSH/SFTP command library — see What is LCOT?. Docs hub: /docs.

What it is

Fact
JobTest device code on a virtual board before it touches hardware, then optionally run the same scenario on the real device
Where in the appTools → Hardware Lab (HIL)...; also Intelligence Panel → Virtual Board → Open Hardware Lab. Product page: /embedded#hardware-lab
PriceVirtual HIL, scenarios, board view, Run on Device, and Record ship in Free forever. AI Scenario and AI Fix are Pro AI. See pricing. There is no separate Hardware Lab license.

In practice: lay button presses, sensor edges, and UART on a timeline; state what should happen (pin states, pulse counts, I2C writes, log output); get a pass/fail report. Then Run on Device and read the timing skew in milliseconds.

Simulate → assert → Run on Device → diff

  1. Simulate — run the file against a virtual board. The simulator uses simulated time, so a sleep() advances the clock instantly. A 30-second hardware scenario can finish in under a millisecond and give the same answer every run.
    Simulate — in-app Hardware Lab · User Guide Chapter 23 (23_hardware_lab)
  2. Assert — put stimuli on a timeline, then state expectations: pin states, pulse counts, I2C writes, log output. You get pass/fail with the check that failed — not a wall of serial output.
    Assert — in-app Hardware Lab · User Guide Chapter 23 (23_hardware_lab)
  3. Run on Device — SSH/Linux may push a temporary hil_device_agent + sim vs bench diff; Arduino USB serial score (no standing agent; no C++ edge-diff). Scenario inputs are GPIO-API injected (not electrical jumpers). Outputs and timing are real on the SSH/Linux road. That helper is not Aida Lite and not a standing agent.
    Run on Device — in-app Hardware Lab · User Guide Chapter 23 (23_hardware_lab)
  4. Diff — compare simulation and bench edge by edge: matched edges with timing skew in milliseconds, edges the device never produced, and edges only the device produced.
    Diff — in-app Hardware Lab · User Guide Chapter 23 (23_hardware_lab)

Record — SSH pin watch or USB recorder sketch; both become replayable stimuli.

Mirror on virtual board (default on) shows live edges on Board View / Bench during a real run.

33 boards

The library is 33 boards with real pin maps. Raspberry Pi is in that count. Simulation and Generic Linux GPIO are in the 33 as well — not only Jetson, Arduino, and ESP32.

FamilyIn the 33
Simulation BoardYes — virtual target for scenarios
Generic Linux GPIOYes
Raspberry Pi×6 — Generic, 3B, 4B, 5, Zero W, Zero 2 W
ESP32 classic×3
Jetson×6
Arduino×10
Espressif×6 — S2, S3, C3, C6, ESP8266 NodeMCU, D1 Mini

The same board registry feeds Hardware Lab, the Board Library Manager, and the editor's board picker. Pin numbering follows the platform (sketch-style on Arduino; BCM-compatible on Jetson). Bench is a 2D pinout/board view (layouts A–E) — not a 3D CAD scene. Phase F (3D) is not started. Scenarios export to JSON so a test pack can travel with the project. Detail on the product page: /embedded#hardware-lab.

Also ships: CI Hardware Lab GitHub Action + Tools → Board Library Manager... (same 33-board registry).

A separate 3D world plugin for Hardware Lab and the AI Agent Hierarchy builder is coming to Pro and Teams Pro. It is not purchasable yet and does not replace this free 2D Bench.

Agents — what Hardware Lab does and does not install

AidaIDE is agentless SSH/SFTP by default. Terminal, SFTP, and LCOT on a normal host need only standard SSH/SFTP. Optional Aida Lite (port 5050) is opt-in for fleet. Lite-micro on MCUs is for the on-device web IDE — not a Hardware Lab agent, and not required for the free SSH/SFTP workspace.

SSH/Linux Run on Device and Record may push a tiny temporary HIL helper (hil_device_agent) over SSH/SFTP for that run. Arduino USB serial score has no standing agent and no C++ edge-diff. The helper is not Lite. There is no standing “Hardware Lab agent” product.

Free vs Pro

CapabilityTier
Virtual board / HIL, timeline scenarios, assertions, pass/failFree / base
Board view and pinout replayFree / base
Run on Device (SSH/Linux may push helper + sim vs bench diff; Arduino USB serial score)Free / base
Record (SSH pin watch or USB recorder sketch)Free / base
AI Scenario (model writes stimuli and expectations)Pro AI suite
AI Fix (model proposes a fix from failing checks)Pro AI suite
3D world pluginComing — Pro and Teams Pro (not purchasable yet)

Full plan list: pricing. Optional Pro is $19/mo or $190/yr. Teams Pro is $70/mo or $700/yr for 5 seats.

OS and download

AidaIDE ships for Windows today. macOS and Linux builds are in progress. Create a free account to download — there is no naked installer path.

Frequently asked

What is Hardware Lab?

Virtual hardware-in-the-loop: simulated board, timeline scenarios, assertions, pass/fail — then Run on Device (SSH/Linux may push hil_device_agent + sim vs bench diff; Arduino USB serial score) and Diff.

Is Hardware Lab free?

Yes for the lab itself (virtual HIL, scenarios, board view, Run on Device, Record). AI Scenario and AI Fix are Pro. See pricing.

Do I need an agent on the device?

Not a standing Hardware Lab agent. Simulation is local. Optional Aida Lite (port 5050) is fleet opt-in; Lite-micro on MCUs is the on-device web IDE. SSH/Linux Run on Device / Record may push a temporary hil_device_agent for that run. Arduino USB serial score (no standing agent; no C++ edge-diff).

How honest is the simulator?

Virtual clock in sim — a long scenario can finish in milliseconds. Run on Device: SSH/Linux real outputs and timing; scenario inputs are GPIO-API injected, not jumpers. Arduino USB serial score has no C++ edge-diff. Record — SSH pin watch or USB recorder sketch; both become replayable stimuli.

How many boards?

33 boards, including Raspberry Pi, Simulation, and Generic Linux GPIO — not only Jetson, Arduino, and ESP32.

How is it different from LCOT?

LCOT = Local Chain of Thought — 800+ one-click commands + linked terminal/SFTP on one SSH login. Hardware Lab is sim vs bench for GPIO-class code. Glossary: What is LCOT?

Try Hardware Lab on Windows — sign up free

Free forever workspace · Windows today (macOS & Linux in progress)

Sign Up Free — Download

Embedded: Hardware Lab · 3D world (coming) · What is LCOT? · Docs · Pricing · Community · Marketplace