Summary
Add support for one or more ESP32‑based hardware RNG nodes that stream entropy samples to AEON over Wi‑Fi, so experiments can use true‑random physical sources instead of only /dev/urandom.
Motivation
/dev/urandom and similar OS PRNGs differ across platforms and are not ideal when testing correlations between entropy sources and operator/field conditions.
ESP32 includes a hardware RNG that derives entropy from internal noise sources and is exposed via esp_random() / HAL APIs.
Wireless nodes let us place REGs in different rooms/locations and compare spatiotemporal PSD structure across multiple independent devices.
Proposed architecture
- Entropy backend interface in AEON:
- Abstract class or protocol like EntropySource with methods: open(), read(n_bytes), close().
- Existing /dev/urandom implementation becomes OsEntropySource.
- New Esp32NodeSource will implement the same interface but read from a network socket instead of a local file.
ESP32 firmware (minimal design)
Uses hardware RNG (esp_random() or HAL RNG API) to generate 32‑bit words at a configurable rate.
Pack samples into fixed‑size UDP or TCP frames with the following:
-
Node ID
-
Sequence number / timestamp
-
Payload of raw random words
-
Sends to a configurable host IP/port.
Host‑side receiver
Simple async listener in AEON that:
- Accepts packets from one or more nodes
- De‑multiplexes by node ID
- Feeds concatenated samples into the normal analysis pipeline (walks, PSD, spectrograms).
User‑facing behavior
Config file or CLI switch to select backend, e.g.:
- source = "os" (default)
- source = "esp32" with nodes = [ "192.168.1.50:5000", "192.168.1.51:5000" ]
- UI shows which backend is active and per‑node status (online/offline, bytes/sec).
All existing analysis/visualization stays the same; only the source of bits changes.
Future extensions
Support for USB TRNG devices and commercial REGs via the same EntropySource interface.
On‑device pre‑processing (e.g., whitening) options to compare “raw vs processed” entropy.
Planned ESP32 / sensor features
-
ESP32 TRNG Wi‑Fi nodes streaming raw 32‑bit entropy samples to AEON over LAN, using a generic EntropySource backend interface. docs.espressif
-
Configurable support for multiple nodes (IP/port per node) with per‑node status and multi‑channel analysis in AEON. [instructables](https://www.instructables.com/ESP32-Control-Via-UDP-Datagrams/)
-
Touch/event mode: use ESP32 capacitive touch pins as event buttons (e.g., “spoke”, “subjective hit”, “marker”) logged alongside entropy streams. randomnerdtutorials
-
Crude GSR mode: use touch pins (or an external GSR sensor) as a simple galvanic skin response channel to track arousal/skin conductance over time. github
-
Mic / active speaker mode: attach an I2S MEMS microphone to each node; compute short‑window RMS to detect which participant is speaking in group conversations and log speaker labels. github
-
Microvolt amplifier / EEG node: feed a low‑noise microvolt amplifier board into an ESP32 ADC to get 1–2 channels of low‑budget EEG from a cap‑mounted electrode setup, then analyze band power vs. entropy patterns. inmr
-
On‑node sonification: optional speaker output where nodes convert current entropy or coupling metrics into simple audio tones for real‑time “listening” to synchrony. [dronebotworkshop](https://dronebotworkshop.com/esp32-i2s/)
-
Multi‑sensor overlays: AEON compositor that stacks spectrograms from multiple nodes/sensors, with colorized regions where signals overlap and grayscale elsewhere (saturation/“burn”‑style blend). [hydrogenaudio](https://hydrogenaudio.org/index.php/topic,121917.0.html)
Help wanted
Feedback on packet format and transport (UDP vs TCP vs ESP‑NOW).
Suggestions for specific hardware modules or REGs people use in parapsychology / consciousness studies.
Summary
Add support for one or more ESP32‑based hardware RNG nodes that stream entropy samples to AEON over Wi‑Fi, so experiments can use true‑random physical sources instead of only /dev/urandom.
Motivation
/dev/urandom and similar OS PRNGs differ across platforms and are not ideal when testing correlations between entropy sources and operator/field conditions.
ESP32 includes a hardware RNG that derives entropy from internal noise sources and is exposed via esp_random() / HAL APIs.
Wireless nodes let us place REGs in different rooms/locations and compare spatiotemporal PSD structure across multiple independent devices.
Proposed architecture
ESP32 firmware (minimal design)
Uses hardware RNG (esp_random() or HAL RNG API) to generate 32‑bit words at a configurable rate.
Pack samples into fixed‑size UDP or TCP frames with the following:
Node ID
Sequence number / timestamp
Payload of raw random words
Sends to a configurable host IP/port.
Host‑side receiver
Simple async listener in AEON that:
User‑facing behavior
Config file or CLI switch to select backend, e.g.:
All existing analysis/visualization stays the same; only the source of bits changes.
Future extensions
Support for USB TRNG devices and commercial REGs via the same EntropySource interface.
On‑device pre‑processing (e.g., whitening) options to compare “raw vs processed” entropy.
Planned ESP32 / sensor features
ESP32 TRNG Wi‑Fi nodes streaming raw 32‑bit entropy samples to AEON over LAN, using a generic
EntropySourcebackend interface. docs.espressifConfigurable support for multiple nodes (IP/port per node) with per‑node status and multi‑channel analysis in AEON. [instructables](https://www.instructables.com/ESP32-Control-Via-UDP-Datagrams/)
Touch/event mode: use ESP32 capacitive touch pins as event buttons (e.g., “spoke”, “subjective hit”, “marker”) logged alongside entropy streams. randomnerdtutorials
Crude GSR mode: use touch pins (or an external GSR sensor) as a simple galvanic skin response channel to track arousal/skin conductance over time. github
Mic / active speaker mode: attach an I2S MEMS microphone to each node; compute short‑window RMS to detect which participant is speaking in group conversations and log speaker labels. github
Microvolt amplifier / EEG node: feed a low‑noise microvolt amplifier board into an ESP32 ADC to get 1–2 channels of low‑budget EEG from a cap‑mounted electrode setup, then analyze band power vs. entropy patterns. inmr
On‑node sonification: optional speaker output where nodes convert current entropy or coupling metrics into simple audio tones for real‑time “listening” to synchrony. [dronebotworkshop](https://dronebotworkshop.com/esp32-i2s/)
Multi‑sensor overlays: AEON compositor that stacks spectrograms from multiple nodes/sensors, with colorized regions where signals overlap and grayscale elsewhere (saturation/“burn”‑style blend). [hydrogenaudio](https://hydrogenaudio.org/index.php/topic,121917.0.html)
Help wanted
Feedback on packet format and transport (UDP vs TCP vs ESP‑NOW).
Suggestions for specific hardware modules or REGs people use in parapsychology / consciousness studies.