0

members

Easy Basics: Project 056a Fingerprint Sensor Module FPM10A

of Lex C in UNO

Basics: Project 056a

Project name: Fingerprint Sensor Module FPM10A

Tags: Arduino Uno, Arduino, fingerprint sensor module, FPM10A, Windows Fingerprint Capture, R305, FPM10

Attachments: library1, blanksketchenrollsketch, fingerprintsketch

In this project, you needed these parts (Dear visitors. You can support our project buy clicking on the links of parts and buying them or donate us to keep this website alive. Thank you):

1.Arduino Uno R3 (you can also use the other version of Arduino)

2. Fingerprint Sensor Module FPM10A  1pc

3.Arduino IDE ( you can download it from here  )

4.Jumper cables F-M or F-F (can be connected directly to Arduino)

5. USB to TTL/Serial adaptor/converter 1 pc

 

General

We will learn how to connect Fingerprint Sensor Module FPM10A to Arduino board and use it.

Understanding the USB to TTL converter

You can read more about them here.

Understanding the Fingerprint Sensor Module FPM10A

Secure your DIY project with biometrics - this all-in-one optical fingerprint sensor will make adding fingerprint detectionand verification super simple.

Fingerprint sensor modules made fingerprint recognition more accessible and easy to use in different DIY projects. It is very easy to make fingerprint collection, registration, comparison and search.  These modules can be added to security systems, door locks, time attendance systems, and much more.

Connect to any microcontroller or system with TTL serial, and send packets of data to take photos, detect prints, hash and search. You can also enroll new fingers directly - up to 162 finger prints can be stored in the onboard FLASH memory. There's a red LED in the lens that lights upduring a photo so you know its working.

Most of the software and connections are compatible with the R305 and ZFM-20 modules.

Specifications:

  • Supply voltage: 3.6 - 6.0 VDC
  • Operating current: 120mA max
  • Peak current: 150mA max
  • Fingerprint imaging time: <1.0 seconds
  • Window area: 14mm x 18mm
  • Signature file: 256 bytes
  • Template file: 512 bytes
  • Storage capacity: 162 templates
  • Safety ratings (1-5 low to high safety)
  • False Acceptance Rate: <0.001% (Security level 3)
  • False Reject Rate: <1.0% (Security level 3)
  • Interface: TTL Serial
  • Baud rate: 9600, 19200, 28800, 38400, 57600 (default is 57600)
  • Working temperature rating: -20C to +50C
  • Working humidy: 40%-85% RH
  • Full Dimensions: 56 x 20 x 21.5mm
  • Exposed Dimensions (when placed in box): 21mm x 21mm x 21mm triangular
  • Weight: 20 grams

You can find the Fingerprint Sensor Module FPM10A datasheet here.

There are basically two requirements for using the optical fingerprint sensor. First is you'll need to enroll fingerprints - that means assigning ID #'s to each print so you can query them later. Once you've enrolled all your prints, you can easily 'search' the sensor, asking it to identify which ID (if any) is currently being photographed.

You can enroll using the Windows software (you can download it here) (easiest and neat because it shows you the photograph of the print) or with the Arduino sketch (good for when you don't have a Windows machine handy or for on-the-road enrolling).

Signals and connections of the Fingerprint Sensor Module FPM10A

RX (or RXD) - receive data input pin. Connected to Arduino board or USB to TTL converter TX pin.

TX (or TXD) - transmit data output pin. Connected to Arduino board or USB to TTL converter RX pin.

VCC - power supply. Can be connected to +5VDC or +3.3VDC pin of Arduino board.

GND (or -) - ground. Connected to Arduino board GND pin.

Wiring

Since the sensor wires are so thin and short, we stripped the wire a bit and melted some solder on so it made better contact but you may want to solder the wires to header or similar if you're not getting good contact. When you plug in the power, you should see the red LED blink to indicate the sensor is working.

If your sensor has all the same-color wires, The first wire from the left is ground (black wire), then the two data pins, then power (red wire). You'll have to cut, strip and solder the wires. RX is the same as the Yellow/White wire, TX is the same as the Green wire.

If your sensor has different wires, The first wire from the left should be the black wire ground, then the two data pins, RX is the white wire, TX is the green wire then the red power wire. You'll have to cut, strip and solder the wires. 

Notes: Remove cable and under the connector you should find pin 1 mark. GND pin should have 0 ohms resistance with on board tantalum capacitors negative terminal.

1. Using Arduino Uno software serial

2. Using Arduino Uno hardware serial

3. Using USB to TTL converter

Step by Step instruction

The "blank" sketch won't work for "native USB" based Arduinos like the Leonardo, Micro, Zero, etc! Use the

Leo_passthru sketch instead!

The "blank" sketch won't work for "native USB" based Arduinos like the Leonardo, Micro, Zero, etc! Use the Leo_passthru sketch from library instead!

1. Enroll a New Fingerprint

1.1 Using Arduino Uno Hardware serial

The easiest way to enroll a new fingerprint is to use the Windows software. The interface/test software is unfortunately windows-only but you only need to use it once to enroll, to get the fingerprint you want stored in the module. First up, you'll want to connect the sensor to the computer via a USB-serial converter. The easiest way to do this is to connect it directly to the USB/Serial converter in the Arduino. To do this, you'll need to upload a 'blank sketch'. Works well for "traditional" Arduinos, like the Uno and the Mega.

  1. Do wiring.
  2. Open Arduino IDE.
  3. Plug your Adruino Uno board into your PC and select the correct board and com port
  4. Verify and upload the blanksketch to your Adruino Uno
  5. Open the Serial Monitor at a baud rate of 9600.
  6. Start up the SFGDemo software and click Open Device from the bottom left corner. Select the COM port used by the Arduino.
  7. Press OK when done. You should see the following, with a blue success message and some device statistics in the bottom corner. 
  8. You can change the baud rate in the bottom left hand corner, as well as the "security level" (how sensitive it is) but we suggest leaving those alone until you have everything running and you want to experiment. They should default to 57600 baud and security level 3 so set them if they're wrong.
  9. If you get an error when you Open Device, check your wiring, try swapping the RX and TX wires on the sensor, that's a common mixup!
  10. Lets enroll a new finger! Click the Preview checkbox and press the Enroll button next to it (Con Enroll means 'Continuous' enroll, which you may want to do if you have many fingers to enroll). When the box comes up, enter in the ID # you want to use. You can use up to 162 ID numbers.
  11. The software will ask you to press the finger to the sensor.
  12. You can then see a preview (if you cliecked the preview checkbox) of the fingerprint.
  13. You will then have to repeat the process, to get a second clean print. Use the same finger!
  14. On success you will get a notice. If there's a problem such as a bad print or image, you'll have to do it again.

1.2 Using Arduino software serial

  1. Do wiring.
  2. Open Arduino IDE.
  3. Plug your Adruino Uno board into your PC and select the correct board and com port
  4. Verify and upload the enrollsketch to your Adruino Uno
  5. Open the Serial Monitor at a baud rate of 9600.
  6. You should enter an ID for the fingerprint. As this is your first fingerprint, type 1 at the top left corner, and then, click the Send button.
  7. Place your finger on the scanner and follow the instructions on the serial monitor.
  8. You’ll be asked to place the same finger twice on the scanner. If you get the “Prints matched!” message, as shown below, your fingerprint was successfully stored. If not, repeat the process, until you succeed.
  9. You can store as many fingerprints as you want using this method.

1.3 Using the USB to TTL converter

The easiest way to enroll a new fingerprint is to use the Windows software. The interface/test software is unfortunately windows-only but you only need to use it once to enroll, to get the fingerprint you want stored in the module. First up, you'll want to connect the sensor to the computer via a USB-serial converter. 

  1. Do wiring.
  2. Start up the SFGDemo software and click Open Device from the bottom left corner. Select the COM port used by the Arduino.
  3. Press OK when done. You should see the following, with a blue success message and some device statistics in the bottom corner. 
  4. You can change the baud rate in the bottom left hand corner, as well as the "security level" (how sensitive it is) but we suggest leaving those alone until you have everything running and you want to experiment. They should default to 57600 baud and security level 3 so set them if they're wrong.
  5. If you get an error when you Open Device, check your wiring, try swapping the RX and TX wires on the sensor, that's a common mixup!
  6. Lets enroll a new finger! Click the Preview checkbox and press the Enroll button next to it (Con Enrollmeans 'Continuous' enroll, which you may want to do if you have many fingers to enroll). When the box comes up, enter in the ID # you want to use. You can use up to 162 ID numbers.
  7. The software will ask you to press the finger to the sensor.
  8. You can then see a preview (if you cliecked the preview checkbox) of the fingerprint.
  9. You will then have to repeat the process, to get a second clean print. Use the same finger!
  10. On success you will get a notice. If there's a problem such as a bad print or image, you'll have to do it again.

 

2. Finding a Match

2.1 Using Arduino Uno hardware serial

Once you have the finger enrolled, it's a good idea to do a quick test to make sure it can be found in the database.

  1. Do wiring.
  2. Open Arduino IDE.
  3. Plug your Adruino Uno board into your PC and select the correct board and com port
  4. Verify and upload the blanksketch to your Adruino Uno
  5. Open the Serial Monitor at a baud rate of 9600.
  6. Start up the SFGDemo software and click Open Device from the bottom left corner. Select the COM port used by the Arduino.
  7. Press OK when done. You should see the following, with a blue success message and some device statistics in the bottom corner. 
  8. You can change the baud rate in the bottom left hand corner, as well as the "security level" (how sensitive it is) but we suggest leaving those alone until you have everything running and you want to experiment. They should default to 57600 baud and security level 3 so set them if they're wrong.
  9. If you get an error when you Open Device, check your wiring, try swapping the RX and TX wires on the sensor, that's a common mixup!
  10. Click on the Search button on the right hand side.
  11. When prompted, press a different/same finger to the sensor.
  12. If it is the same finger, you should get a match with the ID #.
  13. If it is not a finger in the database, you will get a failure notice.

2.2 Using Arduino software serial

  1. Do wiring.
  2. Open Arduino IDE.
  3. Plug your Adruino Uno board into your PC and select the correct board and com port
  4. Verify and upload the fingerprintsketch to your Adruino Uno
  5. Open the Serial Monitor at a baud rate of 9600.
  6. You now should have several fingerprints saved on different IDs. 
  7. You should see the following message:
  8. Place the finger to be identified on the scan.
  9. You can see the ID that matches the fingerprint. It also shows the confidence – the higher the confidence, the similar the fingerprint is with the stored fingerprint.

2.3 Using the USB to TTL converter

Once you have the finger enrolled, it's a good idea to do a quick test to make sure it can be found in the database.

  1. Do wiring.
  2. Start up the SFGDemo software and click Open Device from the bottom left corner. Select the COM port used by the Arduino.
  3. Press OK when done. You should see the following, with a blue success message and some device statistics in the bottom corner. 
  4. You can change the baud rate in the bottom left hand corner, as well as the "security level" (how sensitive it is) but we suggest leaving those alone until you have everything running and you want to experiment. They should default to 57600 baud and security level 3 so set them if they're wrong.
  5. If you get an error when you Open Device, check your wiring, try swapping the RX and TX wires on the sensor, that's a common mixup!
  6. Click on the Search button on the right hand side.
  7. When prompted, press a different/same finger to the sensor.
  8. If it is the same finger, you should get a match with the ID #.
  9. If it is not a finger in the database, you will get a failure notice.

Summary

We learnt how to connect the Fingerprint Sensor Module FPM10A to Arduino board and use it.

Library

  • All libraries attached on the begining of the project description
  • Adafruit Fingerprint Sensor library. Download, unzip  and add to libraries in our PC, for example C:\Users\toshiba\Documents\Arduino\libraries. This link you can find in Preferences of Adruino IDE program which installed in your PC. You can read more about it here.
  • SoftwareSerial library included in Arduino IDE. The library has the following known limitations:If using multiple software serial ports, only one can receive data at a time.Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).Not all pins on the Leonardo and Micro support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).On Arduino or Genuino 101 the current maximum RX speed is 57600bpsOn Arduino or Genuino 101 RX doesn't work on Pin 13 The library has the following known limitations: If using multiple software serial ports, only one can receive data at a time;Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69);Not all pins on the Leonardo and Micro support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI);On Arduino or Genuino 101 the current maximum RX speed is 57600bps; On Arduino or Genuino 101 RX doesn't work on Pin 13. You can read about it here.

Sketch

  • See attachments on the begining of this project


Other projects of Lex C
Easy Basics: Project 057a ACR122U NFC Reader of Lex C, Not selected 17-01-2018

« Go back to category
Is this project fake? Report it!   
Recommend to a friend
Published at 15-01-2018
Viewed: 3147 times