Skip to content

ShiftSense HUD is a motion-based digital gear indicator and vehicle telemetry system for manual transmission cars.

License

Notifications You must be signed in to change notification settings

piushan003/DriveLogic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DriveLogic

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.

✨ Features

  • 🎯 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

🧩 System Architecture

This project uses two microcontrollers, each with a dedicated role:

πŸ”Ή Arduino Nano (Gear Sensor Unit)

  • MPU6050 IMU
  • Handles:
    • Motion filtering
    • Neutral calibration
    • Elliptical gear zone detection
  • Sends gear data to ESP32 via UART

πŸ”Ή ESP32-C3 (HUD Controller)

  • OLED display
  • GPS module (TinyGPS++)
  • Handles:
    • UI rendering
    • Mode switching
    • Speed & performance calculations

πŸ”Œ Hardware Used

  • Arduino Nano
  • ESP32-C3
  • MPU6050 IMU
  • GPS Module (NEO-6M or compatible)
  • 128Γ—64 OLED (SSD1306, IΒ²C)
  • Momentary push button

🧠 Why Elliptical Gear Zones?

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 Notes

  • 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

⚠️ Important Notes

  • 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)

πŸ“œ License

This project is released for educational and personal use.
Use at your own risk when installing in a vehicle.

About

ShiftSense HUD is a motion-based digital gear indicator and vehicle telemetry system for manual transmission cars.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages