Motion-Based Digital Gear Indicator & Telemetry Display
ShiftSense HUD is a custom-built digital gear knob and vehicle telemetry system designed for manual transmission cars.
It uses motion sensing (IMU) and GPS data to display real-time gear position, speed, and performance metrics on a compact OLED screen.
Built and tested on a Toyota AE101 (4A-GE swapped), this system is designed to feel OEM, motorsport-inspired, and reliable in real driving conditions.
-
π― Motion-based gear detection
- No switches, no linkage sensors
- Uses IMU tilt vectors mounted directly in the gear knob
-
π§ Elliptical gear zones
- More realistic than rectangular zones
- Matches real H-pattern shifter movement
-
βοΈ Neutral line logic
- Gear changes only register through Neutral
- Prevents accidental gear jumps (e.g., 2 β 4)
-
π OLED HUD (128Γ64)
- Large gear display
- Speed overlay
- Multiple display modes
-
π°οΈ GPS Speed & Performance
- Accurate km/h display
- 0β100 km/h timer
- GPS fix & timeout fail-safe
-
π Fluid / Circle Mode
- Motion-reactive animation driven by IMU data
-
π Mode Button
- Short press: cycle modes
- Long press: invert display
-
π‘οΈ Fail-safe design
- GPS lock detection
- Speed filtering to avoid false 1 km/h readings
- 0β100 mode locked until GPS is ready
This project uses two microcontrollers, each with a dedicated role:
- MPU6050 IMU
- Handles:
- Motion filtering
- Neutral calibration
- Elliptical gear zone detection
- Sends gear data to ESP32 via UART
- OLED display
- GPS module (TinyGPS++)
- Handles:
- UI rendering
- Mode switching
- Speed & performance calculations
- Arduino Nano
- ESP32-C3
- MPU6050 IMU
- GPS Module (NEO-6M or compatible)
- 128Γ64 OLED (SSD1306, IΒ²C)
- Momentary push button
Traditional rectangular zones cause:
- Gear overlap
- False shifts
- Poor diagonal detection
Elliptical zones:
- Match the natural arc of a shifter
- Allow smoother transitions
- Reduce misclassification between adjacent gears (2β4, 1β3)
Adaptive ellipse sizing further compensates for:
- Driver force variation
- Chassis vibration
- Sensor mounting angle
- GPS requires cold start time (up to several minutes on first power-up)
- Small speed readings (0β1 km/h) while stationary are normal due to:
- Satellite drift
- Doppler noise
Mitigations implemented:
- Speed dead-zone
- GPS fix validation
- Timeout warning
- 0β100 mode locked until GPS is stable
- This project is vehicle-installed
- Code changes should be made carefully
- Neutral calibration assumes the shifter is untouched at startup
- IMU is mounted inverted (logic adjusted in software)
This project is released for educational and personal use.
Use at your own risk when installing in a vehicle.