HandySwipe portable magnetic card reader using PIC16F688

The HandySwipe provides a portable magnetic card reader interface and display. It collects card data from a “Type 2″ card reader (shown here), and displays the data on a small character LCD screen. Type 2 stripes are by far the most common in use, such as on credit cards and drivers’ licenses. The device can store up to 50 cards, runs on four AA’s, and has a serial connection to download its memory to your computer in CSV format. It can also download data in a raw bistream format compatable with StripeSnoop, so you can take advantage of StripeSnoop’s powerful parsing and analysis features (LRC error checking, backwards swipes, card type/contents/issuers/etc.)
magnetic card reader

Update (6/6/06): Note, I put this page together to share my beginner electronics experience with the public. I DON’T and am NOT going to sell this as a product. Sorry. If you want to buy a portable reader, check out Mag-Stripe.com. – n.

Update (12/09): The C code (for CSS compiler) is here. – n.
I had two real goals in making this project:
  • Play with the MagTek reader
  • Try out an efficient LCD interface for use with a PIC microprocessor

I got my reader for less than five bucks from All Electronics. All the parts combined are under $20.

Here’s a shot of the completed project:

Software

For programming, I use the MCP-USB from Olimex. I got it from SparkFun, and I highly recommend their getting started document. It’s fully compatible with MPLAB, and I’ve never had problems with it. I cut a hole so I could just leave my programmer right in the its original box. Here it is with the 16F688 chip I used for this project.I’m using a MagTek brand TTL card reader, which has a pretty generic serial interface. The actual bits are sent using a typical data/clock pair, and there’s a “card present” line to let you know when to start paying attention. This diagram from the data sheet shows all three interface lines in action:

 

For more detail: HandySwipe portable magnetic card reader using PIC16F688

About The Author

Ibrar Ayyub

I am an experienced technical writer with a Master's degree in computer science from BZU Multan University. I have written for various industries, mainly home automation and engineering. My writing style is clear and simple, and I am skilled in using infographics and diagrams. I am a great researcher and am able to present information in a well-organized and logical manner.

Follow Us:
LinkedinTwitter