Yoda worked on our bench. On stage, the venue WiFi stalled and the companion stopped listening.

We finished Top 5 at Dell InnovateDash. The failure still bothered me because blaming the network was only half true.

An ESP32 companion with caregiver approval

Yoda was built for an elderly user who may never open an app. The interface was a small ESP32 companion with an on-device wake word. A Python MCP server exposed eight voice-callable tools, while a caregiver dashboard approved sensitive actions.

Contacting community services or a family member required the caregiver's approval.

Yoda's early breadboard, camera and speaker hardware
The first hardware pass put the camera, audio and wake-word path on one constrained device.

Camera polling starved the wake-word detector

The camera relay opened a new TLS connection every two seconds. On weak WiFi, that polling loop occupied enough of the device's attention to starve the wake-word detector. The companion looked offline because it could no longer hear the user reliably.

Yoda polling timeline comparing camera connections every two seconds with the fifteen-second idle interval after the fix
Camera polling changed from every 2 seconds to every 15 seconds.

We changed idle camera polling from every two seconds to every 15 seconds. That gave the wake-word detector enough time to listen again.