HardwareContextDownload
Deterministic scanner · no AI inside it

Know what’s on your board

Plug in a microcontroller and HardwareContext reads every bus and pin on it, then hands you a clean report to paste into any AI chat. It probes hardware and formats text. That is all it does.

On a laptop you don't control, or want it running natively instead of in a browser tab? Download the desktop app.

Open boards work free, forever. No key, no account, no check.

ESP32-WROOM-32ESP32-S3ESP32-C3ESP8266 (NodeMCU / Wemos D1)Arduino Uno / NanoArduino Mega 2560Raspberry Pi PicoSTM32 Blue PillESP32-S2ESP32-C6ESP32-H2Arduino Leonardo / MicroArduino Nano EveryArduino DueRaspberry Pi Pico 2Teensy 4.0STM32F401 Black PillArduino Zero / SAMD21ATtiny85Arduino Nano 33 BLE

It reads the board, not a description of it

Everything below is a measurement taken over the wire. Where a part can prove its identity, the report says confirmed. Where it cannot, you get the raw bytes and an honest label.

I2C

0x08 – 0x77

Every address on the bus, then a read of the identity register on parts that publish one. A device that confirms itself is reported as confirmed. One that cannot is reported with its raw bytes instead of a guess.

GPIO

20 pins

Each pin is read twice, once pulled up and once pulled down. A pin that follows the pull has nothing on it. A pin that refuses to move has something holding it, and that difference is the whole point.

ADC

12 channels

Analog-capable pins report calibrated millivolts, so a half-scale reading arrives as 2.100 V rather than 2606 counts.

OneWire

ROM read

Reads the 64-bit ROM code and resolves the family byte, which is how a DS18B20 announces itself.

UART

9600 · 115200

Listens on the spare hardware UART at the rates hobby modules ship with, and reports anything that arrives unprompted.

Three steps, once

Flashing the sketch is a one-time job. After that, scanning is two clicks whenever you rewire something.

  1. 01

    Flash the sketch

    Open hardwarecontext_esp32.ino in the Arduino IDE and upload it to your ESP32. Nothing to install — it uses the core only.

  2. 02

    Plug the board in

    Leave your project wired up as it is. The scanner wants to see what you actually built, not a bare board.

  3. 03

    Scan and paste

    Pick the port when Chrome asks, then copy the report into Claude, ChatGPT, or whatever you use. The prompt is already on it.

Adding a board is one file

Every board lives as a definition with a signature, a pin map and an ADC list. Copy the nearest one, edit the pins, and it works. No rewrite, no plugin system to learn.

board-registry.ts

ESP32-WROOM-32

ESP32-D0WDQ6 (Xtensa LX6 dual-core)

20 pins · 12 ADC · SDA 21 / SCL 22

ESP32-S3

ESP32-S3 (Xtensa LX7 dual-core)

19 pins · 10 ADC · SDA 8 / SCL 9

ESP32-C3

ESP32-C3 (RISC-V single-core)

12 pins · 5 ADC · SDA 8 / SCL 9

ESP8266 (NodeMCU / Wemos D1)

Tensilica L106

8 pins · 1 ADC · SDA 4 / SCL 5

Arduino Uno / Nano

ATmega328P

12 pins · 6 ADC · SDA 18 / SCL 19

Arduino Mega 2560

ATmega2560

24 pins · 8 ADC · SDA 20 / SCL 21

Raspberry Pi Pico

RP2040 (dual Cortex-M0+)

26 pins · 3 ADC · SDA 4 / SCL 5

STM32 Blue Pill

STM32F103C8T6 (Cortex-M3)

16 pins · 8 ADC · SDA 7 / SCL 6

ESP32-S2

ESP32-S2 (Xtensa LX7 single-core)

31 pins · 18 ADC · SDA 8 / SCL 9

ESP32-C6

ESP32-C6 (RISC-V single-core)

16 pins · 7 ADC · SDA 6 / SCL 7

ESP32-H2

ESP32-H2 (RISC-V single-core)

16 pins · 5 ADC · SDA 12 / SCL 13

Arduino Leonardo / Micro

ATmega32U4

12 pins · 11 ADC · SDA 2 / SCL 3

Arduino Nano Every

ATmega4809 (megaAVR 0-series)

12 pins · 8 ADC · SDA 18 / SCL 19

Arduino Due

AT91SAM3X8E (Cortex-M3)

50 pins · 12 ADC · SDA 20 / SCL 21

Raspberry Pi Pico 2

RP2350 (dual Cortex-M33 / dual Hazard3)

26 pins · 3 ADC · SDA 4 / SCL 5

Teensy 4.0

IMXRT1062 (Cortex-M7)

23 pins · 10 ADC · SDA 18 / SCL 19

STM32F401 Black Pill

STM32F401CCU6 (Cortex-M4)

15 pins · 8 ADC · SDA 9 / SCL 8

Arduino Zero / SAMD21

ATSAMD21G18 (Cortex-M0+)

12 pins · 8 ADC · SDA 20 / SCL 21

ATtiny85

ATtiny85

5 pins · 3 ADC · SDA 0 / SCL 2

Arduino Nano 33 BLE

nRF52840 (Cortex-M4F)

12 pins · 6 ADC · SDA 31 / SCL 2

The ESP32 sketch ships today. The rest are defined in the registry and land as their firmware is written.