Reading an Oyster card with Arduino

I’ve had a few geek/creative experiemental ideas recently, one of which being a physical installation with an Oyster card interface. So figured it was high time to start playing.

Oyster Card

For the non-Londoners amongnst you, an Oyster card is the cashless payment smartcard used for journeys on London’s buses and Underground. Most Londoners already have one, so it’d be great to leverage that.

An oyster card uses the Mifare 13.25Mhz protocol and requires a compatible reader. The most common RFID shield used with Arduino is the Parallax. Don’t buy this if it’s Oyster cards you want to read. Instead I purchased a Stronglink SL018 which works just fine.

I’ve tested it using Oyster cards predating January 2010 (Mifare Classic 1k). I’ve not yet tested the board with the newer Oyster cards (Mifare DesFire), but believe these should be readable seeing as the two cards only differ in encryption methods. UPDATE Nov 2011: I’ve been tinkering with this again, and can confirm that you can read the Mifare DesFire’s UID with the Stronglink SL018 – in fact you can read any of the following: “1K”, “Pro”, “UltraLight”, “4K”, “ProX”, “DesFire”.

So step 1 complete. Many thanks to Marc Boon for providing Arduino code to read the tags.

Tags: ,

7 Responses to “Reading an Oyster card with Arduino”

  1. Hi,

    Is it really you can read the data from mifare 1k card? actually in malaysia using touchngo card for tollway.Same as oyster card. Is it can be write/clone?

  2. @Zainul, well its easy to read an ID string from the card, but to do anything more than that, you’d need to break the encryption. Not something I’m into, sorry mate.

  3. Hi, thanks for the info. What are your thoughts on whether it would be possible to read an Oyster card from a handset that has NFC? I have a Samsung with NFC, and notice that when I tap it to an Oyster card I get a “unsupported card type” message. Which means the handset ‘heard’ something – now anyway to decipher that?

  4. Thank you so much for this. I am working on something and you just saved my project!

  5. Is it possible to read your travel history from the card? I’m living outside the UK and would like to have my travel history. You can`t register your Oystercard / Visitor Oystercard outside the UK and TfL won`t send my history.

  6. Hi Dominique,
    No it’s not possible unless you know how to break the encryption (which I’ve read has been done with some of the older cards), but this isn’t really an option for us non-savant types.

    If you just need to register your Oyster Card on the TfL site from outside the UK, I can only suggest using a UK-based VPN (which will make TfL think you’re inside the UK). I used to use http://vpngates.com when I was living in Dubai, worked well.

  7. Hi I am representing a company who have developed a lining for wallets and bags, the lining protects data on the whole range RFID frequency range, however, I have tested the product on the London under ground and the Oyster card reader can pick up my Oyster card when swiped . My background id accessories and not technical so before we can market this product in the UK I would like to be sure it does what it says on the tin! can anyone advise me?

Leave a Reply