Executive Summary
Project Exes was an R&D initiative to build a high-torque, voice-controlled robotic exoskeleton. The goal was to actuate two 550KG of servo torque across a user’s joints with near-zero latency, requiring a complete departure from standard synchronous microcontroller loops. To handle the massive computational and telemetry overhead, I engineered a distributed IoT network over an asynchronous MQTT broker.
Tech Stack: Python, MQTT, Raspberry Pi 4b, RP2040 (Pico W), I2C, Picovoice (Porcupine and Rhino AI), Power Electronics.
Documentation: View the Architecture Repository on GitHub
System Architecture
1. Distributed Telemetry Network (MQTT)
Heavy, central sensor wiring is a primary failure point in wearable robotics. To solve this, Exes utilizes a localized wireless mesh network.
- Peripheral Nodes: Raspberry Pi Pico W microcontrollers are embedded at the extremities. They interface via I2C with BNO085 modules, utilizing the sensor’s onboard coprocessor to handle complex quaternion/Euler math, keeping network payloads lightweight.
- Central Command Hub: A Raspberry Pi 4b acts as the master orchestrator. I designed a non-blocking, thread-safe Python queue worker that subscribes to the MQTT sensor streams, maps the telemetry to dynamically calibrated limits, and commands the servos without overwhelming the Linux OS scheduler.
2. Edge-Compute Voice Pipeline
To ensure safety and reliability, the suit required a fully localized voice command interface with zero reliance on cloud APIs or internet connectivity.
- Wake Word & Intent: Integrated Picovoice Porcupine for low-overhead wake word detection “Exes”, and Rhino for translating complex spoken commands (Calibrate, Deactivate, Battery Status, Move Up Left Up) directly into JSON state-machine transitions.
3. Isolated Power & Actuation Delivery
Driving 550KG servos requires massive current spikes. If actuators share a power bus with logic boards, the resulting brownouts cause catastrophic system reboots.
- Dual Power Isolation: The suit is powered by two independent 20V battery rails. One is strictly dedicated to logic; the other is dedicated solely to the servo load.
- Regulation & ADC Monitoring: 20A 300W Buck Converters step down the voltage. Using an ACS712 current/voltage sensor and an ADS1115 ADC, the Pi digitally monitors battery health and triggers synthesized audio warnings to the user before voltage drops critically low.
- PWM Offloading: To prevent OS-level jitter from causing erratic joint movements, a PCA9685 16-channel controller handles all precise PWM signal generation over I2C.
Post-Mortem: Why This Project is Archived
As an engineer, knowing when a prototype has hit its physical limits is just as important as writing the code.
During physical load testing, the asynchronous software queue, the MQTT telemetry pipeline, and the dual-isolated power delivery systems functioned flawlessly. However, the torque generated by the 550KG servos vastly exceeded the yield strength of the chassis integration. The custom 3D-printed PLA flange plates and lazy susans—designed to distribute the load across the fabric motocross jacket—suffered mechanical yield and catastrophic pull-out.
The software and electrical architectures succeeded, but the material science failed. Future iterations of this physical platform will require CNC-machined aluminum mounting brackets and a rigid, non-fabric backplate.