# Send a rescue signal

Otherwhere OS / Elsewhere Machines

Extract the builds folder directly into the supplied pi-exp checkout.
The checkout supplies the runtime and component contracts; this bundle contains
the complete board, scenario, trace, and verified audio with a portable catalog.
No standalone software installer is included.

Use Bun 1.4.0, Python 3.12, and uv 0.12.0. From pi-exp:

```sh
bun --no-env-file tools/install-typescript-dependencies.ts
uv sync --project apps/device-agent --frozen --all-groups
bun --no-env-file tools/exercise-scenario.ts \
  --board builds/rescue/board.yaml \
  --scenario builds/rescue/scenario.yaml \
  --assets builds/rescue/assets/catalog.json \
  --steps builds/rescue/trace.json
```

This runs the real reactor with fake hardware. It does not open GPIO, record
a microphone, start a story provider, or install a package on a Pi.

The exact board is orion.console@3. Action: BCM16 / physical36; Talk: BCM21 /
physical40; status LED: BCM26 / physical37. Wire with power disconnected.
The normally-open buttons connect GPIO to GND. The LED connects GPIO through
a 1 kOhm series resistor to its anode, and its cathode to GND. GPIO is 3.3V;
never connect a 5V signal. A supported powered speaker and microphone use the
ALSA aliases speaker and microphone.

Check header orientation against the official Raspberry Pi documentation:
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#gpio-and-the-40-pin-header

See the guide for expected events. The source scenario is orion.space_rescue@2.
Audio is reused, verified repository inventory, not newly generated sound.
Use your organizer's supported enrollment/installation path for a connected Pi.
