Project video
Introduction
glove-controlled electric skateboard
This project documents the evolution of a gesture-controlled electric skateboard—from its initial proof-of-concept built during my time at Harvard to the architecture that won 1st place globally in the Seeed Studio XIAO Showdown.
the core concept: hands-free mobility
The board replaces traditional handheld thumb-wheel controllers with an intuitive wearable interface. By embedding resistive stretch sensors into a glove, hand gestures are translated directly into motor commands:
- Acceleration: Making a fist stretches the sensors across the knuckles, scaling up the duty cycle.
- Braking/Reverse: Open-hand or inverse flexion patterns map to dynamic braking.
- Failsafe: Any loss of sensor contact or wireless connection immediately drops the system into a neutral coasting state.
evolution: ESP32 prototype vs. XIAO MG24 production
version 1: the ESP32 proof-of-concept (Harvard)
The first iteration was developed to validate that hand-flexion could safely and reliably manage high-torque electric skateboard motors.
Hardware: Powered by dual ESP32 microcontrollers.
Topology: A direct peer-to-peer link using ESP-NOW. The glove-side ESP32 read the analog voltage dividers from the stretch sensors, packed the raw values into a structural payload, and blasted them over ESP-NOW to a receiver ESP32 hardwired to the Electronic Speed Controller (ESC).
Functionality: It was a monolithic approach. The glove chip handled both high-frequency ADC sampling and wireless transmission on a single core, while the receiver converted the incoming packets straight into standard 50Hz PWM signals (1–2 ms pulse width) to drive the motors. While functional, it had a larger power footprint and lacked optimization for a true wearable form factor.
version 2: the XIAO Showdown architecture
To optimize power efficiency, footprint, and modularity for the global competition, the system was entirely re-engineered around the Seeed Studio XIAO MG24 (Silicon Labs EFR32MG24).
Hardware: Three XIAO MG24 boards running a decoupled 3-tiered architecture.
Topology:
- Sensor Node (Glove): Acts as an I²C slave dedicated solely to low-noise sensor acquisition.
- Relay Node (Glove): Acts as the I²C master to poll the Sensor Node, processing the data and hosting a local BLE Server using the native Silicon Labs BLE stack (
sl_bt_api.h). - ESC Node (Board): Acts as the BLE Client, subscribing to notifications from the Relay Node and translating them to ultra-low-latency PWM signals for the ESC.
Why the Switch? To be honest I wanted to modify this skateboard to see what I can send in to the Xiao showdown. I'd been facing issues with the ESP32 overheating on itself because of it directly being linked with the ESC, but that's a change I still need to fix onto the next iteration.