Fingerprint Scanner - 5V TTL GT511-C1R
We don’t sell the cable with the GT-511C1R fingerprint scanner https://www.sparkfun.com/products/13007. You would need to get the 4 wire JST SH jumper cable separately https://www.sparkfun.com/products/10359. There is more than one way to create a connection between the fingerprint scanner and your system. For a more secure connection with the thin gauged wire, I recommend modifying the cable. Any loose connections can have issues powering the sensor and sending reliable data. Check below for more information:
Serial UART Connection w/ 4 Wire JST SH Cable
For a secure connection, I recommend soldering the ends of the wire to some header pins [like these https://www.sparkfun.com/products/116] so that the connection is not loose when inserting it into a standard female header sockets on an FTDI or the RedBoard/Arduino Uno. This will provide easy access to the small 4-pin JST-SH connector that is on the fingerprint scanner.
After checking the connections of the scanner in the datasheet, I soldered connections from the JST -SH connector labeled J2 from the scanner to the header pins. I used some heat shrink in order to use it with the FTDI to reinforce the solder joint. As a note, make sure to remove the JST-SH SMD connector that is on the 4-wire jumper wire assembly. This is the same connector that is on the fingerprint scanner. You should be able to remove the connector easily with your hands without cutting any of the assembly off. The connections with the header pins are based on the footprint of the 5V FTDI basic breakout https://www.sparkfun.com/products/9716 w/ a mini-B cable https://www.sparkfun.com/products/11301 :
Pin # Fingerprint Scanner <-> FTDI 5V
1 UART_TX <-> RX
2 UART_RX <-> TX
3 GND <-> GND
4 Vin (3.3V~6V) <-> 5V
Note: If you were using the JST-SH cable, you would be wiring the black wire to pin 1 (next to the notch indicating the polarity on the fingerprint scanner to the Rx pin of your FTDI,
For an example of the modified cable assembly, I suggest checking out the images from our Google drive:
Demo Software Development Kit (SDK) For basic operation with the demo software, I recommend checking out the demo software that is linked in the documents section of the product page. Each demo software is unique to that version of the fingerprint scanner and it will not work with the other versions. After connecting the fingerprint scanner to the FTDI, I was able to utilize all of the features as stated in the datasheet. These features in the demo software are based on the protocol commands.
To operate on a computer using the SDK, just open the SDK_DEMO.exe executable, select the COM port that the FTDI enumerated to from the serial port number’s drop down menu, and click on the Open button. You would need to enroll your finger 3 times for the ID before the scanner can save it as a template.
Example Code for Arduino If you were using a microcontroller with the fingerprint scanner, you would need to write code based off of the demo software and the protocol commands. Luckily, there was someone in the community that wrote some example code to blink the blue LED, enroll, and identify the fingerprint that was saved in a template. It is posted in a GitHub Repository [ https://github.com/sparkfun/Fingerprint_Scanner-TTL ] . This code works with the GT511C3, GT511C1, and GT511C1R. This code is incomplete and would require more code to utilize all the features of the fingerprint scanner like in the SDK. Here are the connections that you would need to make:
Pin # Fingerprint Scanner <-> Arduino Uno
1 UART_TX <-> RX (pin 4)
2 UART_RX <-> TX (pin 5)
3 GND <-> GND
4 Vin (3.3V~6V) <-> 5V
Software Serial with the Arduino Mega 2560 The demo code was designed for the Atmega328P on the Arduino Uno. If you were using it with an Arduino Mega2560, you would need to re-configure the software serial pin definitions. The reason why is because not all the pins on the Arduino Mega can support change interrupts for a serial Rx pin as stated in the limitations =>https://www.arduino.cc/en/Reference/SoftwareSerial . Just change this section of code on line 18:
FPS_GT511C3 fps(4, 5); //software serial pins for Arduino's / Atmega328P's
to
FPS_GT511C3 fps(10, 11); //software serial acceptable pin for the Arduino Mega
Direct USB Connection w/ USB Port
Demo Software Development Kit (SDK) I have only tested this with the previous GT-511C1 but it should work the same.
To connect the GT-511C1R fingerprint scanner with the demo software and your computer’s USB port, you can connect the pins on the back of the board labeled with J1 directly to the USB port of your computer. I used a micro-B breakout board and a USB micro-B to A cable. Here are the connections that you would need to make:
Fingerprint Scanner <=> USB Connector
Shield (left most pin) <=> USB Shield (not necessary if you use a USB breakout board)
GND <=> GND (Standard USB Black Wire)
D+ <=> D+ (Standard USB Green Wire)
D- <=> D- (Standard USB White Wire)
Vcc (square pin) <=> 5V (Standard USB Red Wire)
By connecting to your computer, it will show up as a USB Mass Storage Device on My Computer (“Gingy Disk” is the name of the Removable Storage Device).
Note: Certain USB Cables have D- as green and D+ as white. For an example of making your cable assembly, check out the images in our Google Drive. The images provided shows the non-standard colors wired up for the data lines with a USB connector. If the fingerprint scanner is not recognized by your computer in the device manager or there is a warning message, try reversing the data pins on the fingerprint scanner and it should enumerate properly.
https://drive.google.com/open?id=0B0jwgLkjMWzDSnVtc2tVMllYS1E
Troubleshooting
Scanner Not Recognizing your Fingers? There have been issues trying to enroll with the Arduino example code. This is usually due to fingers being dry and not having good contact on the scanner. The timing of your finger on the scanner is a little tricky too. I had to try enrolling a few times before it was able to enroll or identify my finger. This is common with any fingerprint scanner like the one that is on my smartphone. Try re-enrolling your finger.
Hardware Connections Resistors for Logic Level Conversion? The example code was originally used with an Arduino and the GT-511C3. Looking at the datasheet to compare, it looks like it might be 5V tolerant since it does not have 3.3V I/O limitations. If you are having issues using this fingerprint sensor with the resistors, try removing the resistors that were meant to voltage shift the signals. I had a customer that had problems using this with the resistors explained in the Instructable tutorial. When he removed it, he got it to work.
Loose Connections Make sure that there are no loose connections. The last thing to check is the connection between your scanner and Arduino. Each of the fingerprint scanners use the same command protocols so the Arduino example code in the Instructables tutorial can be used for any of the scanners.