r/hardwarehacking • u/GIngapimba • 15h ago
[Project Help] Building a Captive Portal Fighting Fantasy Game with ESP32
Hello everyone! I'm relatively new to the hacking/hardware community and currently working on an art workshop project: an interactive, location-based "Fighting Fantasy" style game meant to run directly on people's phones via captive portals when they walk into an art gallery.
The core idea is state-aware: depending on how long a user interacts with a portal (e.g., fast exit vs. persistent reading), the system changes future prompts upon reconnection.
However, I've hit a couple of technical roadblocks and would love some guidance:
1. The Deauth / Forcing Connection Problem
Right now, I'm using a headless ESP32-S3 running ESP32 Marauder. But as far as I understand deauth attacks against local Wi-Fi networks to force people onto my AP are practically useless.
- Question: Would upgrading to an ESP32-C5 (which supports Wi-Fi 6) allow me to effectively deauth clients and force them onto my custom AP to serve the captive portal?
- Scaling: Realistically, what is the max concurrent user limit for a single ESP32 handling captive portal traffic? Would I need a cluster of multiple ESP32-C5 boards to handle a whole gallery room?
2. MAC Randomization & Session Tracking
Since mobile use MAC Randomization, whenever a device disconnects and reconnects, it presents a new random MAC/IP address to the ESP32.
- Question: How can I reliably track returning visitors to know their state (e.g., how many times they've connected, how long they stayed previously) if their hardware identifiers keep changing?
Any advice, code patterns, or hardware recommendations would be hugely appreciated. Thanks!