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.
Fingerprint Scanner - TTL (GT-521F32)
SEN-14518
Fingerprint Scanner - TTL (GT-521F52)
SEN-14585
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
This tutorial covers everything you need to know about through-hole soldering.
Serial Communication
Asynchronous serial communication concepts: packets, signal levels, baud rates,
UARTs and more!
Installing an Arduino Library
How do I install a custom Arduino library? It's easy!
Logic Levels
Learn the difference between 3.3V and 5V devices and logic levels.
Serial Terminal Basics
This tutorial will show you how to communicate with your serial devices using a
variety of terminal emulator applications.
Hardware Overview
Features
The GT-521F32 and GT-521F52 have a lot in common with the previous models. They have the same protocol commands and packet structure. Code that was implemented
for previous models should be functionally the same. The fingerprint scanner has the ability to:
Enroll a Fingerprint
Identify a Fingerprint
Capable of 360° Recognition
However, there are a few differences in the boards. These include:
Different Board Layout
4x Mounting Holes
2x JST SH Connectors
Touch Interface
One significant difference to keep in mind when integrating the fingerprint scanner in a project is the number of fingerprints that the device can hold. The GT-521F32 costs less
but it can hold only 200 fingerprints. The GT-521F52 is slightly more expensive but it can hold 3000 fingerprints.
Technical Specs
CPU
Sensor
Window
GT-521F32 / GT-521F52
ARM Cortex M3 Cortex
optical
16.9mm x 12.9mm
Effective Area of the Sensor
Image Size
Resolution
Max # of Fingerprints
Matching Mode
Size of Template
Serial Communication
False Acceptance Rate (FAR)
False Rejection Rate (FRR)
Enrollment Time
Identification Time
Operating Voltage
Operating Current
Touch Operating Voltage
Touch Operating Current
Touch Standby Current
14mm x 12.5mm
258x202 Pixels
450 dpi
200 / 3000
1:1, 1:N
496 Bytes(template) + 2 Bytes (checksum)
UART (Default: 9600 baud) and USB v2.0 (Full Speed)
< 0.001%
< 0.01%
< 3 sec (3 fingerprints)
<1.5
3.3V ~ 6Vdc
< 130mA
3.3Vdc
< 3mA
< μ5
The image below shows the fingerprint scanner’s optical sensing area where the device will be able to scan your fingerprint.
There is a marking next to the JST-SH connector that indicates polarity. The JST-SH connector breaks out the pins for serial UART and power. While the input voltage is
between 3.3V and 6V, the UART’s logic level is only 3.3V. You will need a logic level converter or voltage divider to safely communicate with a 5V device.
Note: Make sure that you are connecting to the correct JST connector indicated by the polarity marker and capacitors. The JST connector on the other side of the board
are not connected to the same pins for serial UART.
The GT-521F32 and GT-521F52 have the ability to sense if a finger is placed on the optical sensing area. Upon contact with the metal frame around the optical sensing area,
the ICPCK will output 3.3V (HIGH). Otherwise, the ICPCK will be 0V (LOW)
Touch State
Finger Initially Touching the Frame
ICPCK Pin Status
LOW => HIGH
No Finger Touching
Finger Touching the Frame
Removing a Finger From the Frame
LOW => LOW
HIGH => HIGH
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. There are a few options to connect to the sensor depending on what UART device you are using. The
easiest would be to use an FTDI but you can also use any microcontroller that has a UART.
1.) Connecting w/ a 3.3V FTDI
Option 1: Qwiic Cable
To connect the fingerprint scanner to your computer, it is recommended to connect the JST SH cable to a USB-to-serial converter. Here are the minimum required parts you
would need to get started:
Fingerprint Scanner (GT-521F32 or GT-521F52)
Qwiic Cable - Breadboard Compatible
3.3V FTDI Basic Breakout
Mini-B USB Cable
Below are the following connections you would need to make with the JST-SH connector labeled as J2:
Fingerprint Scanner
[Pin #]
UART_TX (3.3V TTL)
[Pin 1]
UART_RX (3.3V TTL)
[Pin 2]
GND
[Pin 3]
Vin (3.3V~6V)
[Pin 4]
After connecting, the setup should look like the image below.
FTDI 3.3V
RX
TX
GND
3.3V
Note: The colors of the Qwiic Cable are standard for I
2
C connections, not UART, so the colors will not match typical standards for colored cables. For example, the red
wire in this circuit connects Rx to Tx. Double check your connections before powering the scanner.
Option 2: Making a Custom Adapter
If you are using the JST SH Jumper 4 Wire Assembly instead of the Qwiic cable, it is highly recommended that you make a custom adapter by soldering to the ends of the
wire for a secure connection. This will ensure that the connection is not loose when inserting it into female header sockets of an FTDI or the RedBoard/Arduino Uno. The
cable wire is small compared to the female header socket. A small bump can mess with the serial UART or power between the fingerprint scanner and converter. This may
require you to reconnect the scanner to your computer or device. Making an adapter will also provide quick access to the small 4-pin JST-SH connector that is on the scanner.
For more information on how to make a custom adapter, please refer to the older tutorial. Remember, the pin locations are the same so the adapter can work with the current
fingerprint scanner.
MAKING A CUSTOM FPS ADAPTER
2.) Connecting w/ a 5V Arduino
Before using the Arduino’s example code, make sure that the logic levels match. If you are using a 5V Arduino, you could use a dedicated logic level converter or resistors for
voltage division. Here are the minimum parts you would need to get started:
Fingerprint Scanner (GT-521F32 or GT-521F52)
Qwiic Cable
Redboard or Arduino Uno
Mini-Breadboard
Bi-Directional Logic Level Converter or 3x 10kOhm Resistors
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 #)
UART_TX (3.3V TTL)
(Pin 1)
UART_RX (3.3V TTL)
(Pin 2)
GND
(Pin 3)
Logic Level Converter
(Low Side)
LV1
LV4
GND
LV
Vin (3.3V~6V)
(Pin 4)
HV
Logic Level Converter
(High Side)
HV1
HV4
GND
5V Arduino w/ Atmega328P
RX
(pin 4)
TX
(pin 5)
GND
3.3V
5V
Note: Make sure to connect 3.3V to the LV side to power the low side of the logic level converters.
After wiring the circuit, it should look like this:
Option 2: Voltage Division w/ 3x 10kOhm Resistors
Otherwise, you could use 3x 10kOhm resistors to divide the voltage from a 5V Arduino down to 3.3V for the fingerprint scanner (FPS) similar to the “Uni-Directional”
application circuit on our old logic level converter as shown below:
Below is the connection between the FPS, 5V Arduino, and resistors for voltage division:
Voltage Divider
Fingerprint Scanner(Pin
#)
UART_TX (3.3V TTL)
(Pin 1)
GND <-> 10kOhm <-> 10kOhm
GND
UART_RX (3.3V TTL)
(Pin 2)
GND
(Pin 3)
Vin (3.3V~6V)
(Pin 4)
10kOhm
GND
Voltage Divider
5V Arduino w/ Atmega328P
RX
(pin 4)
TX
(pin 5)
GND
5V
Note: You can add the two 10kOhm resistors in series for 20kOhms.
After wiring the circuit up, it should look like this:
Wed Sep 23 10:46:56 2009: The stack 'CSTACK' is filled to 100% (2048 bytes used out of 2048). The warning threshold is set to 90.%.
BOOT选的是00.网上找了很多资料,还是清楚如 ......
EtherCAT(Ethernet for Control Automation Technology)是一种基于以太网的开发构架的实时工业现场总线通讯协议,EtherCAT是最快的工业以太网技术之一,同时它提供纳秒级精确同步。相对于设置了相同循环时间的其他总线系统,EtherCAT系统结构通常能减少25%-30%的CPU负载,EtherCAT的出现为系统的实时性能和拓扑的灵活性树立了新的标准。...[详细]
我最近在《华尔街日报》看到一篇题为“我们需要能维修自己的电子小玩意儿的权利(We need the right to repair our gadgets)”的文章(参考原文:),作者对于众多电子产品看来是“有计画的废弃(planned obsolescence)”之现象非常愤怒,认为大众应该要求电子产品可以被维修。 但实际的情况是,举例来说,家家都有的电视机如果故障了,修理费用可能...[详细]