MIDI Vintage Dials
Reviving Old Mechanical Instruments

MIDI Vintage Dials
An interactive USB-MIDI controller project converting analog automotive gauge needles into real-time feedback devices for digital music workstations (DAWs).

Project Overview
Many modern music producers miss the tactile, physical feedback of vintage hardware meters (VU meters, analog dials). This project upcycles retro dashboard gauges from the 1970s, replacing their internal thermal coils with miniature hobby servo motors controlled by a Teensy 4.0 microcontroller.
Mechanical retrofitting
Each vintage gauge was disassembled:
- Removed old wiring and bi-metal heating elements.
- Mounted a micro SG90 servo motor behind the dial plate.
- Attached the original mechanical needle to the servo horn, balancing the weight so it rotates smoothly across the original scale (e.g. 0 to 120 MPH or Fuel Empty to Full).
- Wired all servos back to a central hub in a custom wooden instrument box.
Software Control Loop
The Teensy presents itself as a standard class-compliant USB-MIDI device.
When the music software sends MIDI Control Change (CC) messages (e.g. tracking audio volume, CPU load, or filter cutoff), the Teensy maps the 0-127 MIDI values to the 0-180 degree limits of the servo motors.
void myControlChange(byte channel, byte control, byte value) {
if (control == 20) { // Volume mapping
int angle = map(value, 0, 127, MIN_ANGLE, MAX_ANGLE);
volumeServo.write(angle);
}
}
A small smoothing filter was added in software to prevent the needles from jittering and simulate the physical inertia of real analog gauges.