R305 Fingerprint Module User Manual
R305 Fingerprint Module User Manual
User Manual
1
Preface & Declaration
Thank you for you selection of R30x series Fingerprint Identification Module (Module)
of GROW.
The Manual is targeted for hardware & software developing engineer, covering
hardware interface, system resource, instruction system, installment information, etc. To
ensure the developing process goes smoothly, it is highly recommended the Manual is
read through carefully.
We will try our best to assure you the correctness of the Manual. However, should you
find any problem or error with it, feel free to contact us or the sales representative of us.
We would be very grateful.
Holding the principle of constantly improving and perfecting products, so both the
module and contents of the Manual might subject to changes. Sorry for separate notice.
You may visit our website or call us for the latest information.
The Manual contains proprietary information of GROW, which shall not be used by or
disclosed to third parties without the permission of GROW, nor for any reproduction and
alteration of information without any associated warranties, conditions, limitations, or
notices.
No responsibility or liability is assumed by GROW for the application or use, nor for
any infringements of patents or other intellectual property rights of third parties that may
result from its use.
All products are sold subject to GROW’s terms and conditions of sale supplied at the
time of order acknowledgment. Testing, tool and other quality control techniques are
used to the extent GROW considers necessary to support the warranty of relevant
performance of its products to the specifications, except as expressly agreed to in writing
by government requirements, testing of all parameters of each product is not necessarily
performed.
www.hzgrow.com
I
I Introduction
Operation Principle
Fingerprint processing includes two parts: fingerprint enrollment and fingerprint matching (the
matching can be 1:1 or 1:N).
When enrolling, user needs to enter the finger two times. The system will process the two time
finger images, generate a template of the finger based on processing results and store the template.
When matching, user enters the finger through optical sensor and system will generate a template
of the finger and compare it with templates of the finger library. For 1:1 matching, system will
compare the live finger with specific template designated in the Module; for 1:N matching, or
searching, system will search the whole finger library for the matching finger. In both
circumstances, system will return the matching result, success or failure.
-1-
II Main Parameters
-2-
R305F (Semiconductor Fingerprint reader)
-3-
R307 (Optical Fingerprint reader)
Serial Communication(R305,R305F,R307)
When the FP module communicates with user device, definition of J1 is as follows:
Pin Nmuber Name Type Function Description
1 Vin in Power input
2 GND - Signal ground. Connected to power ground
3 TD out Data output. TTL logical level
4 RD in Data input. TTL logical level
9 VTH in Finger detection power DC4~6V
10 THout out Finger detection signal Effective output low level
Hardware connection
Via serial interface, the Module may communicate with MCU of 3.3V or 5V power: TD (pin 3 of
P1) connects with RXD (receiving pin of MCU), RD (pin 4 of P1) connects with TXD (transferring
pin of MCU). Should the upper computer (PC) be in RS-232 mode, please add level converting
circuit, like MAX232, between the Module and PC.
USB Communication
Pin Nmuber Name Type Function Description
5 Vin in Power input
6 D- in USB data input.
7 D+ out USB data output.
8 GND - Signal ground.
-4-
Serial communication protocol
The mode is semiduplex asychronism serial communication. And the default baud rate is 57600bps.
User may set the baud rate in 9600~115200bps。
Transferring frame format is 10 bit: the low-level starting bit, 8-bit data with the LSB first, and an
ending bit. There is no check bit.
Reset time
At power on, it takes about 500ms for initialization. During this period, the Module can’t accept
commands for upper computer.
-5-
IV System Resources
To address demands of different customer, Module system provides abundant resources at user’s
use.
Notepad
The system sets aside a 512-bytes memory (16 pages* 32 bytes) for user’s notepad, where data
requiring power-off protection can be stored. The host can access the page by instructions of
PS_WriteNotepad and PS_Read Notepad.
Note: when write on one page of the pad, the entire 32 bytes will be written in wholly covering the
original contents.
Buffer
There are an image buffer and two 512-byte-character-file buffer within the RAM space of the
module. Users can read & write any of the buffers by instructions.
Note: Contents of the above buffers will be lost at power-off.
Image buffer
ImageBuffer serves for image storage and the image format is 256*288 pixels.
When transferring through UART, to quicken speed, only the upper 4 bits of the pixel is transferred
(that is 16 grey degrees). And two adjacent pixels of the same row will form a byte before the
transferring. When uploaded to PC, the 16-grey-degree image will be extended to 256-grey-degree
format. That’s 8-bit BMP format.
When transferring through USB, the image is 8-bit pixel, that’s 256 grey degrees.
Character file buffer, CharBuffer1, CharBuffer2, can be used to store both character file and
template file.
4.3Fingerprint Library
Synstem sets aside a certain space within Flash for fingerprint template storage, that’s fingerprint
library. Contents of the library remain at power off.
Capacity of the library changes with the capacity of Flash, system will recognize the latter
automatically. Fingerprint template’s storage in Flash is in sequential order. Assume the fingerprint
capacity N, then the serial number of template in library is 0, 1, 2, 3 … N. User can only access
library by template number.
-6-
When upper computer sends command to modify parameter, Module first responses with original
configurations, then performs the parameter modification and writes configuration record into Flash.
At the next startup, system will run with the new configurations.
Module password
At power-on reset, system first checks whether the handshaking password has been modified. If not,
system deems upper computer has no requirement of verifying password and will enter into normal
operation mode. That’s, when Module password remains the default, verifying process can be
jumped. The password length is 4 bytes, and its default factory value is 0FFH, 0FFH, 0FFH, 0FFH.
Should the password have be modified, refer to instruction SetPwd, then Module (or device)
handshaking password must be verified before the system enter into normal operation mode. Or
else, system will refuse to execute and command.
The new modified password is stored in Flash and remains at power off.
Module address
Each module has an identifying address. When communicating with upper computer, each
instruction/data is transferred in data package form, which contains the address item. Module
-7-
system only responds to data package whose address item value is the same with its identifying
address.
The address length is 4 bytes, and its default factory value is 0xFFFFFFFF. User may modify the
address via instruction SetAdder. The new modified address remains at power off.
V Communication Protocol
The protocol defines the data exchanging format when R30X series communicates with upper
computer. The protocol and instruction sets apples for both UART and USB communication mode.
For PC, USB interface is strongly recommended to improve the exchanging speed, especially in
fingerprint scanning device.
Header Start 2 bytes Fixed value of 0xEF01; High byte transferred first.
-8-
It can be commands, data, command’s parameters,
Package
DATA - acknowledge result, etc. (fingerprint character value, template
contents
are all deemed as data);
The arithmetic sum of package identifier, package length and
Checksum SUM 2 bytes all package contens. Overflowing bits are omitted. high byte is
transferred first.
-9-
VI Module Instruction System
R30X series provide 23 instructions. Through combination of different instructions, application
program may realize muti finger authentication functions. All commands/data are transferred in
package format. Refer to 5.1 for the detailed information of package.
System-related instructions
- 10 -
Note: Confirmation code=00H: password setting complete;
Confirmation code=01H: error when receiving package;
Description:
For UART protocol, it control the “on/off” of USB port;
- 11 -
For USB protocol, it control the “on/off” of UART port;
Input Parameter: control code
Control code ”0” means turns off the port;
Control code ”1” means turns on the port;
Return Parameter: confirmation code;
Instruction code: 17H
Command (or instruction) package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 1byte 2 bytes
Header Chip Package Package Instruction Control Checksum
address identifier length code code
0xEF01 xxxx 01H 04H 17H 0/1 sum
Acknowledge package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes
Header Chip Package Package Confirmation Checksum
address identifier length code
0xEF01 xxxx 07H 03H xxH sum
Note: Confirmation code=00H: Port operation complete;
Confirmation code=01H: error when receiving package;
Confirmation code=1dH: fail to operate the communication port;
Description: Read Module’s status register and system basic configuration parameters;(Refer to 4.4
for system configuration parameter and 4.5 for system status register).
Input Parameter:none
Return Parameter:Confirmation code (1 byte) + basic parameter(16bytes)
Instuction code: 0fH
Command (or instruction) package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes
Header Module Package Package length Instruction Checksum
address identifier code
0xEF01 Xxxx 01H 03H 0fH sum
Acknowledge package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 16 bytes 2 bytes
Header Module Package Package Confirmation Basic parameter Checksum
address identifier length code list
0xEF01 xxxx 07H 3+16 xxH See following sum
table
Note: Confirmation code=00H: read complete;
Confirmation code=01H: error when receiving package;
Name Description Offset (word) Size (word)
Status register Contents of system status register 0 1
System identifier code Fixed value: 0x0009 1 1
Finger library size Finger library size 2 1
Security level Security level (1, 2, 3, 4, 5) 3 1
Device address 32-bit device address 4 2
- 12 -
Data packet size Size code (0, 1, 2, 3) 6 1
Baud settings N (baud = 9600*N bps) 7 1
Fingerprint-processing instructions
- 13 -
Confirmation code=03H: fail to collect finger;
Description: to download image from upper computer to Img_Buffer. Refer to 1.1.1 for more about
the image buffer.
Input Parameter: none
Return Parameter: Confirmation code (1 byte)
Instuction code: 0bH
Command (or instruction) package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes
Header Module address Package Package Instruction Checksum
identifier length code
0xEF01 Xxxx 01H 03H 0bH 000fH
Acknowledge package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes
Header Module Package Package Confirmation Checksum
address identifier length code
0xEF01 Xxxx 07H 03H xxH sum
Note: 1:Confirmation code=00H: ready to transfer the following data packet;
Confirmation code=01H: error when receiving package;
Confirmation code=0eH: fail to transfer the following data packet;
2: Module shall transfer the following data packet after responding to the upper computer.
- 14 -
Data package length must be 64, 128, or 256。
- 15 -
address identifier length code
0xEF01 xxxx 07H 03H xxH sum
Note: Confirmation code=00H: operation success;
Confirmation code=01H: error when receiving package;
Confirmation code=0aH: fail to combine the character files. That’s, the character files
don’t belong to one finger.
- 16 -
Acknowledge package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes
Header Module Package Package Confirmation Checksum
address identifier length code
0xEF01 xxxx 07H 03H xxH sum
Note 1: Confirmation code=00H: ready to transfer the following data packet;
Confirmation code=01H: error when receiving package;
Confirmation code=0eH: fail to receive the following data packages.
2: Module shall transfer the following data packet after responding to the upper
computer.
Description: to store the template of specified buffer (Buffer1/Buffer2) at the designated location of
Flash library.
Input Parameter: BufferID(buffer number), PageID(Flash location of the template, two bytes with
high byte front and low byte behind)
Return Parameter: Confirmation code (1 byte)
Instuction code: 06H
Command (or instruction) package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 1 byte 2 bytes 2 bytes
Header Module Package Package Instruction buffer Location Checksum
address identifier length code number number
0xEF01 xxxx 01H 06H 06H BufferID PageID sum
Note: BufferID of CharBuffer1 and CharBuffer2 are 1h and 2h respectively. Other values
(except 1h, 2h) would be processed as CharBuffer2.
Acknowledge package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes
Header Module Package Package Confirmation Checksum
address identifier length code
0xEF01 Xxxx 07H 03H xxH sum
Note: Confirmation code=00H: storage success;
Confirmation code=01H: error when receiving package;
Confirmation code=0bH: addressing PageID is beyond the finger library;
Confirmation code=18H: error when writing Flash.
- 17 -
Header Module Package Package Instruction buffer Page Checksum
address identifier length code number number
0xEF01 xxxx 01H 06H 07H BufferID PageID sum
Note: BufferID of CharBuffer1 and CharBuffer2 are 1h and 2h respectively. Other values (except
1h, 2h) would be processed as CharBuffer2.
Acknowledge package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes
Header Module address Package Package Confirmation Checksum
identifier length code
0xEF01 xxxx 07H 03H XxH sum
Note: Confirmation code=00H: load success;
Confirmation code=01H: error when receiving package;
Confirmation code=0cH: error when reading template from library or the readout template is
invalid;
Confirmation code=0BH: addressing PageID is beyond the finger library;
- 18 -
Header Module Package Package Instruction Checksum
address identifier length code
0xEF01 Xxxx 01H 03H 0dH 0011H
Acknowledge package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes
Header Module Package Package Confirmation Checksum
address identifier length code
0xEF01 Xxxx 07H 03H xxH sum
Note: Confirmation code=00H: empty success;
Confirmation code=01H: error when receiving package;
Confirmation code=11H: fail to clear finger library;
Description: to search the whole finger library for the template that matches the one in CharBuffer1
or CharBuffer2. When found, PageID will be returned.
Input Parameter: BufferID, StartPage (searching start address), PageNum(searching numbers)
Return Parameter: Confirmation code (1 byte), PageID (matching templates location)
Instuction code: 04H
Command (or instruction) package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 1 byte 2 bytes 2 bytes 2 bytes
- 19 -
0xEF01 xxxx 01H 08H 04H BufferID StartPage PageNum sum
Note: BufferID of CharBuffer1 and CharBuffer2 are 1h and 2h respectively. Other values
(except 1h, 2h) would be processed as CharBuffer2.
Acknowledge package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes 2 bytes 2 bytes
Header Module Package Package Confirmation 页码 得分 Checksum
address identifier length code
0xEF01 xxxx 07H 7 xxH PageID MatchScore sum
Note 1: Confirmation code=00H: found the matching finer;
Confirmation code=01H: error when receiving package;
Confirmation code=09H: No matching in the library (both the PageID and
matching score are 0);
2: The instruction doesn’t affect the contents of the buffers.
Other instructions
Description: for upper computer to write data to the specified Flash page (refer to 4.1 for more
about Note pad). Also see ReadNotepad;
Input Parameter: NotePageNum, user content (or data content)
Return Parameter: Confirmation code (1 byte)
Instuction code: 18H
Command (or instruction) package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 1byte 32 bytes 2 bytes
- 20 -
Header Module Package Package Instruction Page Data Checksum
address identifier length code number content
0xEF01 xxxx 01H 36 18H 0~15 content sum
Acknowledge package format:
2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes
Header Module address Package Package Confirmation code Checksum
identifier length
0xEF01 xxxx 07H 03H xxH sum
Note: Confirmation code=00H: write success;
Confirmation code=01H: error when receiving package;
- 21 -
Instruction Table
Classified by functions
Finerprint processing
Parameter
5 17H Port control 17 0CH to delete tempates
6 0FH To read system 18 0DH to empty the library
Parameter
7 1DH To read finger 19 03H Carry out precise
template numbers matching of two
templates;
8 01H Collect finger image 20 04H Search the finger library
Finerprint processing
- 22 -
0BH DownImage To download image 1BH HiSpeedSearch Search the library fastly
0CH DeletChar to delete tempates 1DH TempleteNum To read finger template
numbers
- 23 -