About me

My name is Rodrigo A. Gallardo. I’m a graduate student at MIT in Architecture and Electrical Engineering & Computer Science, researching multimodal systems that integrate vision, haptics, and AI. My work focuses on developing interactive platforms that enhance usability, ergonomics, and task performance, with my thesis centered on textile-based actuation for soft, wearable haptic feedback.

Portrait of Rodrigo Gallardo
Final Project — Modular Haptic Wrist Band

Final Project — Modular Haptic Wrist Band for Assembly Guidance

A wireless, wrist/forearm-worn haptic band that delivers directional vibration cues—8 motors distributed around the forearm—to support mixed-reality (MR) tasks without relying only on visual overlays. The project emphasizes modularity, comfort, and fast donning/doffing, so both the electronics and the wearable structure can be reconfigured quickly for different layouts, patterns, and experiments.

Problem

MR visual overlays can interrupt precision work—occlusion, split attention, and constant glancing between the task and the HUD can break flow.

Goal

Offload some guidance to the body using localized haptic patterns. For this phase, the focus was on building a functional, modular band with rich pattern control—mixed-reality integration is planned for future work.

Approach

8 vibration motors placed at different points around the forearm with driver-per-motor control, enabling different vibration effects/patterns with control over amplitude and frequency.

Exploded overview of the haptic wrist band
System overview: rigid outer frame with TPU ends, inner motor liner, and modular electronics enclosure.

Project Scope

Frame Design Motor Layout Driver Control Integration Pattern Testing

This phase focused on building and validating the modular haptic band itself. Mixed-reality integration will be tackled in future work.

System Integration & Project Status

What’s working

The band runs untethered on battery power, addresses multiple motors independently, and plays repeatable directional patterns mapped to physical locations around the arm (left/right/rotate/on-array).

What makes it “integrated”

This wasn’t built as separate parts. The mechanical fit, wiring routing, and haptic clarity were tuned together through iteration— changes in one layer forced improvements in the others.

Processes used

  • 3D printing: rigid PLA frame + flexible TPU ends for fit
  • Sewing / soft goods: stitched motor liner for consistent skin contact
  • Electronics: drivers + I2C multiplexing, power regulation, shielding/grounding
  • Embedded programming: pattern timing, addressing, and amplitude tuning

The focus of this final was building a functional end-to-end artifact. Mixed-reality triggers are the next integration step, but the platform and pattern library are already working and ready to be connected.

System Overview

  • Haptics: 8 vibration motors placed at different points around the forearm, arranged to support spatial cues (e.g., move this direction, rotate, confirm, error).
  • Drivers + Control: Each motor connected to its own haptic driver with an 8-channel I2C multiplexer for independent addressing, enabling complex spatiotemporal patterns.
  • Control: ESP32-S3 (wireless-capable), ready to receive triggers from future mixed-reality workflows and play back mapped patterns.
  • Power: External battery (9V → 5V regulator) for untethered operation.
Top view of wrist band
Top view showing motor distribution and electronics housing.

Wearable Mechanics (Modular + Comfortable)

Frame structure
Rigid PLA frame with TPU ends for compliance and adjustable fit.
  • Rigid outer frame: Printed in matte PLA provides structure and mounting points.
  • TPU ends: Add compliance so a single configuration can fit a wider range of arm sizes.
  • Inner lining: Motors stitched onto stretch polyester-blend fabric using a Janome School Mate sewing machine with narrow stitch pattern, keeping motors in consistent contact with skin.
  • Assembly: Fabric liner glued to frame edges to prevent shifting and keep motor placement repeatable.
  • Top cover: Encloses and protects the electronics.

Build Process

Frame & Housing

3D printed housing
3D printed electronics housing for ESP32-S3 and drivers.
Failed print iteration
Early iteration showing fit issues that led to design refinements.
Frame assembly
Frame assembly process with motor mounting points.

Motor Placement & Sewing

Motor placement testing
Testing motor placement for optimal haptic coverage.
Spacing analysis
Spacing analysis to ensure consistent tactile feedback.
Sewing motors
Stitching motors onto stretch fabric liner.
Test sewing
Initial sewing tests to verify stitch pattern holds motors securely.
Full test assembly
Complete fabric liner with all 8 motors stitched in place.
Single motor detail
Close-up of motor attachment method.

Electronics & PCB

Initial PCB sketch
Early PCB layout concept for driver array.
Model A PCB
First iteration PCB with multiplexer routing.
Settings refinement
Adjusting driver settings for optimal vibration patterns.
Original settings
Baseline configuration for motor control.
PCB soldering
Soldering components onto the driver board.
PCB troubleshooting
Debugging I2C communication issues.
More troubleshooting
Testing individual motor channels.
Fried multiplexer
Lesson learned: multiplexer failure led to revised power design.

Power & Wiring

5V regulator
9V to 5V step-down regulator for battery operation.
Modular cable system
Modular wiring system for quick reconfiguration.
Copper tape
Copper tape used for shielding and grounding.

Assembly & Testing

Assembly step 2
Integrating electronics with mechanical frame.
Assembly step 3
Wiring routing through frame channels.
Assembly step 4
Testing motor responsiveness with fabric liner attached.
Assembly step 5
Securing electronics housing to frame.
Assembly step 6
Complete assembly with top cover fitted.
Wearability test
On-arm fit testing for comfort and contact pressure.
Pattern testing
Running directional haptic pattern sequences.
Final adjustments
Fine-tuning motor amplitude and timing.
Wireless operation
Testing wireless operation with battery pack.
Pattern validation
Validating pattern distinguishability.
Comfort evaluation
Extended wear test for comfort assessment.
Final prototype
Final working prototype ready for MR integration.

Haptic Language (Patterns)

A set of vibration patterns were designed to represent different "messages":

Live demonstration: multiple haptic patterns and amplitude variations

Rotate Counter-Clockwise

Sequential pattern indicating counter-clockwise rotation.

→ View Arduino Code

Patterns can be swapped or tuned by updating effect parameters (amplitude, duration, tempo) and by remapping which motor(s) activate.

What Makes It Modular

Mechanical Modularity

The frame, TPU ends, and inner motor liner are separable components that can be reconfigured independently.

Electrical Modularity

Motors + wiring are designed to be swappable so layouts can change "on the fly" for different experiments.

Configuration Flexibility

The same platform can support different motor placements, different pattern sets, and different study tasks.

Context, Prior Work, & Sources

What it does

A wireless wrist/forearm haptic band that delivers directional vibration cues using 8 motors around the forearm, so guidance can be felt without relying only on visual overlays.

Prior work (quick)

Vibrotactile wrist/forearm cueing is commonly used for navigation and guidance. This project focuses on modularity (wearable + wiring) and per-motor pattern control for assembly-style tasks.

This section is meant to make the project “presentation-complete”: what existed before, and what references were used.

Materials, Components, and Cost (Estimated)

The table below is a retail estimate. Replace any line items with your actual receipts and note what came from lab stock.

Item Qty Unit Subtotal Where from
XIAO ESP32-S3 1 $7.50 $7.50 Seeed / lab stock
Haptic driver (DRV2605L breakout) 8 $8.00 $64.00 Adafruit / SparkFun / lab stock
I2C multiplexer (TCA9548A) 1 $7.00 $7.00 Adafruit / SparkFun / lab stock
Coin vibration motor (ERM) 8 $2.00 $16.00 Jameco / Amazon / lab stock
9V battery 1 $3.00 $3.00 Local / lab stock
9V → 5V regulator 1 $10.00 $10.00 Amazon / Adafruit / lab stock
PLA + TPU (prints) $10–$20 Shop filament
Stretch fabric + thread + glue $5–$15 Shop / local
Wire / connectors / copper tape $5–$15 Shop / lab stock
Estimated total $120–$150

If you used a custom PCB instead of multiple breakouts, cost shifts mainly from breakouts → ICs + PCB fabrication.

What was made vs bought

Made

  • PLA frame + electronics housing (iterated for fit)
  • TPU end pieces for compliance
  • Motor liner (stitched layout for consistent skin contact)
  • Wiring routing strategy + modular cable organization
  • Haptic “language” mapping (Left/Right/Rotate/On-Array)

Bought / sourced

  • Microcontroller (ESP32-S3 board)
  • Vibration motors (8x)
  • Haptic driver(s) + I2C multiplexer
  • Battery + voltage regulation
  • Consumables: wire, connectors, copper tape, fasteners

Evaluation

Functional tests

Verified each channel could be addressed independently and that patterns played reliably across repeated runs.

Wearability tests

On-arm checks for comfort, contact pressure, slippage, and repeatability of motor placement across don/doff cycles.

Battery tests

Confirmed untethered operation using a 9V source regulated to 5V while running multiple pattern sequences.

This phase validated the platform and pattern set; a future study will compare task throughput vs visual-only guidance.

Implications

  • A reusable testbed: modular mechanics + swappable wiring make it easier to iterate motor layouts and patterns quickly.
  • A path beyond “visual-first” MR: directional haptics can reduce constant HUD checking during precision work.
  • Clear next integration point: map mixed-reality triggers (Unity/Quest) to the existing haptic pattern library.

Next Steps

  1. Finalize the enclosed top cover for durability and clean assembly.
  2. Tighten wiring/connectors for faster reconfiguration during experiments.
  3. Connect the ESP32-S3 to a mixed-reality trigger pipeline (Unity/Quest) so patterns can play during step-based guidance tasks.
  4. Run a small evaluation comparing comfort, pattern distinguishability, and task throughput versus visual-only guidance.
  5. Integrate control + distribution: combine the microcontroller and multiplexing into one cleaner system, aiming for direct per-motor control using a Raspberry Pi Pico (RP2040) for more GPIO pins, simplifying wiring and reducing failure points while maintaining modularity.
Final adjustments
Special thanks to Neill, Gert, Anthony, Jake, and all the TA's who made this possible for me.