Will Robertson

HTC headphone controller

HTC headphone controller

December 2010

Headphone controller

Background

Dissatisfied with the standard headphone quality that shipped with my HTC phone, but not wanting to leave the ability to control the media application behind I designed and built an adapter which allowed any headphone to be plugged in to a custom controller.

Design

Inspired by a Hackaday.com article which described the method by which these controllers worked, it was a very straightforward matter to design a simple controller.

The technical details revolved around grounding the function contact via different resistances:

  • ~220 Ohms to skip back
  • ~600 Ohms to skip forward
  • 0 Ohms (short circuit) to pause/play

The main design aim however, was to make this as small and unobtrusive as possible, and package it attractively. This meant using a custom PCB with small SMD components.

Components

  • 3x SMD Tactile buttons (Jaycar SP0610)
  • 1x SMD 3.5mm Audio Jack
  • 1x 0805 SMD 220 Ohm Resistor
  • 1x 0805 SMD 560 Ohm Resistor
  • 1x TRRS 3.5mm patch cable
  • Some 10mm heatshrink

Printed Circuit Board

The board was designed in Cadsoft Eagle and manufactured by seeedStudio's Fusion PCB service.

Update

A reader, Fahad Alduraibi, has contacted me with two tweaked versions of my PCB — one which avoids the need for a second layer, and one which uses a 390+220 Ohm series combination instead of a 560 Ohm resistor.

Notes

This version does not have a microphone — some phones assume one is present, requiring you to unplug while on a call. The heatshrink case isn't waterproof either.

Files

CC BY-SA Open-source Hardware logo

All files are licensed under the CC BY-SA license.

Copyright © Will Robertson 2012 - 2026