Adafruit fingerprint find matches that not enrolled

I’m facing an error with the Adafruit R305 fingerprint sensor.

I’m making a voting machine that starts with scan a valid finger that enrolled previously. After finding a valid match the code permits the voter to put a vote. Then putting a vote by pressing some buttons, the voter needs to scan finger again to complete the vote.

The problem is, the code getting unknown fingerprint and allows anyone to put a vote even that finger is not enrolled. Means if any other person put a finger on the sensor that was not enrolled before, the code still returns a valid ID (randomly) those are enrolled before.

Note: I’m not an expert in Arduino platform. My code took 1088 lines for this program! So putting the entire code here should not be a good idea! But if anyone needs to see the code please go to this link. I’ve uploaded it on my Google doc.

I haven't been able to enroll anything with that R305 sensor in the first place, seems you're having more success with it already. Luckily it's cheap. Too bad it's also crap.

Can you isolate the problem to either your code or the print scanner?

It could be worth asking Adafruit if there is anything wrong with their sensor.

Do the Adafruit example programs work ?

Adafruit doesn't produce the R305, it's a common made-in-China sensor. I don't know the manufacturer, I do know it's readily available all over the place and one of the cheaper scanners.

wvmarle: Adafruit doesn't produce the R305, it's a common made-in-China sensor. I don't know the manufacturer, I do know it's readily available all over the place and one of the cheaper scanners.

If Adafruit sold it, make money out of it, and it does not work, they would be the first place I would check if there were problems.

Note that false positives and false negatives are a fact of life with fingerprints, they are not nearly as perfect
a tool as crime fiction would have you believe (in fact you need several digit matches for quality information anyway, not just a single finger)…

However it seems this sensor is crap. Not unusual I’m afraid, find a reputable brand of sensor, and pay more.
The Adafruit sensor is the ZFM-20, not the R305.

Another possibility is that the device needs properly configuring to be more discriminating, and
that means you’ll need good manual or datasheet for it to figure this out. This link mentions that
it has a security level setting: http://www.rhydolabz.com/wiki/?p=15770 - so maybe the sensor can be set to be less crap.