Smellamatic
Project File · Active Log

MIDI Vintage Dials

Reviving Old Mechanical Instruments

COMPILED: 2026-05-15
TeensyServosMIDIUpcycling
MIDI Vintage Dials

MIDI Vintage Dials

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

Solder Hands

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:

  1. Removed old wiring and bi-metal heating elements.
  2. Mounted a micro SG90 servo motor behind the dial plate.
  3. 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).
  4. 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.

ESTABLISHED BUILD · DO NOT SOLDER UNDER INFLUENCE OF COFFEE