Magnetic card reader with arduino

I went skiing a few days ago and in the ski resort they use magnetic stripe tickets. I have quite a few of those tickets and I have been wondering if I can use them for some DIY project.

So is it possible to make a reader that could read those tickets from arduino and an old cassette player/floppy drive?

tape head would be easy enough to store new data on the stripe in a primitive way

I thought so because I saw a magnetic card reader made from a tape head and connected to sound card.

The main question here is how could I make something with arduino that could read/store a number or something on that ticket. It doesn't even need to be a number. Just something so I can know what ticket is being read.

A magnetic card reader isn’t had to come by for a good price. You may be able to find one cheaper on ebay.

Interfacing them with the arduino is another story.

Here are some projects i found using one on an arduino.

The thread at was very helpful to me when it came to reading mag stripe cards. The code referenced in that thread works fine for reading Track 2 on a mag card. It's the same as the code in the first Instructables link that digimike posted.

AllElectronics has a mag card reader for $3.50. That reader only reads one track from a card (Track 2), but it can be hacked to read Track 1 or 3 instead of Track 2, but it only reads one track at a time. You will need different software to read the tracks other than Track 2.

Track 2 is almost certain to be different on the various tickets you have, so you will be able to differentiate them with the simplest case, unless the ski resort used some really non-standard mag stripe encoding format.

FWIW, the best comprehensive reference I found on mag cards is at The Phrack article at is the best place to start, in my opinion. It provides a foundation for understanding the Arduino code from my first link above or digimike's first Instructables link.

I don't know if the normal card reader would read the ticket because the magnetic stripe here is located 9mm from the edge (on a normal credit card it is 4mm). And it also has 3 tracks.

So I think that home made reader would be "cooler ;D". But interfacing the tape head with arduino of course is another story.