Skip to main content

Grove - Capacitive Fingerprint Scanner/Sensor

The Grove - Capacitive Fingerprint Scanner / Sensor is based on the KCT203 Semiconductor fingerprint recognition module, including a high-performance MCU, a vertical RF push-type fingerprint sensor, and a touch sensing device. This module features many advantages such as small size, small fingerprint template, low power consumption, high reliability, fast fingerprint recognition, etc. In addition, it is worth mentioning that there is a lovely RGB light around this module to indicate whether the fingerprint recognition is successful.

The system is equipped with a high-performance fingerprint algorithm, and the self-learning function is remarkable. After each successful fingerprint recognition, the latest challenge feature values can be integrated into the fingerprint database to continuously improve the fingerprint features, making the experience better.

We add the power level shift circuit on the Grove Driver board so that this module can work with both 3.3V and 5V systems. And with the help of the Grove UART connector and the Arduino library we offered, you can build your own Arduino fingerprint sensor/scanner easily.

We have already released the Grove optical fingerprint sensor, this time we bring you the Grove - Capacitive Fingerprint Scanner / Sensor. So what's the difference? Well, let's show you the merits and demerits of both sensors so that you can choose the best one to meet your needs.

ProductAdvantageDisadvantage
Grove - Capacitive Fingerprint Scanner / SensorCan identify biological characteristics, only identify living body, high safety, small size, low power consumption, high accuracyPoor abrasion resistance, easily susceptible to sweat, stains, finger wear, etc.
Grove - Optical Fingerprint SensorStrong abrasion resistance, good environmental adaptability, and good stabilityLarge size, high power consumption, and relatively low accuracy, can't identify the living body, low security

Features

  • Built-in 2KByte storage: support up to 100 fingerprints
  • Powerful self-learning function: the more you use, the more accurate the recognition
  • Selectable security level
  • Small size, low power consumption,10uA for standby mode

The new sensors have updated internal algorithms to improve the accuracy of recognition, but the libraries and codes used have not changed.

Applications

  • Fingerprint lock devices: door locks, safes, steering wheel locks, padlocks, gun locks, etc.
  • Fingerprint sign-in, access control system

Specification

ParameterValue
CPUGD32
Fingerprint Template StorageMax. 100
ConnectorGrove UART
Sensor Resolution508 DPI
Sensor Pixel160*160
False Rejection Rate<1%
False Acceptance Rate<0.005%
Match Response Time(1:N Mode)<350ms
Match Response Time(1:1 Mode)<7ms
Sensor SizeΦ14.9mm
Frame SizeΦ19mm
Power ConsumptionFull speed: ≤40 mA; Sleep: ≤12uA
Operating Voltage3.3V/5V
Operating Temperature-20~70℃
ESD ProtectionNon-contact 15KV, contact 8KV

Pin Out

Platforms Supported

ArduinoRaspberry Pi
caution

The platforms mentioned above as supported is/are an indication of the module's software or theoritical compatibility. We only provide software library or code examples for Arduino platform in most cases. It is not possible to provide software library / demo code for all possible MCU platforms. Hence, users have to write their own software library.

Getting Started

Play With Arduino

Hardware

Seeeduino V4.2Base ShieldGrove - Capacitive Fingerprint Scanner/Sensor
Get One NowGet One NowGet One Now
note

1 Please plug the USB cable gently, otherwise you may damage the port. Please use the USB cable with 4 wires inside, the 2 wires cable can't transfer data. If you are not sure about the wire you have, you can click here to buy

2 Each Grove module comes with a Grove cable when you buy. In case you lose the Grove cable, you can click here to buy.

  • Step 1. Connect Grove - Capacitive Fingerprint Scanner/Sensor to port D2 of Grove-Base Shield.

  • Step 2. Plug Grove - Base Shield into Seeeduino.

  • Step 3. Connect Seeeduino to PC via a USB cable.

note

If we don't have Grove Base Shield, We also can directly connect this module to Seeeduino as below.

SeeeduinoGrove CableGrove - Capacitive Fingerprint Scanner/Sensor
GNDBlackGND
5V or 3.3VRedVCC
D3WhiteRX
D2YellowTX

Software

caution

If this is the first time you work with Arduino, we strongly recommend you to see Getting Started with Arduino before the start.

  • Step 1. Download the Seeed_Arduino_KCT202 Library from Github.

  • Step 2. Refer to How to install library to install library for Arduino.

  • Step 3. Restart the Arduino IDE. Open the example, you can open it in the following three ways:

    1. Open it directly in the Arduino IDE via the path: File --> Examples --> Seeed_Arduino_KCT202 --> full_process.

    2. Or, you can just click the icon in upper right corner of the code block to copy the following code into a new sketch in the Arduino IDE.


/*

Copyright (c) 2019 Seeed Technology Co., Ltd.
Website : www.seeed.cc
Author : downey
Create Time: Jun 2019
Change Log :

The MIT License (MIT)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#include "ATSerial.h"
#include "Protocol.h"
#include "KCT202.h"


#if defined(ARDUINO_ARCH_AVR)
#define debug Serial
SoftwareSerial uart(2, 3);
FingerPrint_KCT202<SoftwareSerial, HardwareSerial> kct202;
#elif defined(ARDUINO_ARCH_SAM)
#define debug SerialUSB
#define uart Serial
FingerPrint_KCT202<Uart, Serial_> kct202;
#elif defined(ARDUINO_ARCH_SAMD)
#define debug SerialUSB
#define uart Serial1
FingerPrint_KCT202<Uart, Serial_> kct202;
#else
#define debug Serial
SoftwareSerial uart(2, 3);
FingerPrint_KCT202<SoftwareSerial, HardwareSerial> kct202;
#endif





Protocol_oprt oprt;
uint8_t err_code = 0;
uint8_t param[10];
uint32_t param_len;

void setup(void) {
debug.begin(115200);
kct202.begin(uart, debug);
}

uint16_t finger_num;
void loop() {
//The first param is the finger-print ID to check.
//if set 0xffff,indicates that search for all the finger-print templates and try to match.
kct202.autoVerifyFingerPrint(CHECK_ALL_FINGER_TEMP,
LED_OFF_AFTER_GET_GRAGH | PRETREATMENT_GRAGH | NOT_RET_FOR_EVERY_STEP);
debug.println(" ");
debug.println("Please put your finger on the touchpad.");
debug.println("To verify your finger print.");
debug.println(" ");
debug.println(" ");
debug.println(" ");

if (0 == kct202.getVerifyResponAndparse(finger_num)) {
debug.println("Verify ok!");
debug.print("Your finger temp id = ");
debug.println(finger_num, HEX);
}
delay(2000);
}
caution

The library file may be updated. This code may not be applicable to the updated library file, so we recommend that you use the first way.

  • Step 4. Upload the demo. If you do not know how to upload the code, please check How to upload code.

  • Step 5. Open the Serial Monitor of Arduino IDE by click Tool-> Serial Monitor. Or tap the ++ctrl+shift+m++ key at the same time. Set the baud rate to 115200.

  • Step 6. Please put your finger on the touchpad.

success

If every thing goes well, when you open the Serial Monitor, it may show as below:

Usage:
Please put your finger on the touchpad
Repeat for 4 times or pressed continuously



Uart<=== : EF.1.FF.FF.FF.FF.7.0.5.0.0.0.0.C.

***********************************************************
Please put your finger on the touchpad
***********************************************************
Uart<=== : EF.1.FF.FF.FF.FF.7.0.5.0.1.1.0.E.

***********************************************************
Please put your finger on the touchpad
***********************************************************
Uart<=== : EF.1.FF.FF.FF.FF.7.0.5.0.2.1.0.F.

***********************************************************
Please put your finger on the touchpad
***********************************************************
Uart<=== : EF.1.FF.FF.FF.FF.7.0.5.0.1.2.0.F.

***********************************************************
Please put your finger on the touchpad
***********************************************************
Uart<=== : EF.1.FF.FF.FF.FF.7.0.5.0.2.2.0.10.

***********************************************************
Please put your finger on the touchpad
***********************************************************
Uart<=== : EF.1.FF.FF.FF.FF.7.0.5.0.1.3.0.10.

***********************************************************
Please put your finger on the touchpad
***********************************************************
Uart<=== : EF.1.FF.FF.FF.FF.7.0.5.0.2.3.0.11.

***********************************************************
Please put your finger on the touchpad
***********************************************************
Uart<=== : EF.1.FF.FF.FF.FF.7.0.5.0.1.4.0.11.

***********************************************************
Please put your finger on the touchpad
***********************************************************
Uart<=== : EF.1.FF.FF.FF.FF.7.0.5.0.2.4.0.12.EF.1.FF.FF.FF.FF.7.0.5.0.4.F0.1.0.EF.1.FF.FF.FF.FF.7.0.5.0.5.F1.1.2.EF.1.FF.FF.FF.FF.7.0.5.0.6.F2.1.4.

Register ok!
Uart===> : EF.1.FF.FF.FF.FF.1.0.8.32.0.FF.FF.0.7.2.40.


Please put your finger on the touchpad.
To verify your finger print.



Uart<=== : EF.1.FF.FF.FF.FF.7.0.8.0.0.0.0.0.0.0.F.

Uart<=== : EF.1.FF.FF.FF.FF.7.0.8.0.1.0.0.0.0.0.10.

Uart<=== : EF.1.FF.FF.FF.FF.7.0.8.0.5.0.1.0.64.0.79.

Verify ok!
Your finger temp id = 1
Uart===> : EF.1.FF.FF.FF.FF.1.0.3.D.0.11.

Uart<=== : EF.1.FF.FF.FF.FF.7.0.3.0.0.A.

Operation succed.
Delete ok!

Schematic Online Viewer

Resources

Tech Support

Please do not hesitate to submit the issue into our forum


Loading Comments...