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:


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 holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.