Work

Boards, sound, and places you can walk around.

The studio pays the bills with client software. This page is the rest of it — the hardware and the signal work we do because the problem was interesting and somebody needed it solved. Every number below was measured, not estimated, and each one names the thing it was measured on.

Hardware

Twelve boards, routed and rendered.

Twelve ray-traced circuit boards tiled in a grid, each rendered from its CAD file

Twelve circuit boards, every one of them routed, DRC-clean and rendered from the real geometry — guitar pedals, a headphone amplifier, a BLE control board, a cable tester, an assistive switch interface. They are generated, not drawn: the netlist comes out of code, the placement is annealed, and the router, the rule checks and the fabrication package all run from one command. That is the point. A board you can regenerate is a board you can change.

Each one is photographed the same way — five ray-traced views at 2048 × 1536, straight out of the CAD, with real copper, real soldermask and real silkscreen. Sixty renders in all. No mock-ups, no stock photography of somebody else’s board.

  • 12 boards routed, 0 unconnected nets at DRC
  • 60 ray-traced renders, 5 views per board
  • 20 boards of MVP-1 Rev B on order from fabrication
  • KiCad 10
  • Generated netlists
  • Simulated-annealing placement
  • Autorouting & DRC gates
  • SPICE verification
  • Panelisation
  • Turnkey assembly sourcing

The kit boards.

Three pedal boards designed to be built by hand, on a bench, by somebody who has never populated a PCB before. Through-hole where it helps a beginner, a silkscreen that tells you what goes where, and a bill of materials that a single distributor can fill.

The SQUATCH TRAIL OD overdrive board, isometric, with three potentiometers and film capacitors

Overdrive kit

SQUATCH TRAIL OD

A soft-clipping overdrive. Symmetrical diode clipping inside the feedback loop, a tone stage that stays out of the way, and a layout that leaves room for fingers and a soldering iron.

The SQUATCH CLAW distortion board, isometric, populated with through-hole parts

Distortion kit

SQUATCH CLAW

Hard-clipping distortion with a filter that opens up as you back off. The circuit model behind it is the one we check against SPICE, including the way the bias rail sags when you dig in.

The SQUATCH GOLDFOOT overdrive board, isometric

Overdrive kit

SQUATCH GOLDFOOT

A transparent overdrive built around a clean blend, so the dry signal stays underneath the dirt. The hardest of the three to lay out and the one the charge pump made interesting.

Assistive technology

Four switch inputs for $2.44 of parts.

The switchbridge board: four 3.5 mm jacks along one edge, a USB-C receptacle on the other

If you cannot use a touchscreen, every major operating system will already let you drive it from a handful of buttons — a big round switch, a sip-and-puff tube, a head or knee switch. Apple calls it Switch Control, Android calls it Switch Access, and both of them are free and built in. The software half of switch access is solved. The hardware half costs £269.

switchbridge is that hardware half, done honestly. Four 3.5 mm jacks, one switch each, an activity LED per input so a teacher or a therapist can see at a glance that a switch is firing, and a USB-C cable. It enumerates as a plain boot-protocol USB keyboard — nothing else, no pairing, no battery, no radio, nothing to charge, and no radio certification standing between the design and anyone who wants to build one. A mode button cycles three keystroke profiles for the common cases: the iOS Switch Control defaults, numbered keys for communication apps, and arrow keys for grid scanning.

The incumbent it is measured against is a £269 Bluetooth interface with two inputs; the cheaper wired option it replaced was discontinued. That price is paid by disabled people, schools and families, and there is nothing in the circuit that justifies it.

  • $2.44 of parts per board — 15 BOM lines, 37 placements
  • $4.02 per board fully built, at 30 units
  • 4 inputs, against 2 on the £269 incumbent
  • 62 × 40 mm, 4 layers, 0 unconnected nets at DRC
  • 3,880 bytes of flash; 2,561 lines of C, zero warnings
  • 20 ms debounce; key down on closure, key up on release
  • STM32 firmware in C
  • USB HID
  • 4-layer mixed-signal layout
  • Design for cost
  • Accessibility
  • Open hardware

Status · validated on the bench, not yet fabricated

The switch behaviour was proved against a real phone over USB-C before a single board was ordered — Switch Control highlighted and selected through six press-and-release cycles across three windows. That validates the concept, not the board. No PCB has been fabricated yet.

switchbridge is not a medical device. It is an input peripheral that produces keystrokes; it carries no therapeutic claim and touches no patient circuit. Prior art is credited in the repository.

Sound

A circuit model you can hold to the reference.

Guitar effects are full of claims nobody checks. We check ours: the model gets rendered, the circuit gets simulated, and the two get subtracted. If they disagree, the number goes in the report rather than out of it.

Measured

0.031 dB against SPICE

The analog front end of our stomp platform — input network, drive feedback and anti-alias pole — is derived from component values into biquads by bilinear transform, built as a VST3, rendered offline, and compared against a fresh SPICE run. The worst disagreement across the measured band is 0.031 dB, at 20 kHz. That is a small-signal figure for the linear path; it is not a distortion match, and we do not present it as one. The nonlinear models are held to their own, larger error bars.

Measured

A tuner good to a hundredth of a cent

On 275 real recorded guitar notes, the tuner’s median absolute error is 0.005 cents. Push the fundamental down 20 dB — the case that breaks pitch trackers — and it holds 0.037 cents with no gross errors, where a standard YIN implementation misses by 316 cents on 8.2% of notes. There is a browser demo; it runs the same C++ through WebAssembly.

The DSP model's frequency response overlaid on the SPICE reference, with the residual below

The engine underneath.

A dependency-free C++17 block library — gate, EQ, limiter, cabinet convolution, tuner — written to run on a laptop, a Raspberry Pi and a microcontroller from the same source. It is cheap enough to be uninteresting, which is the goal: at 48 kHz in 128-sample blocks, the whole gate-EQ-limiter chain costs 0.34% of one core, a 200 ms cabinet impulse costs 0.39%, and the tuner costs 0.65%.

Amp models, and a bug in the reference.

Working on neural amp-modelling performance, we found a heap overflow in the widely used open-source model runtime: ask it to process a block larger than the one it was told to reserve for, and it writes past the end of its buffers. A sanitiser counted 38,678 invalid reads and writes in a single call. The fix splits oversized calls into chunks that fit, allocates nothing, runs to 178 lines, and was shown byte-for-byte identical to the existing behaviour across 36 rendered comparisons. It is filed upstream and open.

  • C++17, no dependencies
  • Real-time audio
  • ngspice & Xyce
  • Faust → VST3 / JSFX
  • WebAssembly
  • NEON & SIMD
  • Upstream contribution

github.com/Squatch-Stack/squatch-dsp
github.com/Squatch-Stack/squatch-tuner — try the tuner in a browser

Field scans

Real places, measured, in a browser tab.

A gaussian-splat scan of the Brookline Station springhouse interior

A pipeline that takes a phone in your hand to a place you can orbit on a screen. Thirteen scenes so far — a battlefield gun, a split-rail fence, a springhouse, a cairn, a saguaro, an oak that came in at 1.33 million Gaussians — captured in the field, trained into splats, and served from our own pages with no third-party embed and no CDN.

Three repositories do the work and each is useful alone. posekit gets camera poses out of Apple’s photogrammetry and into the formats splat trainers actually read. gallery is the viewer and the catalogue. hdc-holo is the research end: holographic computing on hypervectors, where a scene, the structures describing it, and the operations over it all live superposed in one complex vector.

  • 13 scenes catalogued; largest 1,330,707 splats
  • Self-hosted — no third-party viewer, no CDN
  • 3D Gaussian splatting
  • Photogrammetry & pose conversion
  • three.js + Spark
  • GPU training
  • Hyperdimensional computing
  • Swift

See the gallery · posekit · gallery · hdc-holo

In flight

Client work, shipping.

Most of what the studio does belongs to somebody else. Here is what we can say about the work in the pipe.

Asset slot 10 · unbranded motif

img/work/in-flight-health-800.webp

Coming soon

A consumer health app

A pregnancy and birth companion for iOS and Android, picked up mid-build as a rescue-and-launch engagement. Building, signed, and on both stores’ tester tracks. Named here when the client is ready.

  • Flutter
  • Firebase
  • iOS + Android release

Squatch Stack

The open half lives on GitHub.

Squatch Stack is where our open work ships — the DSP engine, the tuner, the splat pipeline, the hypervector research. If something here is useful to you, take it, and tell us what broke.

See all of Squatch Stack

Squatch CC was founded by Tom Rankin — his own writing, scans and field notes are at tomrankin.net.