Working with the iPhone audio input

I've been testing using the iPhone to read Longitudinal Time Code (LTC). This is useful using several different apps, especially the Movie Slate app. Most apps recommend the purchase of specially made cables to allow the input of the timecode audio signals into the iPhone. The problem is, that these cables are around $30. The special trrs connector used to input audio into the iPhone is only a couple dollars. So I decided to make my own.


There are tons of pinouts that diagram which pin goes to what inside a 3.5mm trrs plug on the web. But no one tells you that you have to load down the mic input to get iOS to use the external input. I discovered this after hours of searching on the Faberacoustical blog of all places. Faberacoustical also had lots of interesting information about the frequency response of the iPhones input

In order to use the external mic input a small resistor must be placed between the input and ground in order to simulate a mic element (There is a small +2.7V bias provided for powering external mics) . After detecting a load, iOS will then switch from the internal mic to the external source.

The next requirement is that the input voltage must be very small: mic level. after some measurements it seems that 15mV(RMS) is the very top of the iPhone's dynamic range. I want to read time code from an TC generator, wich is about 1.6V. This is a 40dB difference. So a voltage divider is needed to bring down the level.

After some testing I verified that a 47k and 680ohm resistor are enough to load the bias circuitry and attenuate the input level

More to come on using MovieSlate with external timecode