SparkFun Forums 

Where electronics enthusiasts find answers.

For the discussion of Arduino related topics.
By Atmoz
Hello everyone,

Last week I ordered a "Fingerprint Slide Scanner" from the Sparkfun website: ... ts_id=8881
It's a very nice piece of electronics, but unfortunately there is no library for Arduino to interface it.
The test/demo program what is given in this topic: viewtopic.php?f=14&t=12432&start=75 works very well instead.
So again: thanks "AJ" for this nice tool :)

What I was wondering: is there someone who has this Finger Scanner working with Arduino?

Any help will be appreciated!!

Thanks in advance,

By MrMooCow
As the linked item is a TTL serial item, you should just be able to wire it up to the TX/RX pins and use the Arduino Serial library to communicate with it. If you use those hardware pins for communicating with a PC, there is even a software serial port library so you can use other pins.

Arduino Information:

Fingerprint Serial Infromation: ... e-2510.doc
By Atmoz
Thank you for the fast reply MrMooCow!!

It has indeed a serial (RX/TX) connection.
The Scanner works great with the demo-test tool from AJ, but I don´t get it working with my Arduino.
There are to many things that don´t work properly... I even don´t know if I have to use 1 or 2 stopbits...
With a COM-port sniffer tool I've seen that AJ uses 2 stopbits in his demo tool. At least, that's what the sniffer tells me.

I also don't know what the exact procedure is to get a fingerprint match.

I know I have to send "EF01FFFFFFFF010003010005" to ask for a 1:N Match, and that the module response with "EF01FFFFFFFF07000300000A" if user with ID 3 has matched.
But then again, I don't know how to check that long string. At this moment I use this piece of code:
Code: Select all
     while (Serial.available()) {
       delay(10);  //small delay to allow input buffer to fill

       char c =;  //gets one byte from serial buffer

       readString += c;
      } //makes the string readString

     if (readString.length() >0) {
       if (readString == 'EF01FFFFFFFF07000300000A') {      //Match ID 3

'do something with it...
So l fill a string and after that I check if it's exactly the string what it has to be when user 3 matched.

But unfortunately this doesn't work either...

With kind regards,