Every chip hums a secret song. The ESP32 doesn’t just crunch code and throw WiFi at your router. Beneath its polished silicon, there’s jitter, static, the low growl of entropy. My project Resonator_Entropy takes that hum, drags it into the open, and makes it dance on a screen.
GitHub link here
Hackaday.io Project Page
---
The Core Idea
Most devices trust their random numbers. I don’t. Randomness is the skeleton key of cryptography, simulation, and anything pretending to be unpredictable. If it’s fake, the whole house collapses.
Resonator_Entropy doesn’t fake it. It jams its analog fingers into the ESP32’s noisy pins and pulls out the static. It samples raw electrical fluctuation, folds in timing data, and spits out entropy readings. Then it beams the whole mess over WiFi into a retro-styled web interface, where you can watch chaos in real time.
It’s not NIST-certified. It’s not a gambling-grade RNG. It’s closer to holding a Geiger counter to your living room wall and asking: what if the background radiation had moods?
How It Works
Analog Noise Inputs
Two analog pins (GPIO 36 and 39) sip noise like wine. They’re never steady. They drift, wobble, and fight each other. Perfect fuel.Entropy Fusion
The code XORs analog readings with timing offsets, grinding them together into a number that refuses to stay still.Live Visualization
A circular buffer of data gets rendered into a graph inside the ESP32’s tiny web server. You can hit it from your laptop or phone. The graph jitters like a CRT display caught between channels.Configurable at Runtime
Through the web UI, you can tweak sample rate, network credentials, serial logging. The ESP32 doesn’t just sit there—it obeys your knobs and switches.Lean Build
The whole system fits into ESP32 memory by stuffing HTML, CSS, and JavaScript into PROGMEM. Old-school embedded minimalism, with just enough polish to keep it usable.
Why Bother
Because noise is beautiful. Because predictable machines are boring. Because if you can map entropy, you can also map its absence. That means anomaly detection. That means noticing when the world goes quiet in ways it shouldn’t.
I’ve already used Resonator_Entropy to catch subtle shifts: room lights flipping on, someone walking by with a phone, even the ESP32 itself changing thermal state. It’s like a stethoscope for the invisible.
Weak Spots
Let’s be honest:
- The randomness here isn’t cryptographically secure. A serious adversary with a model of your analog environment could bias it.
- Bias detection isn’t automated. The system doesn’t yet know when its noise stream drifts out of balance.
- The anomaly definition is crude. A flat threshold isn’t enough for serious signal hunting.
- The web UI, while slick for an ESP32, would choke if I piled on more graphs or history.
But these aren’t failures—they’re invitations.
Future Upgrades
- Entropy Whitening: Run the raw bits through SHA-256 or a von Neumann corrector to clean bias.
- Sensor Fusion: Mix in temperature, light, or RF scans. The more chaos, the merrier.
- Adaptive Anomaly Detection: Rolling averages, sigma thresholds, maybe even a little embedded ML.
- Persistent Logging: Save to SD card or flash, then export CSV for long-term studies.
- Retro UI: CRT scanlines, ASCII plots, ANSI colors. The entropy should look like it belongs on a haunted terminal.
- Hardware Chaos Source: Add a reverse-biased diode or Zener to juice up the entropy pool.
Why It Matters
We live in an age of deterministic machines. Every click logged, every cycle planned. Resonator_Entropy is a reminder that under all the polish, randomness still leaks. The silicon still dreams.
By watching entropy, you’re not just measuring noise—you’re peeking at the world’s raw uncut uncertainty. And maybe, just maybe, you’ll notice when the noise goes wrong. That’s the moment to pay attention.
Get It
The code, the docs, the build details are here:
Resonator_Entropy on GitHub
Hackaday.io Project
Fork it. Flash it. Watch the noise crawl across your screen. Then start asking questions about what it means.
Top comments (0)