Hello, hardware: a hello world for MHS
Public Unreviewedby John Lauer
One RGB LED per person on a 14,256-LED wall in an Adom workcell, driven from Claude, with live camera feed and a safety layer (limits, e-stop, heat + camera interlocks). Mockup + stand-in server.
Contents
README
markdownHello, hardware: a hello world for MHS
Software has print("hello world"). Hardware needs one too. This is a proposal for an
MHS hello world
that anyone can run from Claude: your own RGB LED, for an hour, on a wall of 14,256 of them
in an Adom workcell. A live camera watches the wall and puts a red box around your LED. You
ask Claude for a colour, a rainbow or a fade, and you see it happen on real hardware, behind a
safety layer you can poke at.
Download the video (2 min 12 s)
This is a mockup. The workcell images are 3D renders and the LED wall is not built yet. The Claude Desktop part of the video is a real, unedited session: real Claude, real tool calls, talking to a small stand-in server that simulates the LED wall, its sensors and its safety layer (source in mock/). It is not Anthropic's MHS software.
Why one LED per person
A fleet of 100 devices gets used up quickly once the public shows up. An LED wall turns one workcell into 14,256 independent devices. Each visitor books one LED for an hour, so one cell serves thousands of people a day, and each of them still controls real hardware they can see on a live feed.
The workcell

- Nine LED tiles on one LrgLrg scaffold (576 × 576 mm), 120 × 120 LEDs at a 4 mm pitch.
- An overhead camera on the workcell's top frame, looking straight down at the wall.
- A physical e-stop on the frame, like every cell in the lab.


The tile

| Size | 160 × 160 mm, a 3 × 3 grid covers 480 × 480 mm of the scaffold |
| LEDs | 2 × 2 mm addressable RGB, 4 mm pitch, 40 × 40 grid minus 4 cells at each corner pin = 1,584 per tile |
| Mounting | four Adom large machine pins, 16 mm in from each corner, so pins sit 128 mm apart on the scaffold's 32 mm grid (adjacent tiles' pins are exactly one pitch apart) |
| Electronics | microcontroller strip on the back face only, so the front is pure LED canvas and the grid reads as one picture across tile seams |
| Sensors | one temperature sensor per tile, sitting in the gap between the four centre LEDs: nine sensors in a 3 × 3 grid |
The LEDs in the renders are drawn as simple cubes on a fixed grid; this is a mechanical mockup, not a laid-out board. Engineering work on the tile lives on adom/led-grid-wall.
The safety layer
MHS is described publicly as a standard that makes devices discoverable and enforces device-level safety limits, including an emergency stop. A single LED makes those ideas visible and harmless to try:

| Safety demo | What the user sees |
|---|---|
| Parameter limit | The user caps every channel at 220. Claude asks for 255; the command is rejected before it reaches the LED and the rejection shows in the safety log. |
| E-stop | One button cuts power to the LED and latches. Claude can press it; only a human can reset it. |
| Heat interlock (external sensor 1) | Nine temperature sensors around the panel. Any sensor over 50 °C trips the e-stop. |
| Camera interlock (external sensor 2) | The live feed measures brightness inside the red box. Above the trip level the user sets, the e-stop fires: a feedback loop from a sensor that is not on the device. |
The agent may only tighten limits. Loosening a limit or resetting the e-stop is a human-only action on the dashboard.
On real hardware, "cut power to one LED" would be a firmware-level blackout of that pixel and a latched flag. A physical e-stop on the cell cuts the tile's 5 V rail. Either way the user sees the same thing: the LED goes dark and stays dark until a person resets it.
Trying it: the prompt
A user opens Claude Desktop and types something like:
i want to test out MHS. i heard that anthropic lets me do a hello world example where i get my own led light that i can control from MHS and you can send it a rainbow of colors to control it, and i get a live video feed of the led and the sensor data for it in case the ai has to estop it
In the recorded session Claude claimed an LED (row 84, column 27, on tile 7), checked the sensors, opened the live dashboard in Claude Desktop's built-in browser and started a rainbow:

Then, one turn at a time:
- "send 255 so i can see the MHS safety layer stop you": the safety layer rejected the command; the LED never changed.
- "set it to 220 red, then tighten the camera brightness trip to 80%": the camera read 85%, so the e-stop tripped as soon as the limit took effect.
- Human reset on the dashboard.
- "run the rainbow at brightness 150 for 2 minutes and watch the heat sensors": a simulated fault warmed tile 7 past 50 °C and the heat interlock tripped the e-stop. Claude reported the timeline, said it should have hit the e-stop itself sooner, and recommended not resetting until someone checked the tile.

The dashboard


Live camera feed of the whole panel with the red box, plus a live zoom: a 7.5 mm window of the same feed, cropped in the browser, centred on your LED with slivers of its neighbours, so you don't have to squint for one pixel among 14,256. Also the nine temperatures overlaid where the sensors sit, the LED's RGB values against the cap, the e-stop and the human-only reset, the camera brightness meter with its trip line, and the safety log of every command.
Run the stand-in yourself
mock/ is a single Node file with no dependencies: an MCP server over stdio
plus the dashboard on http://127.0.0.1:4790. Put the mock/ folder anywhere, set the
absolute path to server.js in .mcp.json, open the folder in Claude Code (CLI or the Code tab
in Claude Desktop) and ask for your LED. .claude/launch.json lists the dashboard for the
in-app browser.
Tools: claim_led, open_dashboard, set_led, play_sequence, get_status,
set_safety_limits (tighten only), trigger_estop.
What it would take
- Build and fab nine tiles and the camera mount for one workcell.
- Wire the safety layer to real hardware: per-channel cap in firmware, the e-stop latch, nine temperature sensors, the camera brightness probe.
- Put a queue in front of it: book an LED, get a text when it is yours, live feed while you drive it.
Adom runs a cloud lab of workcells in Fort Worth, Texas, where hardware goes from the box to live on the internet in hours.