DIY RFID E-Lock Upgraded to Work with Desfire EV1 Cards, Library Compatible for Teensy/Arduino
Forums user Elmue’s already-awesome DIY RFID e-lock was recently upgraded to be compatible with Desfire EV1 cards, which required a complete reverse-engineer of their source code. As Elmue explains,
The difficult part is not the DES / AES encryption itself. The difficult thing is that NXP does not publish the documentation for these cards. You have to make a Non Disclosure Agreement (NDA) with them and promise that you will not give their holy documentation to anybody else. But this NDA is only made with companies. And in internet you find only very very sparse information about Desfire EV1.
As I don’t have that documentation I had to study the source code of some open source projects on Github, and in an endless try and error write my code for Teensy. My project is the first code that has ever been written for the Arduino family of boards! (The Adafruit library supports only Mifare Classic cards which are completely obsolete because they have been cracked in 2008 and can be cloned in a few seconds.)
PN532 NFC/RFID controller breakout board – v1.6: The PN532 is the most popular NFC chip, and is what is embedded in pretty much every phone or device that does NFC. It can pretty much do it all, such as read and write to tags and cards, communicate with phones (say for payment processing), and ‘act’ like a NFC tag. If you want to do any sort of embedded NFC work, this is the chip you’ll want to use! Read more.
Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.