The RFIDuino Login Project for Windows will allow you to use the RFIDuino system to log into Windows. You will need to load a special firmware onto your Geekduino/Arduino, and load the appropriate files onto your computer. Once setup, you can login to your computer from the main Windows Login screen by simply swiping your RFID tag across the RFIDuino antenna.
This project will work with Windows Vista, 7, 8 and 10.
This project is an example project and should not be considered ready for production use where security is required. The user login/password are stored in an unencrypted plaintext file on the computer.
Getting Started With The RFIDuino
If you have not already, you should go to the RFIDuino Getting Started Guide. This guide will give you an overview of the RFIDuino and help you set up your Geekduino and the programming environment/libraries. You will also need to complete the Hello World tutorial so that you can read the IDs of your tags. It is important that you right down the ID the tag(s) that you want to use to unlock your computer.
Programming Your Geekduino for the Project
First download the most recent release of the Windows RFIDuino Login Software. This download includes the necessary Arduino Firmware and Windows Software for this project. Unzip the file and you should see 3 folders and 2 files.
Connect your RFIDuino as shown. (Click here for the v1.1 Connection Diagram)
RFIDuino_windows_unlockonto your board. This sketch is in the .zip file you just downloaded under:
Firmware -> RFIDuino_windows_unlock -> RFIDuino_windows_unlock.ino
- You will need to make sure the code is adjusted for your RFIduino hardware.
v1.2 shields (2 pin antenna, 'REV 1.2' printed on the board) will need the following code
RFIDuino myRFIDuino(1.2); //initialize an RFIDuino object for hardware version 1.2v1.1 shields (4-pin antenna, no version number printed on the board) will need the following code
RFIDuino myRFIDuino(1.1); //initialize an RFIDuino object for hardware version 1.1Both lines of code are available in the
RFIDuino_helloworldsketch, simply uncomment the one you don't need. If you are still unsure about what hardware you are using, see this page
- Load RFIDuino_windows_unlock onto your board using the upload button in the Arduino IDE.
- Once loaded, leave your board connected to your computer - you will need this connection to power the board and to communicate with the computer
Setting the Reset Switch
Once you've programmed your Geekduino, you will need to change one of the switches. Set the reset switch towards 'M_RST'. This will change the board to manual reset, so that windows does not reset the board while in use. Keep in mind that if you need to reprogram your Geekduino that you will need to change the switch back to 'AUTO'.
1. Using the Right Files
From the .zip file downloaded earlier, you'll need to make sure you are using the correct files for your Operating System. For 64 Bit Versions of the operating system you'll use the files in the
64 Bitfolder. For 32 Bit Versions of the operating system you'll use the files in the
You'll need to edit 2 of the .txt files.
RFIDCredentials.txt. By default the file should look like this
12 133 430 45 189|user1|password1 9 23 143 56 19|user2|password2
You'll need one line for each Key you want to use to unlock your computer. Each line contains the tag's ID, the windows username and the windows password, each separated by the
| character. So for example, if the tag's ID is
70 0 44 22 242 and you want to unlock a windows account with the username
robot1 and the password
unlockRobo1 your file should look like
70 0 44 22 242|robot1|unlockRobo1
You can use multiple tags to unlock a single account, but one tag can only unlock one account.
This project also support domain based accounts. If you want to add a line with a tag ID of
67 176 120 0 45 and you want to unlock a windows account under the domain
ROBONET with the username
robot2 and the password
unlockRobo2 your file should look like
70 0 44 22 242|robot1|unlockRobo1 67 176 120 0 45|ROBONET\robot2|unlockRobo2
As mentioned above, each tag can only unlock one account - so this means that there can be at most one line for each unique tag you are using in your system.
RFIDCredSettings.txt. By default the file should look like this
COM=4 LEAD=ID: TERM=\r\n
TERM lines represent the characters before and after each serial message from the RFIDuino. You do not need to edit these lines.
You will need edit the first line so that it matches the serial port for your Geekduino. The serial port number for your Geekduino is the same serial port that you use to program your Geekduino, and the same serial port number we found in the Geekduino Getting Started Guide. For example, if your Geekduino is connected to COM32, your file should look like:
COM=32 LEAD=ID: TERM=\r\n
4. Moving Files
You you will need to copy the 3 files into your
C:\Windows\System32 folder. The files are the two text files you updated and the .dll file
RFIDCredentials.txt RFIDCredSettings.txt RFIDCredentialProvider.dll
Just drag and drop these 3 files into the
C:\Windows\System32 folder on your computer. You may need admin privileges to copy the files over. If this folder does not exist on your computer or if you have a custom Windows Installation, you may need to recompile the .dll file to work with your system.
5. Activating the Files
Now go back to your unzipped software folder and open
Register.reg. You'll get a warning - you can click 'OK'. Now the .dll files will be activated.
If you need to remove the program, use the
Unregister.reg file and then remove the 3 files from your
Here are some additional ideas for expanding and improving your RFID Lock Box.
- As noted before, your username and password are stored in an unencrypted text file. To secure this, you would need to integrate new code into the windows software.
- You may be able to add some minima amount of security using file permissions in windows by removing accounts from the security list SYSTEM.
- The source code for the Windows Software is available here
- By default, the firmware only changes LED color depending on the read status of the card - the buzzer has been disabled. You can re-enable this by looking at the other RFIDuino examples and brining in the buzzer code.
This project was based off a project for the RedBee RFID reader, a collaboration between Trossen Robotics / RobotGeek, Amal Graafstra and Robotics Connection.
PC Control These demos and projects allow the robot to be controlled via a computer.
ArbotiX Commander Control - These demos and projects control the Robot using the ArbotiX Commander, the handheld Arduino based remote control.
Direct Control - These demos and projects control the Robot directly from sensors connected directly to the Robot's control board.
Pose Control - These demos and projects allow you to create and playback a sequence of poses.
Serial Control - These demos and projects control the robot using a serial packet protocol.
Standalone - These demos and projects are deisgned to let your robot function without a computer or additional microcontroller.
Wireless Control - These demos and projects allow you to control the robot wirelessly - usually by replacing the Serial Connection with XBee modules.
Reference - These articles have technical details regarding the control and operation of the robot.
More info here