How this repository is put together

The Helrig Box's firmware is ToneRelay, an open-source Wi-Fi relay for Helix pedals by Mark Peskett. What makes a ToneRelay build a Helrig Box is a small profile (profile/): the names the box shows the network (Helrig Box e7fb0b, helrigbox.local), the page it serves for Wi-Fi setup, and its defaults (relay-only on). Everything else, the relay, the USB handling and the Wi-Fi code, is ToneRelay's, and improvements to it go back to ToneRelay.

Helrig on your computer, connected over Wi-Fi to the Helrig Box, connected by USB to your Helix or HX pedal

The box carries the pedal's USB transfers and does not interpret them; Helrig is the only thing that speaks the pedal's protocol. The contract between the two is ToneRelay's docs/raw-relay-protocol.md.

Path What it is
profile/profile.c The Helrig Box's names and defaults.
profile/setup.html The setup and status page the box serves (about 9 KB, no network requests, the logo inline).
brand/ The lockup, icon and diagram SVGs, and the brief the setup page follows. Helrig's artwork: see NOTICE.md.
scripts/build.sh, scripts/flash.sh Build ToneRelay with this profile; flash it, and optionally clear the box's settings.
hardware/casing/ The 3D-printable case (STL files, previews and print notes), an adaptation of a CC BY 4.0 model: see NOTICE.md.
scripts/package-web.sh Split the build into the parts the web flasher writes.
web/ The site at box.helrig.com, deployed by Vercel: the overview, the web flasher (/flash, from web/flash.template.html) and the docs, which build-docs.mjs builds from README.md, docs/ and hardware/, all with the same navbar (releasing).
third_party/ToneRelay ToneRelay's source, pinned (a submodule). Until the changes this depends on are merged upstream, it points at a fork.

See also: build from source, releasing, setup page, measurements.