Hardware-as-a-Service

Run your firmware on the real board.
Before you buy the board.

One command connects your AI editor to a real board. Ask it to run your firmware and the serial output streams back — no token to paste, no board to buy.

Claude Code · Codex · Claude Desktop · Cursorhaas-mcp on npm ↗
  • ✓ opens haas-lab.com — sign in if you are not already
  • ✓ mints a token and hands it to the command; you never see or paste it
  • ✓ connects every AI client it finds — then ask it to run firmware on a board

Live demo

Run the demo on a real board.

A real ESP32-C3 on the bench boots and prints the chip it is, its eFuse serial, its flash and its radio — nothing a simulator could fake. No account needed; one demo per visitor every five minutes.

ready · esp32c3-mini-v1

How it works

01

Submit firmware

A .bin for the board's profile, checked before it goes anywhere near hardware.

02

It runs on a real board

A bench in the lab flashes it and captures everything the board prints. If every board is busy, you see your place in the queue.

03

Watch it, then automate it

Serial streams live and stays with the job. Fetch it from CI and fail the build on what the board said.

Automate from anywhere

For scripts and CI — the same API the dashboard uses. Your token comes from the dashboard.

curl
curl -X POST \
  -H "Authorization: Bearer $PAT" \
  -F firmware=@blink.bin \
  https://haas-lab.com/api/v1/jobs
python
from haaslab import Client

client = Client(token="pat_...")

job = client.jobs.create("blink.bin")
job = client.jobs.wait(job.id, timeout=120)
print(client.jobs.serial(job.id))