Craftpine

Program · since August 2026 · Paused

Terrasope

A study of a rig that bores, samples, reads the rock on board and picks its next hole. So far only the record layer is built.

The loop

Every hole runs the same four steps, and each step writes to one record. Only the record exists today.

on paperbuiltBoredrill the next holeSamplerecover the core,tag its depthReadread it on board,no labDecidepick where thenext hole goesnext holewritesRecord · builtEvery step writes here: on the device first, reconciled when a link returns.on paperbuiltBoredrill the next holeSamplerecover the core,tag its depthReadread it on board,no labDecidepick where thenext hole goesnext holewritesRecord · builtEvery step writes here: on the devicefirst, reconciled when a link returns.

The bench

The bench reuses Corner's hardware, a Raspberry Pi 5 and an NVIDIA Jetson. The first spike ran on the Pi.

A Raspberry Pi 5 and an NVIDIA Jetson heatsink on a workbench, joined by an orange ribbon cable
The bench, July 2026.

No GPS, no satellite, no people

The target is ground that the usual supports don't reach. Position, storage and error checks all have to work on board.

No GPSPosition comes from the hole:collar survey, inertial carryand depth from the drill feed.No satelliteNothing is streamed. Resultsare saved on board and moveonly when a link exists.No peopleNo operator reads a gaugeor re-seats a sample, so therecord has to catch errors.No GPSPosition comes from the hole:collar survey, inertial carryand depth from the drill feed.No satelliteNothing is streamed. Resultsare saved on board and moveonly when a link exists.No peopleNo operator reads a gaugeor re-seats a sample, so therecord has to catch errors.

The record layer

In the first spike the uplink was cut mid-run on purpose. Readings kept landing on the device, and the ledger caught up with nothing lost.

Readingfrom a mockspectrometerOn the deviceevery reading writtenin order and numbered,durable in 52 ms (median)link cut mid-runreadings kept landingon the deviceLedgercaught up on restore:zero lost, zero gaps,zero duplicatesFirst spike, August 12, 2026: 31 of 31 checks, three runs, on a Raspberry Pi 5Readingfrom a mock spectrometerOn the deviceevery reading written in orderand numbered, durable in 52 ms(median)link cut mid-runreadings kept landingon the deviceLedgercaught up on restore:zero lost, zero gaps,zero duplicatesFirst spike, August 12, 2026:31 of 31 checks, three runs,on a Raspberry Pi 5
Spike report, August 12, 2026. The reading came from a mock instrument, labelled as one.

Why the first sensor missed

The first sensor reads 415 to 910 nm, which is colour. The features that identify minerals sit between 1400 and 2500 nm, out of its reach.

Next rung, a $2 to 5K InGaAs unit, reaches 1700 nmFirst sensor, AS7341415 to 910 nm: colourWhere minerals show1400 to 2500 nm, key bands at 2200 and 2300AS7341 channel at 415 nmAS7341 channel at 445 nmAS7341 channel at 480 nmAS7341 channel at 515 nmAS7341 channel at 555 nmAS7341 channel at 590 nmAS7341 channel at 630 nmAS7341 channel at 680 nmAS7341 channel at 910 nmnothing measured220023004001000150020002500wavelength, nm4001000150020002500wavelength, nmFirst sensor, AS7341415 to 910 nm: colournothing measuredNext rung:a $2 to 5K InGaAsunit, to 1700 nm2200 nm2300 nmWhere minerals show1400 to 2500 nm
Build decision, September 9, 2026.

Status

Bench work stopped after Entry 1 on September 10. There is no field unit, client or revenue.

Aug 12First spike: the record layerheld, 31 of 31 checks on a Pi 5.Sep 9First sensor on the bench. Itreads colour, not minerals.Sep 10Entry 1 ranand missed.Hardware work stops.NowPaused.No field unit, clientor revenue.Aug 12First spike: the record layer held,31 of 31 checks on a Pi 5.Sep 9First sensor on the bench. It readscolour, not minerals.Sep 10Entry 1 ran and missed. Hardwarework stops.NowPaused. No field unit, client orrevenue.