Skip to content

Interfacing FPM10A (50DY) Fingerprint sensor with Arduino



         Hi, and welcome to this quick tutorial about interfacing the FPM10A or 50DY optical fingerprint sensor, it’s made by Adafruit. The module is very compact and easy to integrate in your projects especially safe locks, doors… or anything that you want to keep safe. The module has a nice chip that do the image rendering, conversion, searching… and has a flash memory where you can store the fingerprints images (templates) and it depends on the version you’re using the number of templates will variate, the one I’m using stores up to 127 image.

You can also use this module with Windows software but here we’re about Arduino for the moment.

There are few different versions, you can visually differentiate them but the connectors placement, the one I’m using has a connector on the back, there are some with connectors on the side…



For the wiring, the module pins are written on it like mine


Or check this pinout that I took from Adafruit module document





Libraries and codes:

LCD i2c Library

Download the Adafruit fingerprint sensor library here.

For the codes I’ve used are from the examples: Enroll and Fingerprint, the first one permits you to scan your fingerprints and associate them with an ID (number 1-127), upload the code and open your serial monitor then follow the steps

The second code scans your fingerprint and shows you the ID if you already enrolled it before, otherwise no response.

The code I’ve made: Download here

For the code I’ve used with the LCD i2c screen (the first two codes don’t need the LCD) it’s just a modified version of the “Fingerprint” code from the examples: to use it first you you upload the code “Enroll” and associate the fingerprints you want with their IDs and don’t forget the order then open the code I’ve made and go to line where I decalre the names it’s a String Array.


So here in the example above I enrolled the “Yassine” fingerprints as ID=1 but here in the array it’s number is 0 and if we want to use it we use:

Names[0] which is Names[(Yassine’s ID=1)-1]



That’s it, it shows you the name of the person.

Hope you like it, and if you have any problem contact me.

Yassine View All

Automation and Electrical Engineer, Electronics amateur trying to share my little projects.

9 thoughts on “Interfacing FPM10A (50DY) Fingerprint sensor with Arduino Leave a comment

  1. Can we change the fingerprint sensor without changing library / with changing library !?? How we use solenoid lock. :;

    • This library is meant to work with the FPM10A, if you change the sensor check for the library that works with it, for the solenoid lock you should add a transistor, then you control the transistor only to open or close it, I plan to do a solenoid lock soon

  2. Consulta!.
    La librería funciona para sensor de huellas DY50? y como puedo hacer que el arduino busque datos desde una base de datos MySql?

    • The FPM10A is DY50, they can have both names.
      For the Database, I don’t think, the templates are stored on the module itself, the Arduino just send requests…

Leave a Reply

%d bloggers like this: