Spy Agent Device

UCLA HAcK 2025 Honorable Mention Winner.

Overview

In Summer 2025, during the final 3-day sprint of the UCLA Samueli Accelerator Program, my team and I took on a crazy challenge: build a full-stack integrated spying device from scratch.

The mission was to create an "Agent Device" utilizing Arduino microcontrollers, capable of capturing images, measuring distance and temperature, and communicating with a central server to navigate an Escape Room.

3 Days

Development Sprint

Award

Honorable Mention

Role

Full Stack Developer

Stack

Arduino, Python, React, Socket.io

Team Size

4

Role

Circuit, CAD

View Presentation View HAcK 2025 Website

The Concept: "Lincoln" Style

At my suggestion, we broke away from conventional handheld designs and created a "gentleman spy" set: a High-Top Hat coupled with a Smart Watch.

The hat wasn't just for dramatic visual impact, it was a strategic choice. It provided ample volume to hide the bulky camera module, microcontroller, and battery packs, while the watch served as the discreet information display terminal.


Technical Execution

"Brute Force" Streaming

Real-time video streaming was beyond the capabilities of our ESP32-CAM and network setup. We implemented a creative workaround: high-frequency static image capture.

I wrote a Python backend using Socket.io to pull images from the camera as fast as possible (a brute-force approach) and push them to the React frontend. This simulated a "live stream" effectively enough for the judges to see our view in real-time.

The Power Struggle

The standard Arduino voltage output couldn't drive our sensor array (VL53L1X laser rangefinder + Temp sensor). I hand-soldered a custom boost converter circuit to step up the voltage.

Power consumption was massive. We eventually needed a three-battery system just to keep it alive: two dedicated solely to the thirsty ESP32-CAM, and one for the sensors and main Arduino logic.


Lesson Learned: The Faraday Cage Trap

We won an Honorable Mention for our creativity, but the final demo haunts me. During testing, our signal was flawless. But in the Escape Room, the device lagged terribly.

The Diagnosis: In our rush to package everything into the tight space of the hat, we inadvertently mounted the Arduino face-down against the massive battery pack. This metal block created a perfect Faraday Cage, shielding the WiFi antenna and killing our throughput. It was a painful but valuable lesson: physical layout is part of the circuit design.