How we build the sensors that let Oracle7 read the world, in three markets: infrastructure, industry and the living environment. Schematics, parts, power, wiring and the steps from bench to first installs. The technical appendix to the Prometheus7 investor deck.
| Market | Kit | Status |
|---|---|---|
| Infrastructure | Oracle7-infrastructure, software only: servers, sites, certificates, jobs | running on four servers since 12 October 2026; open release on Hugging Face |
| Industry and buildings | Machine kit: vibration, motor current, temperature, door and leak, plus bridges to existing equipment (Modbus, 4–20 mA) | designed (sheet 8) |
| Environment | Tree kit (sheets 2–7) and stream kit (sheet 7) | designed; first tree install is phase P3 |
This plan follows The Slow Fire. The sensors are what Prometheus7 sells; the intelligence is held in common. Every node runs the same rule as Oracle7 itself: say only what you have read, keep the receipt, decline the rest. A sensor is treated like a specialist. It is recorded but not trusted until it passes an exam, and every reading it makes carries a signed receipt.
Battery-powered nodes on the tree read, sign and radio their readings to a hub a few hundred metres to a few kilometres away. The hub holds the place's own Oracle7 and answers questions from a phone. Hubs in different places exchange only what their custodians chose to share.
LoRa is used in the field because it reaches kilometres under trees and draws microwatts when idle. The node never receives commands in v1.
One small board, built around a LoRa microcontroller module. Power comes from a solar panel through a charger into a long-life lithium iron phosphate cell. The sensors sit on a switched rail that is off between readings. The secure element creates the device's signing key on the chip, and the key never leaves it.
Part numbers are the v1 reference choices. Each is common and documented; equivalents are fine if the sensor card records what was fitted.
Sap flow uses the heat-ratio method, a standard technique in tree physiology. Three steel needles go into the sapwood about 6 mm apart along the trunk. The middle one carries a small heater; the needles above and below each hold a thermistor. A short heat pulse warms the sap, and the moving sap carries more of that heat upward than downward. The ratio of the two temperature rises gives the speed of the sap.
Installation drills three 1.3 mm holes, a small wound that trees tolerate and that is standard in forestry research. Probes go on the north side at about 1.3 m to keep direct sun off them, under a reflective shield.
Each sensor sits where it answers one question the oak can be asked. Paired sensors give the comparisons the article describes: under the canopy against open sky.
The solar panel stands on its own pole in open sky, because under a summer canopy it would see little sun. If the tree is on public land, the landowner or council must approve the install before anything is fitted.
| Signal | Part | Bus / pin | Cadence | Answers |
|---|---|---|---|---|
| Sap flow | 3-needle heat-ratio probe, 10k NTC | SPI ADS1220 #1 · heater MOSFET on GPIO | hourly pulse | "how much water I drew up yesterday" |
| Trunk growth | band dendrometer, linear potentiometer | SPI ADS1220 #2 ch0 | 15 min | growth, daily shrink in drought |
| Soil moisture ×2 | METER TEROS 10 (analog) | SPI ADS1220 #2 ch1–2 | 15 min | water around the roots |
| Soil temperature | DS18B20 in a probe | 1-Wire | 15 min | root-zone warmth |
| Air temp / humidity | Sensirion SHT45 | I²C 0x44 | 15 min | the air under the canopy |
| Light above / below | TI OPT3001 ×2 | I²C 0x45 / 0x46 | 15 min | "my leaves came out nine days early" |
| Surface temperature ×2 | Melexis MLX90614 ×2 | I²C 0x5A / 0x5B | 15 min | "the pavement under me runs cooler" |
| Rain ×2 | tipping bucket, reed switch | GPIO interrupt | every tip | "the rain my canopy holds back" |
| Sound | Knowles SPH0645 MEMS mic | I²S | dawn 30 min + hourly 1 min | birdsong activity (band energy only in v1) |
| Signing key | Microchip ATECC608B | I²C 0x60 | every reading | "this reading came from this device" |
Estimates from datasheet figures, to be replaced with bench measurements in phase P2. The heat pulse dominates; everything else is small.
| Load | Duty | mWh / day |
|---|---|---|
| Deep sleep | ≈ 15 µA, all day | 1.2 |
| Sensor readings | 96 × 1.5 s at ≈ 20 mA | 2.6 |
| LoRa transmit | 96 × 0.3 s at ≈ 120 mA | 3.2 |
| Heat pulse | 24 × ≈ 20 J | 133 |
| Thermistor logging after each pulse | 24 × 100 s at ≈ 5 mA | 11 |
| Sound, dawn chorus and hourly samples | ≈ 54 min at ≈ 8 mA | 24 |
| Total | ≈ 175 |
The cell holds 4.8 Wh, about 27 days with no sun at all. A 2 W panel in open sky makes roughly 0.7 Wh a day even in a British December, four times what the node uses. If a site is darker than that, the sap-flow pulse drops to every two hours before anything else is cut.
The same board, radio, signing and power path, with water sensors instead of tree sensors. The chemistry probes are galvanically isolated so they don't interfere with each other in the water. A probe that is overdue for calibration is reported as unverified, not as fact.
Turbidity is left out of v1: low-cost optical probes aren't accurate enough to pass the sensor exam, and a good one belongs in a later version.
Same signing, same exam, same receipts, built for plant rooms, factories, buildings and labs. It runs on the 24 V DC that industrial panels already provide, so power is not a constraint. It reads the machines directly, and it reads the meters and controllers already there through bridges. Those bridges are read-only: the firmware cannot send a write command, so watching a machine can never change it.
| Where | What it reads | What it can say, with receipts |
|---|---|---|
| Pumps, fans, motors | vibration velocity (mm/s RMS) and band energy, motor current, bearing temperature | "vibration on pump 2 has doubled in six weeks; at this rate it reaches the ISO 10816 alarm zone in about 19 days" |
| Buildings | meters and the building management system, read-only | tomorrow's heating load, scored against what actually happened |
| Labs | incubator temperature, CO₂ and door | "incubator 3's door was open 11 minutes at 02:14 and CO₂ fell to 3.1 %", with readings |
| Servers and sites | Oracle7-infrastructure, no hardware | crash loops, failing jobs, certificate expiry, disk forecasts |
Forecasts follow the same rule as the infrastructure agent: a forecasting method is used for a signal only after 30 or more scored forecasts have beaten "nothing changes" by at least 10 %. Machine node parts are about £250–300 per node, depending on how many current clamps and inputs a site needs.
No sensor's readings are used until it passes five checks. Passing writes its sensor card, which travels with every reading as part of the receipt.
| Check | How it is run | Pass when |
|---|---|---|
| Reference | 24 h beside a reference instrument | error within the declared accuracy |
| Noise floor | readings in a stable condition | measured noise below the declared resolution |
| Stuck | a known stimulus, or the natural daily cycle | the reading moves when the world moves |
| Fault drill | cover it, unplug it, dry it out | the hub flags the fault within the declared time |
| Cross-check | an independent signal that should agree | within the combined accuracy of the two |
After admission, four health checks run on every sensor, all the time: stale (no reading within three cadences), stuck (flat beyond its noise floor), impossible (outside physical limits or changing faster than physics allows) and disagrees (with its cross-check). A change only one sensor sees is reported as "sensor suspect" until a second signal agrees.
| device | the node's enrolled id |
| seq | a counter that only increases, so old readings can't be replayed |
| t | time of the reading |
| signal, value, unit | for example sap_velocity · 11.8 · cm/h |
| u | standard uncertainty of the value, from the sensor card and the exam (for example ± 1.6 cm/h). The hub carries it through every derived quantity by the GUM method (JCGM 100:2008), so "litres drawn up yesterday" is reported as a value with its range. Below a set signal-to-noise ratio a claim is hedged or withheld. |
| sig | ECDSA P-256 signature from the secure element over all of the above |
The hub checks the signature against the public key it enrolled once, checks that the counter only goes up and that the time is plausible, and drops anything that fails. It never holds a device's private key.
The signature proves where a reading came from and that it wasn't altered. It can't tell a probe in the tree from a probe in a cup of warm water. Truth is defended by physics: independent channels must stay physically consistent with each other, checked continuously by the hub.
| Channels | Must stay consistent because |
|---|---|
| sap flow · vapour-pressure deficit (from air T/RH) | trees draw more water when the air is drier, by day |
| trunk diameter · sap flow | the trunk shrinks by day while sap flows and recovers at night |
| throughfall · open-sky rain | rain under the canopy is always less than rain in the open |
| soil moisture · rain | soil wets after rain, not before |
| light below · light above | the canopy can only reduce light |
Faking one channel is easy. Faking five that stay physically consistent for weeks is close to impossible.
Every clause the place speaks carries an evidence tag: measured (from its own exam-verified sensors, with uncertainty), recorded (from a cited record, such as a planting register or a public phenology network), inferred (for example "sensor suspect"), forecast (shown with that method's scored record) or not shared (the custodian's choice). A new place borrows its baselines from public records such as Nature's Calendar or the USA National Phenology Network, tagged as recorded, until it has years of its own measurements.
Indicative prices in pounds, to be confirmed when ordering. The two research-grade items, soil moisture and the dendrometer, cost most. Each has a cheaper option that still has to pass the same exam.
| Item | Choice | Approx. £ |
|---|---|---|
| Microcontroller + LoRa | RAK4631 + WisBlock base | 35 |
| Secure element | ATECC608B breakout | 5 |
| Power | 2 W panel, BQ24650 board, LiFePO₄ 18650 + holder, TPS63802, load switch | 45 |
| Air, light, surface temperature | SHT45, OPT3001 ×2, MLX90614 ×2 | 55 |
| ADCs | ADS1220 ×2 | 16 |
| Sap-flow probe | built in-house: needles, thermistors, heater wire, epoxy | 25 |
| Dendrometer | built in-house: band + linear potentiometer | 30 |
| Soil moisture ×2 | METER TEROS 10 (research grade) · budget option: capacitive probes ≈ £20 | 220 |
| Soil temperature, sound | DS18B20 probe, SPH0645 | 13 |
| Rain gauges ×2 | tipping-bucket gauges | 60 |
| Enclosure and fittings | IP67 box, cable glands, vent, antenna, cabling, mast | 70 |
| Tree node | research-grade soil · budget soil ≈ £375 | ≈ 575 |
| Hub | Raspberry Pi 5 8 GB, NVMe SSD + adapter, SX1262 LoRa HAT, power, case | ≈ 170 |
| Reference instruments | calibrated thermometer, power meter, lux meter: bought once, reused for every exam | ≈ 120 |
| First site | one tree node, one hub, references | ≈ 865 |
Stream node, for later: the same core plus the pressure sensor and Atlas EZO kits for EC, pH and dissolved oxygen, roughly £750–850.
The first two phases need no hardware. They prove the discipline and the whole conversation in software before anything is bought.
Add sensor cards, the four health checks and the sensor exam to the infrastructure agent, and measure them on the four servers it already watches. This is the code every kit reuses. About one day.
A software node that produces realistic tree readings, with injected faults: a drying probe, a stuck sensor, a shaded light sensor. It feeds a hub running Oracle7, and the conversation opens with a greeting and answers only from readings and records. Also: check that Oracle7 runs on a Raspberry Pi 5, which hasn't been tested yet. About two days.
Order the parts (one to two weeks to arrive). Then:
About one week once the parts are in.
Install on one tree, ideally on land Ben controls so no permission is needed. Run a two-week burn-in, with the hub's health checks watching every sensor. Then the tree answers from a phone, greeting first, with readings and receipts, under its custodian's sharing rules.