DIY Arduino based RFID lock for EVSE


So after my friend made a wrong purchase of charging point without properly reading specifications and description, thinking it's got RFID lock only because of printed RFID symbol on front, I decided to help him and make a simple Arduino based RFID lock. And after successful attempt to do so, I decided to share this little project with you.

RFID lock works in very simple way. It cuts the pilot signal, so charging is not possible unless you got correct RFID card. After first time it is powered up, first RFID card scanned by reader will become a master card. After you added the master card you can now add user cards. To do so you will need to scan master card again, and after some beeps remove it and scan a new user card. To unlock charger you can do it in a two ways, first connect your vehicle to the charger and then scan the card o just scan the card and in 20 second time connect your vehicle. If you miss that 20 second time you will have to scan your card again. Also it locks as soon as you pull the charging plug from your vehicle or charging point. This is to prevent unauthorized use if someone pulls the plug while your vehicle is charging.

NOW LEGAL BIT: ALL THIS INFORMATION IS PROVIDED ONLY FOR EDUCATIONAL PURPOSES. I WILL NOT TAKE ANY RESPONSIBILITY IF YOU DECIDE TO USE THIS INFORMATION FOR ANYTHING ELSE. PLEASE BARE IN MIND THAT OPENING CHARGING POINT WILL VOID WARRANTY, ALSO EXPOSES YOU TO ELECTROCUTION RISK!


So here is the list of parts you will need:
U1 - Arduino Pro Mini 328 5V/16MHz
U2 - RFID-RC522 reader
U3 - 3.3V voltage regulator
U4 - Active buzzer (trigger by low input)
U5 - Relay board
R1 - 100kOhm resistor

You also will need to download a file below and upload it to your Arduino with program called Xloader. Download Xloader zip file, extract it on your computer and start XLoader.exe. Open downloaded hex file in Xloader, chose Nano(ATmega 328), chose correct COM port for your adapter, connect your Arduino to adapter and press Upload. If you are using PL2303 based adapter please hold reset button on Arduino, and release it straight after you pressed Upload in Xloader.
rfid_lock_for_evse__2_cards.hex rfid_lock_for_evse__2_cards.hex
Size : 17.368 Kb
Type : hex

Please note that the code is limited to 2 user cards and is in hex format, so you won't be able to modify anything. This is done so to stop people of using a code for commercial purposes. If for any reason you need more user cards, please send me a message.

After you successfully uploaded the code to your Arduino you need to connect everything as in this diagram:

If for any reason you need to delete user or master cards, you just need to short Digital 2 pin to ground (see EEPROM Reset pins on diagram), and all cards will be deleted. Again first card you will scan - becomes a master card. There is no option to delete cards one by one. So after all cards deleted you will have to program all cards again.  You will find a video bellow showing how it looks and works in real life.

If you will decide to make this project, I am more than happy to share some pictures or information of yours on this website. Just drop me a message and I will reply from my email. Hope you will find this useful.

© Copyright EV-OLUTION