live sonar sweep · ectoplasm lingers where it passed
ESP32-S3 sensors
disturbance
strong return
N · 0.0m
~ test chamber · 6m × 4m ~
Field journal— entries
~listening · listening · listening
Instrumentation
LIVE
Phase-space orbit
tight loop = calm · scattered = something here
orbit radius σ = 0.18 · stable
CSI waveforms
8 subcarriers · oscilloscope trace
CH 6 · 2.437 GHz● REC
Direction of arrival
where the energy is coming from
bearing: — · spread: —°
Last 2 minutes of deviation
Evidence log
Every anomaly_detected event the hunter has captured this session. Click any row to open the case file — replay the deviation, see which sensors agreed, mark it as confirmed or noise.
—
Sightings over time
events / bucket
Severity wheel
visible events only
Time
Bearing
Sensor lead
Confidence
Severity
Note
Baseline
The hunter learns the "calm" shape of the room as an attractor in CSI state-space. When live readings stop tracing that shape, the deviation score rises and the ghost meter wakes up.
Attractor dimension
3.42
fractal estimate
Last shift
—
baseline_shift
Stability (1h)
94%
attractor lock
Calm-state attractor
the orbit the room traces when nothing's there
Centroid drift
how far the room has drifted from initial baseline
Baseline shift history
every time the attractor was re-fit or jumped
When
Reason
Δ centroid
New dim
Samples
Sensors
Paired ESP32-S3 radios. Each sensor's position on the floor plan matters — the more spread out, the better the direction-of-arrival estimate.
Floor plan
drag sensors to update their position · click empty space to add
Tuning
Crank sensitivity up to chase whispers; back it off to ignore the fridge. All changes apply live.
Detection sensitivity
how far from baseline counts as "ghost"
20 jumpy6295 only the loudest
1840
13 consecutive frames10
Baseline & attractor
how the calm-state model is built
110 min60
Config preview
JSON pushed to the cog
{}
About this cog
Ghost Hunter watches Wi-Fi channel-state information from ESP32-S3 sensors, learns the "shape" of an empty room as an attractor in state-space, and raises an alarm when the room's signature stops tracing that shape. Entertainment / research use only — don't make life decisions based on it.
👻 Ghost Hunter
anomaly detection via attractor-based environmental baseline
research
Version
v0.3.0
Size
22 KB
Difficulty
Medium
Hardware
ESP32-S3
Input
CSI raw
Category
Research
Emitted events
anomaly_detecteddeviation_scorebaseline_shift
How it decides there's a ghost
Sensors stream raw CSI (channel-state information) — basically how Wi-Fi sub-carriers reflect off everything in the room, dozens of times a second.
During calibration the cog watches the room "empty" for a few minutes and learns a low-dimensional manifold (the attractor) that the CSI orbits around.
Live CSI is continuously projected into the same space. The distance from the orbit becomes the deviation score.
If the score crosses your threshold for N consecutive frames, an anomaly_detected event fires. If multiple sensors agree on bearing, confidence goes up.
Slow drift (HVAC, sunlight, doors closed) re-shapes the orbit itself — that's a baseline_shift, not a ghost.
Source
cognitum-one/cogs/src/cogs/ghost-hunter
Case file
—
Sensor consensus at trigger
Deviation ±15s around event
Re-calibrate baseline
The hunter will treat the next window as ambient and rebuild the attractor. Stop moving / talking / opening doors.
Pair an ESP32-S3
Hold BOOT for 3 seconds, then type the 6-digit code from the sensor's OLED.