Measuring wheel activity
How the WHEELY9000 counts accepted magnet passages as work units.
TL;DR
- One accepted magnet passage records one work unit.
- Readings are checked and saved before they're sent for verification.
- A magnet held beside the sensor counts once. Speed and distance are estimates calculated from accepted passages.
What gets counted?
A magnet passage that passes the Pi's timing and continuity checks adds one work unit; a magnet that stays beside the sensor counts once. The Raspberry Pi saves each accepted passage before publishing it and estimates RPM, speed, and distance from those saved passages.
How it works
The Pico sends sensor observations to the Pi with enough information to check their order and timing. When they form an uninterrupted sequence and the counting checks pass, the Pi saves the passage and its round, then signs the saved records and sends them to the Oracle.
The Pi stops counting when sensor readings, time, or storage become unreliable, and resumes only once they're healthy; it never guesses at gaps. Network and signing failures delay delivery but not counting. What the system proves explains what an accepted passage establishes.
Technical detail: acceptance rules
| Acceptance property | Counting rule |
|---|---|
| Initial state | The Pi must observe an inactive sensor before accepting a passage |
| Inactive rearm | At least 10 milliseconds of observed inactive state |
| Passage spacing | At least 60 milliseconds between accepted passages |
| Repeated active samples | Add no work while the sensor stays active |
| Source continuity | A reboot, identity mismatch, sequence gap, malformed reading, timeout, or overflow stops acceptance |
| Persistence | The Pi publishes an accepted passage only after saving it durably in SQLite |
Rules and boundaries
- A round that reaches the configured work cap stops accepting passages until an operator recovers the Pi. Extra work is never truncated or moved to the next round; Launch configuration lists the Sepolia cap.
- On restart, the Pi closes rounds that elapsed while it was stopped as zero-work rounds. A zero-work round therefore means no accepted passages, not that the wheel was watched and idle.
- Each reporting history has its own counter epoch and start time. Compare it only with the matching Oracle installation history.
- Cameras do not affect passage acceptance or prove that an unrecorded passage occurred.
- A signature identifies the chip that signed the record; it doesn't prove who or what moved the wheel.
- Distance is estimated from the fixed wheel circumference, not measured animal travel.
