1
\$\begingroup\$

There are 3 tracks on a credit card. A 3 track reader would need 3 channels to send the audio to the phone for processing. Does iPhone allow the app to turn the other 2 stereo outputs into input channels? If so, is this at the SDK level or do you temporarily override the driver of the audio chip?

Or does the device do some sort of combining of these 3 channels before sending it tru?

What wizardry makes this happen?

\$\endgroup\$
  • 4
    \$\begingroup\$ Are you even sure it's reading all three tracks? It may only need to read one to get the important information, and put that on the microphone line. Also, you might want to check how the headphone buttons work; usually they just connect one of the lines to ground through a different resistor; in the iPhone there'll be a pullup resistor and an ADC input hooked up to this line. (Mini/micro-USB uses the same trick on its ID pin to identify the cable.) This could be multiplexed on the microphone line if there's a low-pass/high-pass filter combo at some low frequency. \$\endgroup\$ – Mike DeSimone Jul 6 '11 at 2:12
5
\$\begingroup\$

I am experienced in multi-track magnetic card reading but I am not familiar with the specific hardware you are asking about, and many other readers also will not be. If you provide more information about the specific system and hardware a better answer can be given.

It sounds as though you have a multi track magnetic card reader intended specifically for use with an iPhone, using the iPhone's audio input jack as a data input port. Assuming this is so -

It is likely that the reader contains multitrack reading electronics which decodes all information from all tracks and then uses it to produce a modulated "modem" tone source. The "magic" would be internal to the reader and not substantially different from most card readers. Most usually-used card information is contained on one track. Some applications can use that alone. Some need two tracks and some all three. For completeness a reader would ideally read all three tracks and output the data for use as required.

It is conceivable that a reader could output information from a track in the form of an audio tone with modulation corresponding in some way to data transitions from the read head. While this is possible, the cost of including a microcontroller in a reader is minimal (perhaps 20 cents or even less in large volume) and the flexibility provided is so great that it is nearly certain that an internal microcontroller is used. Using a controllerless design it would be relatively easy to output tones corresponding to one track and possible but increasingly hard to simultaneously generate and combine signals from 2 or 3 tracks. Again, the overhead of doing this would be large enough that it seems a most unlikely approach.

The magnetic tracks on a card contain data in a format that contains both clocking and data combined. Reading is relatively swipe-speed independent as the clock is generated by the swiping motion. Depending on the cleverness of he software you may be able to "fool" the software by changing speed substantially across the passage of a swipe.

* UPDATE*

My above comments about how it might be done were correct. BUT how it is actually done can be seen via the link below. This information courtesy of M.Adam Davis.

The device takes the simplest possible approach - only one track is read and the sole electronics is a resistor connected from read head to audio jack!.

This is what it sounds like:

Adam says: "Don't let anyone listen to your own credit cards, of course - use other people's cards for that demonstration.

Here are my pictures of the unit I disassembled. It's the most recent version (Spring 2011) but I don't anticipate it's much different than the earlier version I have been using.

One read head, one resistor, and a four pole audio jack with the read head going to the microphone input and ground. "

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.