GT-511C3 Fingerprint Scanner SDK Demo using Arduino Uno
Created on: 8 July 2015
SDK demo software for the GT-511C3 fingerprint scanner module is available from ADH Technology – the company that manufactures the fingerprint scanner (FPS) or fingerprint reader module.
The demo software runs on Windows and requires the FPS to be connected to the PC via a USB to TTL adapter. In this article, an Arduino Uno is used as a USB adapter and configured to relay information between the demo application running on the PC and the GT-511C3 FPS.
The video below shows the demo software being used with an Arduino Uno and fingerprint module.
Downloading the GT-511C3 SDK Demo Software
A link to the GT-511C3 SDK demo software can be found at the bottom of the GT-511C3 web page on the ADH Technology web page.
The software (called GT-511C3_SDK_20130410[3].7z at the time of writing this article) is zipped in 7-zip format and includes the SDK source code as well as the demo application.
On a Windows PC, open the file using software such as 7-zip and copy the folder found in the zipped file to the desired location (e.g. to the desktop).
The sub-folder called Program found in the main folder of the SDK contains the demo software called SDK_DEMO.exe which is the application used in this article.
Connecting the GT-511C3 to the Arduino Uno
Voltage divider resistors are needed to connect the fingerprint scanner to the Arduino Uno as shown in the circuit diagram in the article on GT-511C3 hardware. Some alternative resistor combinations for the resistor divider can be found below the circuit diagram.
Arduino Sketch
Code to load to the Arduino for the above hardware configuration configures the Arduino to relay information between the USB port of the Arduino and the fingerprint scanner. This is the same software used in the GT-511C3 / Processing application article.
Operating the Demo Software
After connecting the GT-511C3 to the Arduino, loading the Arduino sketch and plugging the Arduino into a Windows PC using a USB cable, the demo SDK software can be started.
The video above shows how to find the COM port number of the Arduino Uno, which can also be found in the Arduino IDE if the same PC is used for programming the Arduino and for the demo software.
Start the SDK demo software and the SDK demo window will appear as shown in the image below.

Connect to the Scanner
- Select the COM port that the Arduino is connected to.
- Select 9600 for the baud rate, which is the default for the GT-511C3.
- Click the Open button to connect to the scanner.
Check for Existing Fingerprints
Click the Get User Count button so see if the FPS is storing any existing fingerprints. The number of fingerprints stored will be displayed in the Result box at the bottom of the window.
Clicking the Delete All button will remove all existing fingerprints from the FPS memory.
Enrol Users / Fingerprints
To enrol a new user, first select an unused ID in the ID box. If there are no stored fingerprints, the ID can be left at 0. Click the Enroll button. The user will now be prompted to place a finger on the fingerprint scanner.
The user will be prompted to take the finger off and then place it back two more times so that the finger is scanned three times in total.
If all the scans are successful, a message will appear in the result box and the ID number will be incremented so that a new user can be added to the fingerprint scanner.
Verify Users / Fingerprints
To identify that a user or user's fingerprint has been enrolled and to find the ID of that user's fingerprint, click the Identify(1:N) button. Now place a finger on the scanner to see if it was enrolled, and if so what the ID is.
All scan results will be shown in the result box. A timeout will occur if a finger has not been placed on the scanner for a period of time. To stop the identify check before the timeout occurs, click the Cancel button.
Limitations of the Arduino / GT-511C3 PC Interface
Using an Arduino Uno as a serial link between the PC and fingerprint scanner module has some limitations that are probably due to the speed that the software serial port used for the FPS can operate at; and / or synchronisation between the two serial ports.
The result of the limitations is that larger data packets do not succeed in arriving successfully at the PC and so functions such as getting the fingerprint images do not work.
Even with these limitations, the Arduino / FPS interface is useful to to see how the fingerprint scanner works and can come in handy for anyone who does not have a USB to TTL interface available.