CurlRing
Built for a Digital Systems Design class, CurlRing is an ESP32-C6 assistive communication prototype that replaces verbal curling commands with wireless LED cues using ESP-NOW, custom enclosures, low-power firmware, and a broom-mounted RGB interface.

Tools and Languages
15.6 hrs
Receiver runtime
6 curling games
Per receiver charge
~116 hrs
Transmitter runtime
ESP-NOW
Wireless link
Overview
CurlRing translates the skip's curling commands into visual cues for sweepers using a handheld ESP32-C6 transmitter and a broom-mounted ESP32-C6 receiver. Instead of relying on spoken commands, the receiver displays immediate RGB LED patterns that can stay within a sweeper's natural field of view during play.
Accessibility problem
Curling depends on fast communication between the skip and sweepers, but deaf and hard-of-hearing athletes may need alternatives that do not force them to stop sweeping or look away from the stone. CurlRing was designed around real-time visual recognition so commands can be received while the athlete stays engaged in the motion of play.
System architecture
- The skip transmitter reads five physical command buttons, debounces and validates input, then sends encoded commands over ESP-NOW.
- The sweeper receiver listens for ESP-NOW packets and maps each command to a color and geometry pattern on a 12-segment RGB LED ring.
- Full-ring patterns represent commands for both sweepers, while partial-ring patterns communicate directional instructions.
- The end-to-end workflow is button input to wireless packet to receiver interpretation to visual sweeping instruction.
Hardware and enclosure work
- Integrated two ESP32-C6 Supermini boards, tactile buttons, addressable RGB LEDs, battery power, and custom physical enclosures.
- Supported soldering and assembly for the transmitter and receiver electronics.
- Fabricated and assembled the broom-mounted receiver enclosure, including the clamping/mounting approach used to keep the display visible during sweeping.
- Helped validate practical details such as wrist retention, transmitter usability, and receiver stability during broom movement.
Low-power design
Power optimization was part of the embedded design rather than a final polish step. The transmitter uses light-sleep behavior and short active transmission periods, while the receiver reduces CPU frequency, limits LED brightness, and turns LEDs off after inactivity so the system remains practical across multiple games.
Testing and validation
- Measured transmitter current and estimated approximately 116.5 hours of runtime from a conservatively derated 800 mAh battery.
- Measured receiver current after optimization and estimated approximately 15.63 hours of runtime, or about six 2.5-hour curling games per charge.
- Validated ESP-NOW communication across the University of Manitoba atrium, from the sixth floor to the main floor.
- Performed ergonomic, drop/safety, shake, and end-to-end tests covering button input, wireless transmission, receiver updates, and LED command display.
My contribution
- Contributed to hardware integration and electronics assembly for the transmitter and receiver.
- Worked on embedded power optimization and power-management behavior for the devices.
- Handled receiver enclosure fabrication, receiver assembly, transmitter testing, and end-to-end validation.
- Performed power-consumption testing and helped present the final system.
Things learned
- Accessibility-focused embedded systems need to account for the user environment, not just the electronics.
- Low-power behavior has to be measured and validated because small firmware decisions can strongly affect battery-life estimates.
- Physical reliability matters as much as wireless reliability when hardware is mounted to equipment that is actively moving.