NexusMesh — Project Story

"The most dangerous hazards are the ones you can't see, smell, or feel — until it's too late." — Every electrician who has ever worked in a confined space

Inspiration

I am a commercial electrician.

Not a former one. Not someone who studied electrical systems in a textbook and built a demo. I wear a hard hat on active job sites — refineris, industrial plants, confined spaces — where the air quality could kill you before your body registered anything was wrong. Where you pull wire through conduit in a room that might be holding residual gases from a process that ran three shifts ago. Where your thermal environment changes so fast that heat stress sneaks up on you before you realize you've stopped sweating.

I've been that worker. I know what it feels like to trust that the environment is safe because someone told you it was — not because anything was actually measuring it in real time.

That's where NexusMesh came from.

When my partner and I came to HackKU26 as engineering students, we didn't have to brainstorm a problem to solve. The problem already lived in my body. I wanted to build the device I wished I'd had. And I wanted to build it cheap enough that any crew on any job site could actually afford it.

The hard hat mounted in our demo is mine. The same style I wore on the job. That's not a prop.


What We Learned

This project compressed years of engineering concepts into 24 hours and forced us to confront the gap between theory and a working system. Here's what actually landed:

Wireless Protocol Design Matters More Than You Think

ESP-NOW operates at the MAC layer, bypassing the entire TCP/IP stack. That means no DHCP, no router, no infrastructure. This matters enormously when you're monitoring for rapid environmental change. We learned firsthand that protocol choice is an architectural decision, not an afterthought.

Sensor Physics Is Grounding

The MLX90614 measures temperature using Stefan-Boltzmann thermal radiation. The sensor computes object temperature by comparing the thermopile output voltage against its own calibrated internal reference.

The PersonalTempAI class runs entirely on the ESP32. No cloud. No inference server. What it actually implements is adaptive statistical modeling:

Baseline estimation uses a running mean over the last valid readings in the normal physiological range Standard deviation tracks individual variability in that baseline: Statistical anomaly detection flags a reading as unusual when it exceeds two standard deviations from the personal norm. Rapid change detection computes a short-window delta across the last 5 samples and triggers if the shift is large enough to indicate a sudden environmental event

What we learned is that "AI" in an embedded context means writing clean math. The intelligence is in the algorithm design.

Embedded Systems Forgive Nothing

Timing, memory layout, struct alignment, I²C bus contention, callback re-entrancy — every one of these bit us at some point during the build. Embedded debugging is a discipline of elimination: when something fails silently, you strip the system down until the failure becomes visible, then build back up. There is no stack trace.

How We Built It

Architecture Overview

NexusMesh is a three-node mesh built entirely on ESP32-C6 microcontrollers, communicating over ESP-NOW — Espressif's connectionless peer-to-peer wireless protocol that requires zero Wi-Fi infrastructure.

[ Sensor Node ]  ──ESP-NOW──►  [ AI Analysis Node ]  ──serial──►  PC Dashboard
   (Hard Hat)         │
                      └──ESP-NOW──►  [ Handheld OLED Node ]

No router. No cloud. No subscription. Just three microcontrollers talking directly to each other at 2.4 GHz, peer-to-peer, with registered MAC addresses as the only "network configuration" required.

Node 1 — The Sensor Node (Mounted on the Hard Hat)

The node registers both receiver MAC addresses as peers and broadcasts at a 1,000 ms interval.

Node 2 — The AI Analysis Node

Receiver 1 is connected to a laptop via serial and runs the PersonalTempAI The baseline updates every 10 readings (after a minimum of 20 are collected), so the system adapts continuously to the specific worker's physiology rather than relying on population averages — a meaningful distinction in industrial environments where ambient heat affects surface temperature readings.

Node 3 — The Handheld OLED Display Node

Receiver 2 is the field-portable interface — an ESP32-C6 driving a 0.96″ SSD1306 OLED over I²C (SDA = GPIO 21, SCL = GPIO 22). It receives the same ESP-NOW broadcast and renders two alternating display modes on a 3-second cycle. When an anomaly is detected, the display breaks the cycle and immediately renders a full-screen alert with the status, recommendation text, and a 3-pulse LED blink — a signal that works even when the screen isn't in direct line of sight.

CHALLENGES WE FACED

1. The ESP32-C6 Is Not the ESP32*other*

The C6 variant uses a RISC-V core rather than the Xtensa architecture of its predecessors. Beyond the compile-target difference, the ESP-NOW API callback signature changed entirely between chip families. The legacy receiver signature. This broke our initial receiver firmware completely. The code compiled, flashed, and ran, but no data ever arrived. We lost nearly two hours to this before isolating it by instrumenting the callback registration return code. The lesson: always verify that library examples match your exact silicon variant, not just the product family name.

The OLED vs. ESP-NOW Timing Conflict

The SSD1306 display and the ESP-NOW receive callback both competed for the main thread on a single-core configuration. Our early build exhibited display freeze whenever a packet arrived, because display.display() We had to decouple display rendering from data reception entirely.

What's Next

The path from hackathon prototype to real-world deployment is clear:

Full sensor suite — integrate MAX30102 SpO₂ data into the AI anomaly model The bill of materials for a three-node NexusMesh network is under **$50. A ten-node deployment covering a full work floor: For an industry that loses hundreds of billions of dollars annually to workplace injuries and fatalities, the economics are not the barrier. The barrier was building it.

We built it.


*Built at HackKU26

Built With

Share this project:

Updates