Adafruit fingerprint sensor signatures

EL Wire/Tape/Panels, LEDs, pixels and strips, LCDs and TFTs, etc products from Adafruit

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
dkanday
 
Posts: 60
Joined: Mon Jun 07, 2021 4:49 pm

Adafruit fingerprint sensor signatures

Post by dkanday »

Hi,
I am using Arduino MKR1500 with the adafruit fingerprint sensor
I have a couple of questions about the adafruit fingerprint sensor:

1. are the fingerprints locally stored on the fingerprint sensor?
2. How many bytes does storing a fingerprint sensor require?
3. Is there a way I could get the fingerprint signatures and store it in the Arduino?
4. is there a way I could pull the fingerprint signatures from the sensor and send it over to the cloud using NB-IoT?

Any help is greatly appreciated.
Thanks!

User avatar
mikeysklar
 
Posts: 13824
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit fingerprint sensor signatures

Post by mikeysklar »

The fingerprint sensor (product id#751) stores the fingerprints in flash. I believe it comes to 534 bytes per print if I am reading the manual correctly.

There are some details around your area of interest on page 10 of the user manual.

https://cdn-shop.adafruit.com/datasheet ... ualV15.pdf

Code: Select all

4.3 Fingerprint 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.

Code: Select all

4.2 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.
4.2.1 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.
4.2.2 Character file buffer
Character file buffer, CharBuffer1, CharBuffer2, can be used to store both character file and template file.
We have a pretty extensive thread on people trying to copy off the fingerprint to their own DB. It is actually the longest thread I have ever seen in the forums and at the end there looks like some working code was dropped in:

viewtopic.php?f=22&t=33229

User avatar
dkanday
 
Posts: 60
Joined: Mon Jun 07, 2021 4:49 pm

Re: Adafruit fingerprint sensor signatures

Post by dkanday »

Thanks mikeysklar!

User avatar
dkanday
 
Posts: 60
Joined: Mon Jun 07, 2021 4:49 pm

Re: Adafruit fingerprint sensor signatures

Post by dkanday »

Can some one please explain what does this piece of code do. I am trying to modify it for my project:

Code: Select all

  uint8_t fingerTemplate[512]; // the real template
  memset(fingerTemplate, 0xff, 512);


  // filtering only the data packets
  int uindx = 9, index = 0;
  while (index < 534) {
    while (index < uindx) ++index;
    uindx += 256;
    while (index < uindx) {
      fingerTemplate[index++] = bytesReceived[index];
    }
    uindx += 2;
    while (index < uindx) ++index;
    uindx = index + 9;
  }
  for (int i = 0; i < 512; ++i) {
    //Serial.print("0x");
    printHex(fingerTemplate[i], 2);
    //Serial.print(", ");
  }
  Serial.println("\ndone.");
}

//print the fingerprint template
void printHex(int num, int precision) {
  char tmp[16];
  char format[128];

  sprintf(format, "%%.%dX", precision);

  sprintf(tmp, format, num);
  Serial.print(tmp);

Locked
Please be positive and constructive with your questions and comments.

Return to “Glowy things (LCD, LED, TFT, EL) purchased at Adafruit”