SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By n1ist
#69235
Does the module expect ASCII (the letters "EF 01 FF") or bytes with the hex value 0xEF 0x01 0xFF? I think it is looking for bytes and it sounds like you are sending text.
/mike
By AJ
#69349
n1ist wrote:Does the module expect ASCII (the letters "EF 01 FF") or bytes with the hex value 0xEF 0x01 0xFF? I think it is looking for bytes and it sounds like you are sending text.
/mike
n1ist,

you are correct, it should be bytes
By jhh3000
#70387
Everyone, I have gotten very far with the fingerprint scanner.

I've gotten the device to scan a fingerprint, create a features document (what i assume it uses to compare prints), and download to the PC.

I have a question; does anyone have any experience reading the features document? The raw hex output looks like this:
Code: Select all
03 01 c0 1c 00 00 c0 06 c0 06 80 02 80 02 c0 02 c0 02 c0 02 c0 02 c0 02 c0 02 c0 02 c0 02 c0 02 c0 02 c0 02 c0 02 c0 06 38 54 3c 70 00 00 00 00 00 00 00 00 00 00 00 00 64 15 1b 3f 5c 0d c3 ff 1d 39 c9 7c 2a b0 0a dd 28 b6 c8 9c 4f 15 84 5c 1b a9 8e fd 66 b6 0b 5d 2d a5 10 ba 1a 87 93 da 25 a0 51 5b 37 be 1a 7b 4a ba ce 9a 5b b2 4a 5b 2c 97 d3 ba 3b 16 16 7a 47 2d 8a 39 40 43 95 78 3e 33 e2 38 52 2c ca 56 3a 43 ea f7 4e 2e e0 37 40 b6 12 15 38 b2 1f 92 38 a3 01 10 55 26 47 8f 54 a4 1b ee 4b 23 05 cd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 01 b6 21 00 00 f8 00 f8 00 f8 00 f8 00 f8 00 f8 00 f8 00 f8 00 f0 00 f0 00 f0 00 f0 00 f0 00 e0 00 e0 00 e0 00 f0 02 54 50 54 70 00 00 00 00 00 00 00 00 00 00 00 00 36 04 14 1e 37 36 8a 7c 57 13 96 9c 6b 93 84 bc 46 ad 4a fd 42 9d d1 5c 43 b5 49 1c 33 9d 90 fa 32 b0 0d 5a 38 a6 4f 5b 2e 42 9f db 72 25 08 bb 63 3a 0f 1a 4a 15 14 da 67 a2 07 58 50 bc 9b 19 2c bd 09 f8 75 35 a1 79 73 3b a2 f6 26 bc ca f6 6f bb 8c 77 55 a0 40 b6 6f 33 8b f5 4e 22 11 b5 5e 20 98 75 27 40 61 14 55 a7 86 f3 53 a8 c9 90 54 b5 de d1 56 b8 9c 71 5f ad ca 71 55 31 1f d0 57 b1 4a cf 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
I'm trying to figure out where the fingerprint features are actually located in this. This document is for two swipes. I'm trying to find a way to one-way hash the fingerprints (maybe a 128-bit code unique to each fingerprint, but reproducible.)

In any case, if anyone has had any experience with decoding this output, please let me know! If you use the program supplied with the fingerprint scanner, the output (UpModule) is written to finger.dat
By cristian
#72115
Hi,
I have an ARA-ME-01 Fingerprint Slide Scanner and I want know the command sequence to obtain a fingerprint scan and what are the characteristics of the fingerprint obtained (format), I would appreciate if you could tell me how to do it or how to find a tutorial on this.

Thanks very much.
By nwilson
#86034
Hello, I am a CPE student working on a design project for an introductory embedded systems class. This project is to employ the ARA-EM-01 module. I have been going over the spec sheet again and again while designing my software (which is to run on the Renesas M16C processor), but I remain confused as to how I am to process the information sent back to the scanner, as the documentation does not adequately explain the codes and protocol for responses and uses vague terminology in the command spec.

Based on the helpful information provided by users here, it seems that the solution is to get a logic-level converter with USB output and examine the aforementioned software along with a USB port "sniffer." If someone is willing to share a copy of this software (which I presume is closed-source) or how I should go about acquiring a copy for myself, I would greatly appreciate this, since the user Michelle L. does not seem to be active.

I bought this device to save some money versus the other options but have been wary of the documentation since the start, as I am naturally on a deadline. Hopefully my decision was not a completely foolish one. Thank you in advance, and I apologize for bumping an old thread.
By Michelle L.
#86074
nwilson:

Quite frankly, I haven't been seemingly active as I didn't subscribe to this thread earlier on, and you're the first person to post since I subscribed(since there was a sudden increase in the number of people who PMed me directly for the software).

PM me your email so I can send it to you. I always respond fast to PM since there's an email notification.
By Dniggli
#86432
I'm new working with the slide scanner. I'm looking to hook it up to an Arduino Pro board. I'm wondering if it is possible to use external storage to store fingerprints from the scanner. Any help would be great. Like I said I'm new at working with this scanner so I'm not very informed about it.
By k_man
#86746
Just got mine and am working on it.
Will post results :)

My blog will probably be updated first though
http://www.geekzone.co.nz/MrWestie


edit: Mine came dafault at 57600bps.
By Michelle L.
#86796
Seems like more and more people are getting onto the bandwagon and trying this fingerprint module out.

I've decided to post up whatever data i have on this module while typing out stuff during email exchanges from people requesting help troubleshooting the sensor, so i hope the information that follow will be of some help to anybody reading this thread as well.

Okay, first off. Checksum calculation.
To calculate the checksum, you add up the packet flag + packet length + command + any parameters.
eg:
EF01FFFFFFFF01000606010000020010
in bold = checksum
so you add this.
EF01FFFFFFFF 01 00 06 06 01 00 00 02= 0010
1 + 6 + 6 + 1 + 2 = 10 (HEX)

same goes for command and response packet checksum calculation.

Next, a serial dump from my sniffing sessions.
Here's whats going on when the software gives a TIMEOUT response.

Timeout time should be about 500ms seconds.
If i'm not wrong the software does this for 10 times. if for each time the command getimage is sent is returned with the response packet 239,1,255,255,255,255,7,0,3,2,0,12, and after 10 times, then it is a time out. You can specify your own timeout. I personally use 15 requests.

TIME OUT
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
if >10 then TIMEOUT

DURING AN ENROLMENT (CMD SIDE)
239,1,255,255,255,255,1,0,3,1,0,5,
239,1,255,255,255,255,1,0,3,1,0,5,
239,1,255,255,255,255,1,0,3,1,0,5,
239,1,255,255,255,255,1,0,3,1,0,5,
239,1,255,255,255,255,1,0,3,1,0,5,
239,1,255,255,255,255,1,0,3,1,0,5,
239,1,255,255,255,255,1,0,3,1,0,5,
239,1,255,255,255,255,1,0,4,2,0,0,7,
239,1,255,255,255,255,1,0,3,1,0,5,
239,1,255,255,255,255,1,0,3,1,0,5,
239,1,255,255,255,255,1,0,4,2,1,0,8,
239,1,255,255,255,255,1,0,3,5,0,9,
239,1,255,255,255,255,1,0,6,6,1,0,3,0,17,
enroll success id = 3
CMD

DURING AN ENROLMENT(RESPONSE)
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,0,0,10,
239,1,255,255,255,255,7,0,3,0,0,10,
239,1,255,255,255,255,7,0,3,2,0,12,
239,1,255,255,255,255,7,0,3,0,0,10,
239,1,255,255,255,255,7,0,3,0,0,10,
239,1,255,255,255,255,7,0,3,0,0,10,
239,1,255,255,255,255,7,0,3,0,0,10,
enroll success id = 3
response


Response example of a successful match


239,1,255,255,255,255,7,0,3,2,0,12,(GET IMAGE FAIL)
239,1,255,255,255,255,7,0,3,2,0,12,(GET IMAGE FAIL)
239,1,255,255,255,255,7,0,3,2,0,12,(GET IMAGE FAIL)
239,1,255,255,255,255,7,0,3,2,0,12,(GET IMAGE FAIL)
239,1,255,255,255,255,7,0,3,2,0,12,(GET IMAGE FAIL)
239,1,255,255,255,255,7,0,3,0,0,10,(GET IMAGE SUCCESS)
239,1,255,255,255,255,7,0,3,0,0,10,(GEN CHAR SUCCESS)
239,1,255,255,255,255,7,0,7,0,0,1,0,54,0,69,(MATCH SUCCESS)
MATCH SUCCESS: ID = 1 ( 2nd User, since the first user would be at ID =0)

239,1,255,255,255,255,7,0,7,0,0,0,0,59,0,73,
MATCH SUCCESS: ID = 0


These, and the other information provided by AJ should be more than sufficient to get anybody started.

Cheers
Michelle
By AJ
#87195
Hi Michelle, nice to see you back on here, it mite be an idea to get the demo software on a host somewhere and provide the link here, like you said i must have sent the file on countless times myself and only get an email alert from a PM
By lashad
#88354
Hello,

Could anybody send me the demo application
Thank you
By open.devel
#90356
Is there anyway to get raw fingerprint image from this module? Or do you have any information about its sensor aes2510 to interface an LPC microcontroller?
By tristanhanson
#92766
I have been messing around with this sensor trying to get it to respond to my commands from Hyper Terminal.

I know my logic levels are correct, because I am running the FP scanner interface through a MAX233 Uart-rs232 converter. I have measured all of the inputs and outputs using an oscilloscope, and i can see that the correct signals are entering the RX pin of the scanner.

I am sending binary files with the correct packet to erase the fingerprint library. This packet was defined earlier in this thread. I can see on the oscilloscope that the correct data is being transmitted from the PC to the scanner, but for some reason the scanner is unresponsive. I have tried every baud rate from 9600 to 115,200.

I would like to know if anyone has the demo application from the manufacturer that has been talked about in this thread? Should I consider sending this back for an exchange?

Thanks in advance.
By AJ
#92935
Dont know if youve tested with the demo app yet, but make sure the power enable is connected and that the dev address is correct
By JoeMaya
#93355
I have connected my ARA-EM01 fingerprint scanner to my using a prolific pl2303 USB to Serial convertor (male pinouts). I then supplied the fingerprint scanner with 5v clean power. I grounded both the fingerprint module and the USB to Serial convertor. Then i connected the transmit of the fingerprint scanner to the receive of the USB to Serial convertor and the receive of the the fingerprint scanner to the transmit of the USB to Serial convertor.
I received the Aratek Fingerprint test software and unfortunately it doesn’t work. When I try to open the device it reports the error “can’t open device.”
I have tried connecting at all the baud rates in the test software but I keep getting the same error.
I also tried to get it to work in hyper terminal but it returns symbols (garbage) when it is reset. (Because it returns hex characters and the hyper terminal can only display ascii characters)
I was able to use python to send and read some hex characters when it was reset but there was still garbage since it does not match the response we’re expecting.
If I power-cycle the fingerprint, I get a few hex arrive at the serial port. 0xFF 0xFF 0xFF 0x00 and when we initialize the serial we get 0x00 0x00.
This is the code I wrote in python:
#!/usr/bin/env python
import serial
ser = serial.Serial('/dev/ttyUSB2',115200,timeout=.10,parity=serial.PARITY_NONE,bytesize=serial.EIGHTBITS,stopbits=serial.STOPBITS_ONE,xonxoff=0,rtscts=0);
a = ser.inWaiting();
c = ser.read(a);
print c;
ser.write(chr(239)+chr(1)+chr(255)+chr(255)+chr(255)+chr(255)+chr(1)+chr(0)+chr(3)+chr(15)+chr(0)+chr(19));
b = ser.inWaiting();
c = ser.read(b);
print c;

Is my timeout okay?
Michelle and AJ, is there anything I’m doing wrong.
Jhh3000 could you share how you connected your device.
Thank you
  • 1
  • 2
  • 3
  • 4
  • 5
  • 9