Giter Club home page Giter Club logo

adafruit-fingerprint-sensor-library's Introduction

Adafruit-Fingerprint-Sensor-Library Build StatusDocumentation

Secure your project with biometrics - this all-in-one optical fingerprint sensor will make adding fingerprint detection and verification super simple. These modules are typically used in safes - there's a high powered DSP chip that does the image rendering, calculation, feature-finding and searching. 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 up during a photo so you know its working.

The Rugged Panel Mount Fingerprint Sensor with Bi-Color LED Ring even has an LED ring built around the detection pad, which can be set to red, blue or purple (as well as some fading/blinking effects) for a great user experience.

Designed specifically to work with the Adafruit Fingerprint sensors

Pick one up today in the adafruit shop!

These sensors use TTL Serial to communicate, 2 pins are required to interface

Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!

Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, check license.txt for more information All text above must be included in any redistribution

adafruit-fingerprint-sensor-library's People

Contributors

alexandros-kordatzakis avatar arendjan avatar bhelterline avatar caternuson avatar cycloon avatar driverblock avatar evaherrada avatar frami avatar hathach avatar kattni avatar kevinrigot avatar ladyada avatar luhad avatar miselico avatar onfreund avatar paintyourdragon avatar pyromanci avatar roelvb avatar siddacious avatar szymonkaliski avatar tavakoliali avatar tdicola avatar tyeth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adafruit-fingerprint-sensor-library's Issues

Errors that aren't FINGERPRINT_PACKETRECIEVEERR are not returned

  • Arduino board: Wemos D1 Mini Pro

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

When calling any library function, all errors are translated to FINGERPRINT_PACKETRECIEVEERR. This happens in https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library/blob/master/Adafruit_Fingerprint.cpp#L42

Does the libraray works for MSP430 TI board

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

Which serial port does esp8266 use?

I use a lot of serial ports on esp8266, but “Did not find fingerprint sensor :(”,(use usb port on computer is normal, so the sensor can work properly ), So is esp8266 supported?

Extracting template from sensor: No end EndData packet

Hi. I'm experiencing some bizarre behavior when extracting templates from the sensor. The DY50 sensor I'm using sends the template in batches of 128 bytes (packet size: 139). However after the 5th packet the reader just keeps sending packets filled with zeroes, and it never stops. The packet tag remains 0x2 and never changes to 0x8, the identifier for the end data packet.

I've thought there was a command for getting the template size for the sensor. But after going throught the datasheet it seems there is none. Are all template files for these DY50 readers 512 bytes??

Led control for R503 module

Hi.
I use this library for various finger print modules from GROW.
And I want to share a bit of code for controlling the three-color LED in module GROW R503. Manufacturer called this function as Aura Control.

FPM.h

#define FPM_AURA_CTRL_BREATHING      0x01
#define FPM_AURA_CTRL_FLASHING       0x02
#define FPM_AURA_CTRL_ALWAYS_ON      0x03
#define FPM_AURA_CTRL_ALWAYS_OFF     0x04
#define FPM_AURA_CTRL_GRADUALLY_ON   0x05
#define FPM_AURA_CTRL_GRADUALLY_OFF  0x06

#define FPM_AURA_COLOR_RED    0x01
#define FPM_AURA_COLOR_BLUE   0x02
#define FPM_AURA_COLOR_PURPLE 0x03

FPM.h

int16_t FPM::setAuraLedConfig(uint8_t ctrlCode, uint8_t speed, uint8_t color, uint8_t times) {
    buffer[0] = FPM_AURACONTROL;
    buffer[1] = ctrlCode;
    buffer[2] = speed;
    buffer[3] = color;
    buffer[4] = times;
    
    writePacket(FPM_COMMANDPACKET, buffer, 5);
    uint8_t confirm_code = 0;
    
    int16_t len = read_ack_get_response(&confirm_code);
    
    if (len < 0)
        return len;
    
    return confirm_code;
}

Usage 1

finger.setAuraLedConfig(FPM_AURA_CTRL_BREATHING, 150, FPM_AURA_COLOR_BLUE, 0);

Usage 2

finger.setAuraLedConfig(FPM_AURA_CTRL_FLASHING, 10, FPM_AURA_COLOR_RED, 10);

Best regards,
Eugene.

Problem with WEMOS D1R2, does not work with ESP32 lile LOLIN

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

Need the serial monitor data using this detection code is to get in excel sheet using plxDAQ software

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

Template comparison

I notice I could extract a fingerprint's template from the library. I wonder whether there is anyway to upload the template to my server where I can compute the matching score.

(As the FP sensor could store a limited number of fingerprints, I plan to keep a database for all the templates on the server instead. The issue now is how to match a template at the server.)

Algorithm in fingerprint matching module

Hello. Could someone please guide as to what is the fingerprint matching algorithm used in the fingerprint module. What are the steps that occur when fingerprints are matched? Thank you in advance.

MKR1000 with Fingerprint Sensor

I want to connect my fingerprint device with MKR1000. with hardware serial pin13-RX and 14-TX

As I connect this fingerprint device with arduino MICRO .With this sketch, It working with Hardware serial. In this sketch some instruction how to connect with micro hardware serial its working fine .

Then i try to upload this sketch with my new MKR1000 module . i remove some line from main sketch those are.
#include <SoftwareSerial.h> // pin #2 is IN from sensor (GREEN wire) // pin #3 is OUT from arduino (WHITE wire) SoftwareSerial mySerial(2, 3); Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
and enter those line for micro and also MKR1000
//On Leonardo/Micro or others with hardware serial, use those! #0 is green wire, #1 is white Adafruit_Fingerprint finger = Adafruit_Fingerprint(&Serial1);

Doing those step its successfully upload to micro .. but its return some error with MKR100

Adafruit_Fingerprint.h file and Adafruit_Fingerprint.cpp file have this softwareserial #include <SoftwareSerial.h>
and more related file for connecting software serial connection , for this there is uploading error.

Build options changed, rebuilding all
In file included from C:\Users\sony\Documents\Arduino\Adafruit-Fingerprint-Sensor-Library-master\examples\fingerprint\fingerprint.ino:18:0:
C:\Users\sony\Documents\Arduino\libraries\Adafruit-Fingerprint-Sensor-Library/Adafruit_Fingerprint.h:18:28: fatal error: SoftwareSerial.h: No such file or directory
#include <SoftwareSerial.h>
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino MKR1000.

those error come at compile time ..
Thank u

Enroll Finger print creates issues; Adafruit Library

  1. I am using Uno, finger print module & Adafruit library.

  2. With using all the library all the function works ok, like delete, scan but i have some issues in Enroll function.

  3. Enroll function is below, it is same, except some minor changes & I had a small key_read function, in case user wants to exit. key_read is small non-blocking function, read a variable only, which get set/reset in ISR only, so minimal code there.

  4. Problem is :
    a) When first scan is done, it is ok.
    b) next it ask for remove finger & place again.
    c) now doing that & place finger again, code many times gives finger mismatch.
    d) 9 out of 10 times it is giving mismatch . Although I am doing the same way every-time.

  5. Same happens if I use En-roll example from Adafruit also.

  6. What could be the error?

  7. One possible error I think in Adafruit library there is variable "confidence", which check the matching level of both. Might be it is set to very high value, but in library I didn't find where to set it low.

In Enroll function, it causes problem in createmodel function , it reurns mismatch.

`
uint8_t add_fingerprint_id(uint16_t id , uint8_t *r_key)
{
uint8_t point = 255U;
uint8_t key = no_key;
uint8_t breakloop;
uint8_t next = 0U;

lcd.setCursor(0 , 3);   
lcd_string_const(add_place_str); 
serial_string_nl_const(add_place_str);     

/* clear key vars */
clear_key_vars();

breakloop = 0U;
while(0U == breakloop)
{
    point = finger.getImage();
    switch(point) 
    {
        case FINGERPRINT_OK:
            lcd.setCursor(0 , 3); 
            lcd_string_const(add_taken_str); 
            serial_string_nl_const(add_taken_str);
            breakloop = 1U;
        break;

        case FINGERPRINT_NOFINGER:
            lcd.setCursor(0 , 3); 
            lcd_string_const(add_no_finger_str);
            serial_string_nl_const(add_no_finger_str);
        break;

        case FINGERPRINT_PACKETRECIEVEERR:
            lcd.setCursor(0 , 3); 
            lcd_string_const(add_comm_err_str);
            serial_string_nl_const(add_comm_err_str);
        break;

        case FINGERPRINT_IMAGEFAIL:
            lcd.setCursor(0 , 3); 
            lcd_string_const(add_image_err_str);
            serial_string_nl_const(add_image_err_str);
        break;

        default:
            lcd.setCursor(0 , 3); 
            lcd_string_const(add_unknown_err_str);
            serial_string_nl_const(add_unknown_err_str);
        break;
    }   

/* read the key */
    key = key_read();
    if(EXIT_KEY == key)
    {
        breakloop = 1U; 
        next = 1U;          
    }        
}

if(0U == next)
{
    lcd.setCursor(0 , 3);
    breakloop = 0U;       

    point = finger.image2Tz(1);
    switch(point) 
    {
        case FINGERPRINT_OK:
            lcd_string_const(add_image_conv_str); 
            serial_string_nl_const(add_image_conv_str);
            breakloop = 1U;
        break;

        case FINGERPRINT_IMAGEMESS:
            lcd_string_const(add_image_messy_str);
            serial_string_nl_const(add_image_messy_str);
            next = 1U;
        break;

        case FINGERPRINT_PACKETRECIEVEERR:
            lcd_string_const(add_comm_err_str);
            serial_string_nl_const(add_comm_err_str);
            next = 1U;
        break;

        case FINGERPRINT_FEATUREFAIL:
            lcd_string_const(add_no_feature_str);
            serial_string_nl_const(add_no_feature_str);
            next = 1U;
        break;

        case FINGERPRINT_INVALIDIMAGE:
            lcd_string_const(add_no_feature_str);
            serial_string_nl_const(add_no_feature_str);
            next = 1U;
        break;

        default:
            lcd_string_const(add_unknown_err_str);
            serial_string_nl_const(add_unknown_err_str);
            next = 1U;
        break;

    }
           

/* read the key */
    key = key_read();
    if(EXIT_KEY == key)
    {
        breakloop = 1U; 
        next = 1U;          
    }        

}

if(0U == next)
{
    lcd.setCursor(0 , 3);  
    lcd_string_const(add_remove_str);
    serial_string_nl_const(add_remove_str);     
    delay(2000);
    point = 0U;

    breakloop = 0U;       
    while(0U == breakloop)
    {
        point = finger.getImage();
        if(FINGERPRINT_NOFINGER == point)
        {
            breakloop = 1U;  
        }

    /* read the key */
        key = key_read();
        if(EXIT_KEY == key)
        {
            breakloop = 1U; 
            next = 1U;          
        }        
    }
    
}

if(0U == next)
{
    lcd.setCursor(0 , 3);  
    lcd_string_const(add_again_str);
    serial_string_nl_const(add_again_str);     
    point = 255U;
  
    lcd.setCursor(0 , 3);
    breakloop = 0U;       
    while(0U == breakloop)
    {
        point = finger.getImage();
        switch(point) 
        {
            case FINGERPRINT_OK:
                lcd.setCursor(0 , 3);
                lcd_string_const(add_taken_str); 
                serial_string_nl_const(add_taken_str);
                breakloop = 1U;
            break;

            case FINGERPRINT_NOFINGER:
                lcd.setCursor(0 , 3);
                lcd_string_const(add_no_finger_str);
                serial_string_nl_const(add_no_finger_str);
            break;

            case FINGERPRINT_PACKETRECIEVEERR:
                lcd.setCursor(0 , 3);
                lcd_string_const(add_comm_err_str);
                serial_string_nl_const(add_comm_err_str);
            break;

            case FINGERPRINT_IMAGEFAIL:
                lcd.setCursor(0 , 3);
                lcd_string_const(add_image_err_str);
                serial_string_nl_const(add_image_err_str);
            break;

            default:
                lcd.setCursor(0 , 3);
                lcd_string_const(add_unknown_err_str);
                serial_string_nl_const(add_unknown_err_str);
            break;
        }   

    /* read the key */
        key = key_read();
        if(EXIT_KEY == key)
        {
            breakloop = 1U; 
            next = 1U;          
        }        
    }
}    


if(0U == next)
{
    lcd.setCursor(0 , 3);
    breakloop = 0U;       

    point = finger.image2Tz(2);
    switch(point) 
    {
        case FINGERPRINT_OK:
            lcd_string_const(add_image_conv_str); 
            serial_string_nl_const(add_image_conv_str);
            breakloop = 1U;
        break;

        case FINGERPRINT_IMAGEMESS:
            lcd_string_const(add_image_messy_str);
            serial_string_nl_const(add_image_messy_str);
            next = 1U;
        break;

        case FINGERPRINT_PACKETRECIEVEERR:
            lcd_string_const(add_comm_err_str);
            serial_string_nl_const(add_comm_err_str);
            next = 1U;
        break;

        case FINGERPRINT_FEATUREFAIL:
            lcd_string_const(add_no_feature_str);
            serial_string_nl_const(add_no_feature_str);
            next = 1U;
        break;

        case FINGERPRINT_INVALIDIMAGE:
            lcd_string_const(add_no_feature_str);
            serial_string_nl_const(add_no_feature_str);
            next = 1U;
        break;

        default:
            lcd_string_const(add_unknown_err_str);
            serial_string_nl_const(add_unknown_err_str);
            next = 1U;
        break;

    }
           

/* read the key */
    key = key_read();
    if(EXIT_KEY == key)
    {
        breakloop = 1U; 
        next = 1U;          
    }        

}


if(0U == next)
{
    lcd.setCursor(0 , 3);  
    lcd_string_const(add_create_str);
    serial_string_nl_const(add_create_str);     
    lcd.setCursor(0 , 3);

    point = finger.createModel();
    if(FINGERPRINT_OK == point)
    {
        lcd_string_const(add_match_str);
        serial_string_nl_const(add_match_str);             
    }
    else if(FINGERPRINT_PACKETRECIEVEERR == point)
    {
        lcd_string_const(add_comm_err_str);
        serial_string_nl_const(add_comm_err_str);
        next = 1U;             
    }
    else if(FINGERPRINT_ENROLLMISMATCH == point)
    {
        lcd_string_const(add_mismatch_str);
        serial_string_nl_const(add_mismatch_str); 
        next = 1U;            
    }
    else
    {
        lcd_string_const(add_unknown_err_str);
        serial_string_nl_const(add_unknown_err_str);
        next = 1U;        
    }

/* read the key */
    key = key_read();
    if(EXIT_KEY == key)
    {
        breakloop = 1U; 
        next = 1U;          
    }                
}


if(0U == next)
{  
    lcd.setCursor(0 , 3);

    point = finger.storeModel(id);
    if(FINGERPRINT_OK == point)
    {
        lcd_string_const(add_store_str);
        serial_string_nl_const(add_store_str);             
    }
    else if(FINGERPRINT_PACKETRECIEVEERR == point)
    {
        lcd_string_const(add_comm_err_str);
        serial_string_nl_const(add_comm_err_str);
        next = 1U;             
    }
    else if(FINGERPRINT_BADLOCATION == point)
    {
        lcd_string_const(add_not_store_str);
        serial_string_nl_const(add_not_store_str); 
        next = 1U;            
    }
    else if(FINGERPRINT_FLASHERR == point)
    {
        lcd_string_const(add_flash_err_str);
        serial_string_nl_const(add_flash_err_str); 
        next = 1U;            
    }
    else
    {
        lcd_string_const(add_unknown_err_str);
        serial_string_nl_const(add_unknown_err_str);
        next = 1U;        
    }

/* read the key */
    key = key_read();
    if(EXIT_KEY == key)
    {
        breakloop = 1U; 
        next = 1U;          
    }                
}      



if(EXIT_KEY == key)
{
    *r_key = EXIT_KEY;  
}   
else
{
    *r_key = no_key;        
}

delay(2000);

return point;

} /* function ends here */
`

Add R503 to TFM

The link from here: [https://www.adafruit.com/product/4651] points to this library.

Nowhere in the README does it state compatibility--only the older sensor. Please add / update!

fingerprint sketch

When using the fingerprint sketch, there's no serial output on using getFingerprintID. Also when using getFingerprintIDez unknown error is presented.

Any assistance will be much appreciated.

IDE version 1.8.12

Waiting for valid finger to enroll as #1 later Communication error

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

unknown error

on enrolling process ,after scanning finger print ,an unknown error occurs,plz help me to rectify it,i will be happy if i get suggestions on some common unknown error..

Function to send templates from your controller to the sensor

uint8_t Adafruit_Fingerprint::downloadModel(uint16_t id, uint8_t packet_1[], uint8_t packet_2[], uint8_t slot) {
  uint8_t packet[] = {FINGERPRINT_DOWNLOAD, slot};
  writePacket(theAddress, FINGERPRINT_COMMANDPACKET, sizeof(packet)+2, packet);
  uint8_t len = getReply(recvPacket);
  
  if ((len != 1) && (recvPacket[0] != FINGERPRINT_ACKPACKET))
   return -1;
  if (recvPacket[1] == 0x00) {
    writePacket(theAddress, FINGERPRINT_DATAPACKET, 130, packet_1);
    writePacket(theAddress, FINGERPRINT_DATAPACKET, 130, packet_2);
    return recvPacket[1];
  } else {
    return recvPacket[1];
  }
}

I made this with the latest version of the code. I need to put templates back to the sensor when I free the memory. The documention of the sensor says it's allowed, but not implemented in the library. This does not work, it will be fine to improve the library.

hello, Is adafruit sensor library works R503 sensor module?. While trying to uisng the adafruit library, enrolling works perfectly but at the detection stage showing some error. at the time of matching it shows r unknown error in the serial monitor.If any one have the working R503 sensor module code please forward it.

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

Issues with Using the scanner with Hardware serial

Hello. I am using the fingerprint sensor with TI's Msp430. Although I have managed to port library, It require to use hardware serial. Is there an example code, like enroll, exclusively for hardware serial? I can't really understand the hardware serial commented part's purpose from existing examples. Probably the code for interfacing with Leo, micro will be great as reference. Thanks.

Is not working with Arduino IDE 1.6.13! But with Arduino IDE 1.6.7 :)=

I was wondering why the fingersensor is not working. It was working the past years.

After searching for hours... and testing... and thinking... and testing... I found the reason why.

The Arduino IDE 1.6.13 has one issue with arrays.

If i use ... byte[] arr

for(i=0;i<5;i++) Serial.print(arr[i]);

all is working fine. But...

byte test = arr[1]; .... then I will get wrong values. maybe a false memory access from the compiler?

With Arduino IDE 1.6.7 .... all is working fine :)

Scanning and Enroll together => crash

Hi,

I have some troubles to get running my sketch. There should be two modes for the fingerprint scanner, one is called "SCAN_ACTIVE", the other mode is called "ENROLL".
Simply I switch the mode over Serial (actually over IDE console), but If I use finger.getImage(); in the other function, it crashes/reboots my Arduino Nano v3.0 (ATmega238) instantly.

If I only have getFingerprintEnroll(id) have enabled, it crashes (i don't need to switch the mode from SCAN_ACTIVE to ENROLL), I absolutely have no idea why...

My code:


/*************************************************** 
  This is an example sketch for our optical Fingerprint sensor

  Designed specifically to work with the Adafruit BMP085 Breakout 
  ----> http://www.adafruit.com/products/751

  These displays use TTL Serial to communicate, 2 pins are required to 
  interface
  Adafruit invests time and resources providing this open source code, 
  please support Adafruit and open-source hardware by purchasing 
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution
 ****************************************************/


#include <Adafruit_Fingerprint.h>
#include <Timer.h>


int getFingerprintIDez();

String mode;
String content = "";
int id = 0;
int val;
// pin #2 is IN from sensor (GREEN wire)
// pin #3 is OUT from arduino  (WHITE wire)
SoftwareSerial fingerprint(2, 3);

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&fingerprint);
Timer t;

void setup()  
{
  while (!Serial);  // For Yun/Leo/Micro/Zero/...
  
  Serial.begin(9600);
  finger.begin(9600);
  Serial.println("Adafruit finger detect test\n");

  // set the data rate for the sensor serial port
  finger.begin(57600);
  
  if (finger.verifyPassword()) {
    Serial.println("Found fingerprint sensor!!");
  } else {
    Serial.println("Did not find fingerprint sensor :(");
    while (1);
  }
  mode = "SCAN_ACTIVE";
  Serial.print(mode+"\n");
  int tickEvent1 = t.every(0, listenWemos);
  int tickEvent2 = t.every(0, listenFP);
}

void listenWemos() {
  while (Serial.available() > 0) {
    mode = Serial.readStringUntil('\n');
    val = Serial.parseInt();
    Serial.print("Received:" + mode+ ":"+val+"\n");
  }
}

void listenFP() {
  if(mode == "SCAN_ACTIVE") {
    id = getFingerprintIDez();
    if(id > 0) {
      Serial.print(mode + "\n");
      Serial.print(id);
      id = 0;
    }
  } else if(mode == "ENROLL") {
    Serial.println("Ready to enroll a fingerprint! Please Type in the ID # you want to save this finger as...");
    id = readnumber();
    Serial.print("Enrolling ID #");
    Serial.println(id);
    
    while (!  getFingerprintEnroll(id) );
  }
}

void loop()
{
  t.update();

}

// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
  uint8_t p = finger.getImage();
  if (p != FINGERPRINT_OK)  return -1;

  p = finger.image2Tz();
  if (p != FINGERPRINT_OK)  return -1;

  p = finger.fingerFastSearch();
  if (p != FINGERPRINT_OK)  return -1;
  return finger.fingerID; 
}



// ENROLL

uint8_t readnumber(void) {
  uint8_t num = 0;
  boolean validnum = false; 
  while (1) {
    while (! Serial.available());
    char c = Serial.read();
    if (isdigit(c)) {
       num *= 10;
       num += c - '0';
       validnum = true;
    } else if (validnum) {
      return num;
    }
  }
}

uint8_t getFingerprintEnroll(int id) {

  int p = -1;
  Serial.print("Waiting for valid finger to enroll as #"); Serial.println(id);
  while (p != FINGERPRINT_OK) {
    p = finger.getImage();
    switch (p) {
    case FINGERPRINT_OK:
      Serial.println("Image taken");
      break;
    case FINGERPRINT_NOFINGER:
      Serial.println(".");
      break;
    case FINGERPRINT_PACKETRECIEVEERR:
      Serial.println("Communication error");
      break;
    case FINGERPRINT_IMAGEFAIL:
      Serial.println("Imaging error");
      break;
    default:
      Serial.println("Unknown error");
      break;
    }
  }

  // OK success!

  p = finger.image2Tz(1);
  switch (p) {
    case FINGERPRINT_OK:
      Serial.println("Image converted");
      break;
    case FINGERPRINT_IMAGEMESS:
      Serial.println("Image too messy");
      return p;
    case FINGERPRINT_PACKETRECIEVEERR:
      Serial.println("Communication error");
      return p;
    case FINGERPRINT_FEATUREFAIL:
      Serial.println("Could not find fingerprint features");
      return p;
    case FINGERPRINT_INVALIDIMAGE:
      Serial.println("Could not find fingerprint features");
      return p;
    default:
      Serial.println("Unknown error");
      return p;
  }
  
  Serial.println("Remove finger");
  delay(2000);
  p = 0;
  while (p != FINGERPRINT_NOFINGER) {
    p = finger.getImage();
  }
  Serial.print("ID "); Serial.println(id);
  p = -1;
  Serial.println("Place same finger again");
  while (p != FINGERPRINT_OK) {
    p = finger.getImage();
    switch (p) {
    case FINGERPRINT_OK:
      Serial.println("Image taken");
      break;
    case FINGERPRINT_NOFINGER:
      Serial.print(".");
      break;
    case FINGERPRINT_PACKETRECIEVEERR:
      Serial.println("Communication error");
      break;
    case FINGERPRINT_IMAGEFAIL:
      Serial.println("Imaging error");
      break;
    default:
      Serial.println("Unknown error");
      break;
    }
  }

  // OK success!

  p = finger.image2Tz(2);
  switch (p) {
    case FINGERPRINT_OK:
      Serial.println("Image converted");
      break;
    case FINGERPRINT_IMAGEMESS:
      Serial.println("Image too messy");
      return p;
    case FINGERPRINT_PACKETRECIEVEERR:
      Serial.println("Communication error");
      return p;
    case FINGERPRINT_FEATUREFAIL:
      Serial.println("Could not find fingerprint features");
      return p;
    case FINGERPRINT_INVALIDIMAGE:
      Serial.println("Could not find fingerprint features");
      return p;
    default:
      Serial.println("Unknown error");
      return p;
  }
  
  // OK converted!
  Serial.print("Creating model for #");  Serial.println(id);
  
  p = finger.createModel();
  if (p == FINGERPRINT_OK) {
    Serial.println("Prints matched!");
  } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
    Serial.println("Communication error");
    return p;
  } else if (p == FINGERPRINT_ENROLLMISMATCH) {
    Serial.println("Fingerprints did not match");
    return p;
  } else {
    Serial.println("Unknown error");
    return p;
  }   
  
  Serial.print("ID "); Serial.println(id);
  p = finger.storeModel(id);
  if (p == FINGERPRINT_OK) {
    Serial.println("Stored!");
  } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
    Serial.println("Communication error");
    return p;
  } else if (p == FINGERPRINT_BADLOCATION) {
    Serial.println("Could not store in that location");
    return p;
  } else if (p == FINGERPRINT_FLASHERR) {
    Serial.println("Error writing to flash");
    return p;
  } else {
    Serial.println("Unknown error");
    return p;
  }   
}

The whole is a combination of
https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library/blob/master/examples/fingerprint/fingerprint.ino
and
https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library/blob/master/examples/enroll/enroll.ino

I hope someone can help me!

Need the serial monitor data using this detection code is to get in excel sheet using plxDAQ software

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

when this library is added to eclipse IDE,i am getting a error "Multiple makers at this line,redefinition of class Adafruit_Fingerprint,previous definition of cass Adafruit_fingerprint".path are builded correctly as done always .what is solution to this error"

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

cannot get the hex template from the sensor flash memory to arduino

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

I haven't been able to create a fingerprint library on my mac using the downloadable software or the online editor. The downloadable software does not recognize the board. The online software does but I get an error message saying there is no matching fuction

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

Search and match storage capacity of 1000 biometrics

For a project I am using SEN0188 sensor, which has superior storage capacity when compared to the standard models, modifying the examples of the library it was easy to register the biometrics (enroll.ino).

However, I can not do the quick search on the sensor bank (fingerprint.ino) , only the ids below something close to 162. are recognized. The display of the templates (show_fingerprint_templates.ino) works normally.

The question that is how to fix the quick search (fingerFastSearch) to read and match with all the saved images in the bank?

Biometric Sensor: (https://www.dfrobot.com/wiki/index.php/SEN0188_Fingerprint)

After i enroll it does not detect finger reader

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

Changing the password isn't working.

I had no problem after uploading 'changepassword' example. However, if I change Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); to
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial, 1337);

It says that it prints 'Did not find fingerprint sensor :('

fingerprint did not match in R307 arduino.First time it is asking for finger and second timewhen we place same finger it is rising an error statement i.e "Finger print did not match"

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

compile instructions

Forgive me but I don't see a make file. How do I compile it, what are its dependencies?

Minor "fingerprint.ino" tweak for better UI and troubleshooting

Not exactly an issue, rather than a minor tweak for better UI and easier troubleshooting. When runing the example "fingerprint", when there are no fingerprints stored it still says the same message as when there are 1-XXX saved ID's. I wrote this code so that when there are no data stored (0 Finger ID's) it displays the message:
Sensor doesn't contain any fingerprint data. Please run the 'enroll' example..
Just for better UI and easier troubleshooting...

Here is the code:

`finger.getTemplateCount();            //  EDIT FROM HERE:

if (finger.templateCount == 0) {
Serial.print("Sensor doesn't contain any fingerprint data. Please run the 'enroll' example.");
} 
else {
   Serial.println("Waiting for valid finger...");
   Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates");
}`

it's from line 49, for the finger.getTemplateCount();

Edited fingerprint.ino file: https://hastebin.com/bizotababe.cpp

Thank you.

Enrolling works, detection not

Enrolling fingerprints work. Once I try do detect one, I get a communication error.
I would appreciate your help.

15:06:10.474 -> Adafruit finger detect test
<- 0xEF
15:06:11.476 -> <- 0x1
15:06:11.476 -> <- 0xFF
15:06:11.476 -> <- 0xFF
15:06:11.511 -> <- 0xFF
15:06:11.511 -> <- 0xFF
15:06:11.511 -> <- 0x7
15:06:11.511 -> <- 0x0
15:06:11.545 -> <- 0x3
15:06:11.545 -> <- 0x0
15:06:11.545 -> <- 0x0
15:06:11.545 -> <- 0xA
15:06:11.579 -> Found fingerprint sensor!
<- 0xEF
15:06:11.616 -> <- 0x1
15:06:11.616 -> <- 0xFF
15:06:11.616 -> <- 0xFF
15:06:11.650 -> <- 0xFF
15:06:11.650 -> <- 0xFF
15:06:11.650 -> <- 0x7
15:06:11.650 -> <- 0x0
15:06:11.683 -> <- 0x5
15:06:11.683 -> <- 0x0
15:06:11.683 -> <- 0x0
15:06:11.683 -> <- 0x1
15:06:11.717 -> <- 0x0
15:06:11.717 -> <- 0xD
15:06:11.717 -> Sensor contains 1 templates
15:06:11.753 -> Waiting for valid finger...
15:06:11.790 -> <- 0xEF
15:06:11.790 -> <- 0x1
<- 0xFF
15:06:11.823 -> <- 0xFF
15:06:11.823 -> <- 0xFF
15:06:11.823 -> <- 0xFF
15:06:11.859 -> <- 0x7
15:06:11.859 -> <- 0x0
15:06:11.859 -> <- 0x3
15:06:11.859 -> <- 0x2
15:06:11.859 -> <- 0x0
15:06:11.859 -> <- 0xC
15:06:11.859 -> No finger detected
<- 0xEF
15:06:17.425 -> <- 0x1
15:06:17.425 -> <- 0xFF
15:06:17.425 -> <- 0xFF
15:06:17.425 -> <- 0xFF
15:06:17.425 -> <- 0xFF
15:06:17.425 -> <- 0x7
15:06:17.425 -> <- 0x0
15:06:17.461 -> <- 0x3
15:06:17.461 -> <- 0x0
15:06:17.461 -> <- 0x0
15:06:17.461 -> <- 0xA
15:06:17.530 -> Image taken
<- 0xEF
15:06:17.876 -> <- 0x1
15:06:17.876 -> <- 0xFF
15:06:17.876 -> <- 0xFF
15:06:17.910 -> <- 0xFF
15:06:17.910 -> <- 0xFF
15:06:17.910 -> <- 0x7
15:06:17.910 -> <- 0x0
15:06:17.945 -> <- 0x3
15:06:17.945 -> <- 0x0
15:06:17.945 -> <- 0x0
15:06:17.945 -> <- 0xA
15:06:17.979 -> Image converted
15:06:17.979 -> <- 0xEF
15:06:17.979 -> <- 0x1
15:06:18.012 -> <- 0xFF
15:06:18.012 -> <- 0xFF
15:06:18.012 -> <- 0xFF
15:06:18.047 -> <- 0xFF
15:06:18.047 -> <- 0x1
15:06:18.047 -> <- 0x0
15:06:18.047 -> <- 0x8
15:06:18.080 -> <- 0x1B
15:06:18.080 -> <- 0x1
15:06:18.080 -> <- 0x0
15:06:18.080 -> <- 0x0
15:06:18.114 -> <- 0x0
15:06:18.114 -> <- 0xA3
15:06:18.114 -> <- 0x0
15:06:18.114 -> <- 0xC8
15:06:18.186 -> Communication error

potential segmentation fault

The size allocated by packet[] should be at least 4 bytes.

uint8_t packet[] = {FINGERPRINT_TEMPLATECOUNT};
writePacket(theAddress, FINGERPRINT_COMMANDPACKET, sizeof(packet)+2, packet);
uint8_t len = getReply(packet);

if ((len != 1) && (packet[0] != FINGERPRINT_ACKPACKET))
return -1;

** templateCount = packet[2];
templateCount <<= 8;
templateCount |= packet[3];
**
// I think this will blow up.

Issue with compile sketch with Arduino 101

Error message is:

Arduino:1.8.1 (Windows 10), Kort"Arduino/Genuino 101"

enroll:29: error: no matching function for call to 'Adafruit_Fingerprint::Adafruit_Fingerprint(SoftwareSerial*)'

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

                                                         ^

C:\Users\stfa4\AppData\Local\Temp\arduino_modified_sketch_753123\enroll.ino:29:61: note: candidates are:

In file included from C:\Users\stfa4\AppData\Local\Temp\arduino_modified_sketch_753123\enroll.ino:17:0:

C:\Users\stfa4\Desktop\Arduino\libraries\Adafruit-Fingerprint-Sensor-Library-master/Adafruit_Fingerprint.h:77:3: note: Adafruit_Fingerprint::Adafruit_Fingerprint(HardwareSerial*)

Adafruit_Fingerprint(HardwareSerial *);

^

C:\Users\stfa4\Desktop\Arduino\libraries\Adafruit-Fingerprint-Sensor-Library-master/Adafruit_Fingerprint.h:77:3: note: no known conversion for argument 1 from 'SoftwareSerial*' to 'HardwareSerial*'

C:\Users\stfa4\Desktop\Arduino\libraries\Adafruit-Fingerprint-Sensor-Library-master/Adafruit_Fingerprint.h:72:7: note: constexpr Adafruit_Fingerprint::Adafruit_Fingerprint(const Adafruit_Fingerprint&)

class Adafruit_Fingerprint {

   ^

C:\Users\stfa4\Desktop\Arduino\libraries\Adafruit-Fingerprint-Sensor-Library-master/Adafruit_Fingerprint.h:72:7: note: no known conversion for argument 1 from 'SoftwareSerial*' to 'const Adafruit_Fingerprint&'

C:\Users\stfa4\Desktop\Arduino\libraries\Adafruit-Fingerprint-Sensor-Library-master/Adafruit_Fingerprint.h:72:7: note: constexpr Adafruit_Fingerprint::Adafruit_Fingerprint(Adafruit_Fingerprint&&)

C:\Users\stfa4\Desktop\Arduino\libraries\Adafruit-Fingerprint-Sensor-Library-master/Adafruit_Fingerprint.h:72:7: note: no known conversion for argument 1 from 'SoftwareSerial*' to 'Adafruit_Fingerprint&&'

C:\Users\stfa4\AppData\Local\Temp\arduino_modified_sketch_753123\enroll.ino: In function 'uint8_t getFingerprintEnroll()':

C:\Users\stfa4\AppData\Local\Temp\arduino_modified_sketch_753123\enroll.ino:217:1: warning: control reaches end of non-void function [-Wreturn-type]

}

^

exit status 1
no matching function for call to 'Adafruit_Fingerprint::Adafruit_Fingerprint(SoftwareSerial*)'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

onboard FLASH memory

Can we skip the onboard FLASH memory and check for fingerprint in mysqli database somewher on the internet ?

getTemplateCount always returns 0

  • Arduino board: Uno WiFi DevEd

  • Arduino IDE version (found in Arduino -> About Arduino menu): 1.8.3

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): Run enroll example sketch, then run following code:

#include <Adafruit_Fingerprint.h>

void setup() {
  Adafruit_Fingerprint f = Adafruit_Fingerprint(&SoftwareSerial(2, 3));
  f.begin(57600);
  while(!Serial);
  Serial.begin(9600);
  Serial.println(f.getTemplateCount());
}

void loop() {
  // put your main code here, to run repeatedly:

}

This always prints 0, even if there are templates stored.

Init delay

Please add a 500ms delay before the initialisation of the library in the examples. The datasheet says that the module needs 500ms after powerup to init it's TTL comunication and I've experienced that multiple times (Sensor not found :-( )
If you add the delay it works everytime =D

Adafruit finger detect test Did not find fingerprint sensor :(

Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:

  • Do not use GitHub issues for troubleshooting projects and issues. Instead use
    the forums at http://forums.adafruit.com to ask questions and troubleshoot why
    something isn't working as expected. In many cases the problem is a common issue
    that you will more quickly receive help from the forum community. GitHub issues
    are meant for known defects in the code. If you don't know if there is a defect
    in the code then start with troubleshooting on the forum first.

  • If following a tutorial or guide be sure you didn't miss a step. Carefully
    check all of the steps and commands to run have been followed. Consult the
    forum if you're unsure or have questions about steps in a guide/tutorial.

  • For Arduino projects check these very common issues to ensure they don't apply:

    • For uploading sketches or communicating with the board make sure you're using
      a USB data cable and not a USB charge-only cable. It is sometimes
      very hard to tell the difference between a data and charge cable! Try using the
      cable with other devices or swapping to another cable to confirm it is not
      the problem.

    • Be sure you are supplying adequate power to the board. Check the specs of
      your board and plug in an external power supply. In many cases just
      plugging a board into your computer is not enough to power it and other
      peripherals.

    • Double check all soldering joints and connections. Flakey connections
      cause many mysterious problems. See the guide to excellent soldering for examples of good solder joints.

    • Ensure you are using an official Arduino or Adafruit board. We can't
      guarantee a clone board will have the same functionality and work as expected
      with this code and don't support them.

If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:

  • Arduino board: INSERT ARDUINO BOARD NAME/TYPE HERE

  • Arduino IDE version (found in Arduino -> About Arduino menu): INSERT ARDUINO
    VERSION HERE

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too): LIST REPRO STEPS BELOW

Compilation error

In file included from enroll.ino:17:0:
C:\Users\Documents\Arduino\libraries\Adafruit-Fingerprint-Sensor-Library-1.1.3/Adafruit_Fingerprint.h:22:30: fatal error: SoftwareSerial.h: No such file or directory
compilation terminated.
Error compiling.

I am facing this issue .

R307 fingerprint download and upload issue

I can extract the fingerprint

FFFFFFFFFFFFFFFFFF0301471F0000FFFEFFFEFFFEF80EF00EF000E000C000C000C000C00080008000800080008000800000000000000000000000000000005F3921229A24C0C2FA3A1D4B13581349321AC184D82BD6EF01FFFFFFFF0200821D3FDB3951120D1657A5A3D63A18A2513311D3943791250F5995CACF591A22123C94A2ED3F9BE3F33C124A8A49134DEF5216CA4700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154BEF01FFFFFFFF02008203014B110000FFFEFFFEF0FEF006E002C002C0008000800080008000800080FFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000003F10A1FE59960EBE6697E17E1F9C5EDE2C9E5E7E38A05E7E2926DADE1C36C21E61BB54BE53C1553E3510231F3399C7BF45B6D73C49B9AC1C42269978419F5D8C42A302A8000000002D4CEF01FFFFFFFF0800820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008AFFFFFFFFFFFFFFFFFF

Kindly guide me how to upload the above in another finger print sensor R307

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.