Experiments · Research

Building things to understand them.

Interactive simulations, prototypes and notes, mostly about diving technology, physics and the systems that keep us alive underwater.

Experiments

08

Sidewinder mCCR Simulator

An interactive 3D model of a KISS-style split-scrubber sidemount rebreather, worn by a translucent diver in an underwater cave. Watch the gas travel from the lungs through both scrubber canisters and back. Control constant-mass-flow O₂ injection, depth and workload, and watch the scrubber's reaction front advance.

WebGLthree.jsrebreathergas physicsCO₂ scrubber
Launch simulator

Gemini mCCR Simulator

A split-scrubber sidemount mCCR modelled on the FATHOM Gemini. O₂ comes through a needle valve on the dual MAV, fed by an absolute-pressure first stage, so you dial the flow to your workload underwater and it stays constant with depth. No ADV: manage the loop squeeze on descent by hand. Includes the FATHOM three-LED HUD and a BOV for bailout.

WebGLmCCRneedle valvesplit scrubberbailout
Launch simulator

FX CCR eCCR Simulator

A chest-mounted electronic CCR modelled on the iQsub FX. A SOLO-style controller votes three O₂ cells and fires the solenoid to hold your setpoint, with automatic low/high switching. Watch the radial scrubber's reaction ring grow outwards, then work through failure scenarios: two cells reading low, and a stuck solenoid.

WebGLeCCRsolenoid controlcell votingradial scrubber
Launch simulator

XCCR eCCR Simulator

A back-mounted electronic CCR modelled on the iQsub XCCR: canister along the spine, 3 L tanks either side and U-shaped back-mounted counterlungs. Gas runs down the outside of the radial scrubber and crosses the bed inwards, so the reaction front closes in as a ring. A solid-state CO₂ sensor behind the scrubber warns of breakthrough; bail out on the BOV and watch the 3 L diluent drain.

WebGLeCCRCO₂ sensorradial scrubberbailout
Launch simulator

FLEX2 Sidemount eCCR Simulator

A sidemount electronic CCR modelled on the iQsub FLEX2, clipped to the right side like a big stage with its top head under the armpit. Everything is stacked in one tube: radial scrubber, CCR head with the SOLO board, two half-cylinder counterlungs in a perforated upper canister, and the 2 L oxygen cylinder in the door. No CO₂ sensor, so the stack timer and your body are the warning; bail out through the SM BOV onto the diluent stage.

WebGLeCCRsidemountradial scrubberbailout
Launch simulator

JJ-CCR eCCR Simulator

The classic back-mounted JJ-CCR: an aluminium base unit with the handle, stand and two 3 L tanks, the lid on top carrying the cells, solenoid and sealed batteries, and an axial scrubber you can watch filling up from the bottom. Exhaled gas runs down outside the canister and up through the bed to the cells. No BOV and no CO₂ sensor: close the DSV and go to your own bailout stage, or fly the loop by hand when the controller dies.

WebGLeCCRaxial scrubberback-mountbailout
Launch simulator

SF2 ECCR Simulator

The SF2's single stack on the back: the head with its cells, solenoid and 9 V battery box on top, the 2.2 kg axial scrubber in the upper carbon tube, and a bellows counterlung in the lower tube with the OPV at its lowest point. Exhaled gas runs down around the scrubber into the bellows and is drawn up through the bed on every inhale. Shearwater controller, two 3 L tanks in pony clamps, Manual Add Kit and an independent bailout stage.

WebGLeCCRaxial scrubberbellowsback-mount
Launch simulator

rEvo III hCCR Simulator

The rEvo's stainless case with both counterlungs inside and its dual scrubber: exhaled gas crosses the upper canister outwards, runs along the main cover and crosses the lower one back into the inhale lung, where the cells sit. A constant-mass-flow orifice bleeds 0.6 L/min beside the Petrel-driven solenoid, so you can switch to mCCR and fly it by hand on the NERD's own two cells. Cycle the canisters on the rMS and service timer, watch the absolute-IP orifice fade deep (or fit the 14 bar deep mod), and bail out to your own stage.

WebGLhCCR / mCCRdual scrubberCMF orificeback-mount
Launch simulator

O2ptima CM ("Choptima") eCCR Simulator

Dive Rite's chest-mounted O2ptima: two counterlungs right under the chin, a horizontal axial scrubber hanging beneath them and an AL13 of O₂ strapped underneath. Exhaled gas and the premixed O₂ run from the end cap through an ExtendAir cartridge (or 2.2 kg of granular) to the electronics head. The Petrel 2 votes cells 1, 2 and 3C while the HUD shows 1, 2 and 3H, so the fourth cell checks the vote. Off-board diluent, a DSV and your own bailout regulator.

WebGLeCCRchest-mountExtendAir4-cell cross-check
Launch simulator

Triton mCCR Simulator

M3S's chest-mounted mechanical CCR, built from its manual: asymmetrical counterlungs in a Kevlar cover, inhale on the right with the cells holder, exhale on the left with the adjustable ADV and its flowstop. Exhaled gas runs through a horizontal axial canister from the black end to the white. O₂ comes through the M3S valve's 0.7 L/min constant-mass-flow orifice and its push button, so you fly the loop yourself: open the flowstop at 6 m, tune the ADV wheel, catch the PPO₂ drop on ascent.

WebGLmCCRchest-mountadjustable ADVaxial scrubber
Launch simulator

INSPIRATION Classic eCCR Simulator

The AP Diving classic: a yellow case on the back with the axial scrubber and two 3 L cylinders, over-the-shoulder counterlungs, and a Master and a Slave handset on your wrists. The controller averages the two closest cells and opens the solenoid for 0.2–17 s, then waits 6 s. Two cells failing low outvote the good one, and the buzzer and CELL WARNING are your clue. Switch setpoints by hand, log scrubber time against the 3 h / 140 / 100 min rules, and bail out on the Auto Air.

WebGLeCCRover-the-shoulder lungsMaster / Slaveaxial scrubber
Launch simulator

Scrubber Test Bench

Design your own CO₂ canister: axial or radial (outside-in or inside-out), any diameter and length, grain size, packing and wall material. Then put it in the chilled wet pot and let the breathing machine run it to breakthrough. A 2-D packed-bed model tracks the reaction front, the bed temperatures and the Ergun work of breathing. Every run goes into a log, so you can compare real endurance against the theoretical absorbent capacity.

WebGLpacked-bed modelwork of breathingEN 14143-style testdesign tool
Open the bench

CaveDiveMap

An iOS app for surveying underwater caves. A 3D-printed wheel rides on the guideline while the iPhone, sealed in a dive housing, counts its rotations with the magnetometer (or camera), logs a compass heading on every turn and draws a live map. Save stations at each tie-off, then export to Therion or CSV.

SwiftmagnetometerPCAARKit VIOTherion3D printing
How it works

Explored Caves

01

Caves we've explored and surveyed, each with its own page, survey data and 3D map.

Krachimirsko Vrelo · Sump 2

A spring cave near Belogradchik in north-west Bulgaria. Follow the underground river, climb over a rock collapse, dive the short Sump 1, swim on, and reach Sump 2, which drops straight down. Explored with Georgi Mihaylov over 7–8 expeditions from 2024 to 2026: 100 m surveyed to −46 m, with an interactive 3D map built from the survey. The cave continues, and the line is in place for the next push.

cave divingsump explorationwetnotes survey3D mapBulgaria
See the cave
More to come

Next cave

More explored and surveyed caves will be added here.

Research

—
Coming soon

Research notes

Write-ups, papers and findings will appear here.

Coming soon

Data & methods

Datasets, models and the methods behind the experiments.

About

Been jerry-rigging my life away for about 40 years.

A self-taught expert in improvised shenanigans, fuelled by imagination and half-educated technical solutions.

If you're here, you probably share that never-ending itch in your brain.

Imagine, tinker, invent, discover, learn, fuck up, learn some more — repeat.

* Claude Opus 5.5: btw I wrote all the code, so he can pretend to be smart and get all the chicks :)