Note: This tutorial is for the GT-521Fxx models. If you are using any of the previous models (i.e. GT-511C1R and GT-511C3), please refer to the older Fingerprint
Scanner Hookup Guide.
Have you ever wanted to add fingerprint identification to your project? SparkFun offers a fingerprint scanner from ADH Tech designed to do just that! The GT-521F32 and GT-
521F52 includes an optical sensor for reading fingerprints and a processing IC with built-in fingerprint algorithms. Here you will find information about connecting the
fingerprint scanner and how to use it with Hawley's FPS_GT511C3 library.
Do you have a question about the GT-521F Series and is the answer not in the manual?
Questions and answers
Summary of Contents for Sparkfun Electronics GT-521F Series
Page 1
Fingerprint Scanner (GT-521Fxx) Hookup Guide Introduction Note: This tutorial is for the GT-521Fxx models. If you are using any of the previous models (i.e. GT-511C1R and GT-511C3), please refer to the older Fingerprint Scanner Hookup Guide. Have you ever wanted to add fingerprint identification to your project? SparkFun offers a fingerprint scanner from ADH Tech designed to do just that! The GT-521F32 and GT- 521F52 includes an optical sensor for reading fingerprints and a processing IC with built-in fingerprint algorithms.
Suggested Reading Depending on how you are connecting to the fingerprint scanner, you may need to know the following concepts before working with one of these boards: How to Solder: Through-Hole Soldering Serial Communication This tutorial covers everything you need to know about through-hole soldering. Asynchronous serial communication concepts: packets, signal levels, baud rates, UARTs and more! Installing an Arduino Library...
Page 3
Effective Area of the Sensor 14mm x 12.5mm Image Size 258x202 Pixels Resolution 450 dpi Max # of Fingerprints 200 / 3000 Matching Mode 1:1, 1:N Size of Template 496 Bytes(template) + 2 Bytes (checksum) Serial Communication UART (Default: 9600 baud) and USB v2.0 (Full Speed) False Acceptance Rate (FAR) <...
No Finger Touching LOW => LOW Finger Touching the Frame HIGH => HIGH Removing a Finger From the Frame HIGH => LOW Note: If the fingerprint scanner is powered from the UART side, you will need to still provide 3.3V to power the touch interface. The GND is connected to GND plane. Hardware Hookup The fingerprint scanner requires a serial UART connection and power.
Page 5
M/M Jumper Wires Option 1: Dedicated Bi-Directional Logic Level Converter (LLC) It is recommended to use a dedicated bi-directional LLC for a reliable connection if you are using a 5V Arduino microcontroller. Assuming that you have soldered the header pins to the logic level converter, you would need to make these connections: Fingerprint Scanner (Pin #) Logic Level Converter (Low Side) Logic Level Converter (High Side)
Page 6
Using Demo Software w/ a FTDI After making your connection with the 3.3V FTDI, connect the USB cable to your computer. Assuming that the FTDI drivers have been installed, make note of what COM port on which the FTDI enumerated. On a Windows computer, I was able to view it in the device manager as shown below: Opening and Connecting to the SDK_Demo.exe For basic operation with the demo software, it is recommended to download the demo software development kit (SDK) that is linked in product page's documents section.
Page 7
The FirmwareVersion and DeviceSN might be different depending the serial number that the manufacturer assigned. After connecting the fingerprint scanner to the FTDI, I was able to utilize all of the features as stated in the datasheet. The features in the demo software are based on the protocol commands. We will go over two features that are frequently used in this section.
Page 8
The image below shows the SDK_Demo before it is opened with an Arduino on COM7 and a baud of 9600 : Hawley’s FPS_GT511C3 Library for Arduino Note: This example assumes you are using the latest version of the Arduino IDE on your desktop. If this is your first time using Arduino, please review our tutorial on installing the Arduino IDE.
Press finger to Enroll #4 Remove finger Press same finger again Failed to capture second finger Try enrolling a fingerprint by uploading the code and following the serial monitor’s output. To enroll more than one fingerprint, just reset the Arduino. Example 3: Identifying w/ FPS_IDFinger.ino The FPS_IDFinger.ino sketch checks to see if a finger is on the scanner.
Page 10
55 AA 01 00 00 00 00 00 12 00 12 01 , where Command Start code1 = 0x55 Command Start code2 = 0xAA Device ID = 0x00 01 Input parameter = 0x00 00 00 00 Command Code = 0x00 12 By adding the hex values with a programmer’s calculator as stated in the datasheet: OFFSET[0] + OFFSET[1] + OFFSET[2] + OFFSET[3] + OFFSET[4] + OFFSET[5] + OFFSET[6] + OFFSET[7] + OFFSET[8] + OFFSET[9] = 0x55 +0xAA + 0x01 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x12 + 0x00...
More Failed Attempts I tried using the silkscreen and traces of the SparkFun EL Sequencer to see if the scanner was able to enroll. Unfortunately, it was not able to accept the board as a fingerprint. The board seem to be too far away causing the image to be dimly lit and the silkscreen was not sufficient enough to pass as a pattern. Below is an image taken of one of the SparkFun EL Sequencer’s silkscreen that failed to enroll: As a final test, scanner was used with the palm of a hand.
Page 12
Unfortunately, the fingerprint scanner’s Arduino example code for the does not work with the Arduino Due. You would need to modify the code and use it with the hardware serial UARTs because the Arduino Due does not support software serial. This old forum post will explain why there are compilation errors with the example code using the Arduino Due board definition =>...
Page 13
There appears to be an article that uses the GT-511C1R with a Raspberry Pi as a server and SQLite [ FingerScanner: Embedding a Fingerprint Scanner in a Raspberry Pi ]. Based on this information, it’s possible to have remote management of a database on multiple fingerprint scanners from one server. Node.js There’s an example in Node.js with an API.
Need help?
Do you have a question about the GT-521F Series and is the answer not in the manual?
Questions and answers