<aside>
Improving driver guidance safety through steering wheel vibrations
</aside>
Background
This project explores the integration of a haptic feedback system to improve driver navigation safety and accessibility. Navigation systems typically rely on audio-visual signals, which can lead to distracted driving. There are studies that suggest haptic cues, when used alongside traditional systems, can improve driver response times and reduce cognitive demand. This project leverages these insights to implement a prototype haptic navigation system.
Project Overview
The system comprises three main components:
- Vehicle Geolocation Detection: Utilizes Google’s geolocation API to determine the car’s position and compute distances to upcoming turns.
- Navigation System Integration: Fetches and processes routes from Google Maps API.
- Haptic Feedback Mechanism: Delivers directional cues via vibrations on the steering wheel to guide drivers.
The solution includes:
- An iOS app for route calculations and communication.
- An ESP32 microcontroller for motor control.
- Haptic motors mounted externally on a steering wheel.

Design and Implementation
- iOS Application: The app retrieves the vehicle’s location and navigation data, decodes route instructions, and transmits commands to the ESP32 via Bluetooth Low Energy (BLE).
source code: https://github.com/jocelynemurphy/HaptiSteer-Controller/
- Path Verification: The controller app ensures the vehicle is on the correct path by calculating the shortest distance to the polyline representing the route. If the vehicle deviates beyond a threshold (e.g., 25 meters), the app triggers a recalculation of the route to bring the vehicle back on track.
- Signal Transmission: Turn instructions, such as "turn-left" or "turn-right," are sent from the iOS app to the ESP32 in JSON format over BLE. For instance, a message like
{"maneuver": -1, "distance": 18.5} indicates a left turn is 18.5 meters away. The ESP32 decodes this message and activates the corresponding motors to signal the driver.
- Haptic System: Haptic motors are embedded in an external casing that fits over the steering wheel. The ESP32 interprets navigation commands and activates motors on the left or right side, indicating upcoming turns.
source code: https://github.com/jooliaju/HaptiSteer-firmware
- Mechanical Design: CAD-modelled motor mounts ensure a snug fit, and damping materials are considered to localize vibrations and enhance user experience.

left: CAD modelled haptic grips / right: 3D printed result
Testing and Validation
The prototype was tested during walking and driving scenarios to validate: