avatar

bboyho

Member Since: August 22, 2011

Country: United States

Profile

Bio

Engineer by day, bboy by night.

Organizations

Delta Chi Fraternity Inc. Worm Tank Crew

Universities

Electrical & Computer Engineering, Dec. 2011 College of Engineering and Applied Science University of Colorado at Boulder

Websites

https://sites.google.com/site/bcelement/home https://www.facebook.com/bboyho

  • There was a customer that had an issue on their Ubuntu Linux preventing them from accessing the enumerated port when a Pro Micro was connected. There is a fix by configurating some settings. Check below for more information:

    “On Ubuntu Linux, the modem manager was grabbing the Pro Micro as soon as it was plugged in, preventing anything else, such as the Arduino IDE from being able to open the port. This is apparently a known issue, but I had to go search it down, as there is no mention of it here…

    Fix:

    sudo echo 'ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1"' > /etc/udev/rules.d/77-arduino.rules
    

    I found the explanation and fix on http://starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with-arduino-leonardo-eth/"

  • The serialEvent() function is not compatible with the Esplora, Leonardo, or Micro” that uses the Atmega32U4 https://www.arduino.cc/en/Reference/SerialEvent.

    Customer was able to resolve this by using the serialEventRun(). For more information, try looking through this forum that helped the customer resolve the issue => https://forum.sparkfun.com/viewtopic.php?f=14&t=41515.

  • The serialEvent() function is not compatible with the Esplora, Leonardo, or Micro” that uses the Atmega32U4 https://www.arduino.cc/en/Reference/SerialEvent.

    Customer was able to resolve this by using the serialEventRun(). For more information, try looking through this forum that helped the customer resolve the issue => https://forum.sparkfun.com/viewtopic.php?f=14&t=41515.

  • The serialEvent() function is not compatible with the Esplora, Leonardo, or Micro” that uses the Atmega32U4 https://www.arduino.cc/en/Reference/SerialEvent.

    Customer was able to resolve this by using the serialEventRun(). For more information, try looking through this forum that helped the customer resolve the issue => https://forum.sparkfun.com/viewtopic.php?f=14&t=41515.

  • Troubleshooting

    Having issues using this shield on your Arduino? Make sure that you check these things:

    1.) Check that the XBee_Serial_Passthrough.ino file is upload to the Arduino Uno with Atmega328P

    2.) Check that the switch is flipped ot the DLINE

    3.) Check your connections (i.e. your solder joints)

    5.) Check your power.

    4.) Ensure that the settings are set to the correct configuration to send data with your XBee.

    5.) If you are using an Arduino Mega, make sure to use the pins that are able to do software serial communication https://www.arduino.cc/en/Reference/SoftwareSerial.

    6.) If you are using a Arduino Leonardo or any board with an Atmega32U4, make sure that you are using the correct function to send data. Serial.print() just pipes data to the Serial monitor while Serial1.print() sends data through the UART. This is explained on the product page for the Arduino Leonardo https://www.arduino.cc/en/Main/ArduinoBoardLeonardo and in this code => https://learn.sparkfun.com/tutorials/pro-micro–fio-v3-hookup-guide#example-1-blinkies

  • Yup, common problem that comes up a lot when using this shield with a different Arduino package. =) After redefining the pins, you can always bend the pins if you soldered to the shield and reroute them similar to this tutorial => http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/ . =)

  • Yeah, it looks like you can’t add an external antenna to the Intel Edison Compute Module. The u.FL connector that is populated is originally used as a manufacturing test point as stated on page 13 of the hardware guide => http://download.intel.com/support/edison/sb/edisonmodule_hg_331189004.pdf.

  • There’s a Raspberry Pi Library for this fingerpritn scanner it looks like => https://www.raspberrypi.org/forums/viewtopic.php?f=61&t=74178 .

  • Fingerprint Scanner - 5V TTL GT511-C1R

    We don’t sell the cable with the GT-511C1R fingerprint scanner https://www.sparkfun.com/products/13007. You would need to get the 4 wire JST SH jumper cable separately https://www.sparkfun.com/products/10359. There is more than one way to create a connection between the fingerprint scanner and your system. For a more secure connection with the thin gauged wire, I recommend modifying the cable. Any loose connections can have issues powering the sensor and sending reliable data. Check below for more information:

    Serial UART Connection w/ 4 Wire JST SH Cable

    For a secure connection, I recommend soldering the ends of the wire to some header pins [like these https://www.sparkfun.com/products/116] so that the connection is not loose when inserting it into a standard female header sockets on an FTDI or the RedBoard/Arduino Uno. This will provide easy access to the small 4-pin JST-SH connector that is on the fingerprint scanner.

    After checking the connections of the scanner in the datasheet, I soldered connections from the JST -SH connector labeled J2 from the scanner to the header pins. I used some heat shrink in order to use it with the FTDI to reinforce the solder joint. As a note, make sure to remove the JST-SH SMD connector that is on the 4-wire jumper wire assembly. This is the same connector that is on the fingerprint scanner. You should be able to remove the connector easily with your hands without cutting any of the assembly off. The connections with the header pins are based on the footprint of the 5V FTDI basic breakout https://www.sparkfun.com/products/9716 w/ a mini-B cable https://www.sparkfun.com/products/11301 :

    Pin #    Fingerprint Scanner    <-> FTDI 5V
    1          UART_TX             <->   RX
    2          UART_RX             <->   TX
    3          GND                  <->   GND
    4          Vin (3.3V~6V)        <->   5V
    

    Note: If you were using the JST-SH cable, you would be wiring the black wire to pin 1 (next to the notch indicating the polarity on the fingerprint scanner to the Rx pin of your FTDI,

    For an example of the modified cable assembly, I suggest checking out the images from our Google drive:

    https://drive.google.com/open?id=0B0jwgLkjMWzDfnktUkt5ekQxQi1TcXk3QnhMN2J0Q3VXT2Y4NXRZdG9wa05EemZjY0dCazg

    Demo Software Development Kit (SDK) For basic operation with the demo software, I recommend checking out the demo software that is linked in the documents section of the product page. Each demo software is unique to that version of the fingerprint scanner and it will not work with the other versions. After connecting the fingerprint scanner to the FTDI, I was able to utilize all of the features as stated in the datasheet. These features in the demo software are based on the protocol commands.

    To operate on a computer using the SDK, just open the SDK_DEMO.exe executable, select the COM port that the FTDI enumerated to from the serial port number’s drop down menu, and click on the Open button. You would need to enroll your finger 3 times for the ID before the scanner can save it as a template.

    Example Code for Arduino If you were using a microcontroller with the fingerprint scanner, you would need to write code based off of the demo software and the protocol commands. Luckily, there was someone in the community that wrote some example code to blink the blue LED, enroll, and identify the fingerprint that was saved in a template. It is posted in a GitHub Repository [ https://github.com/sparkfun/Fingerprint_Scanner-TTL ] . This code works with the GT511C3, GT511C1, and GT511C1R. This code is incomplete and would require more code to utilize all the features of the fingerprint scanner like in the SDK. Here are the connections that you would need to make:

    Pin #    Fingerprint Scanner  <-> Arduino Uno
    1          UART_TX                       <->  RX (pin 4)
    2          UART_RX                      <->  TX (pin 5)
    3          GND                           <->   GND
    4          Vin (3.3V~6V)                <->    5V
    

    Software Serial with the Arduino Mega 2560 The demo code was designed for the Atmega328P on the Arduino Uno. If you were using it with an Arduino Mega2560, you would need to re-configure the software serial pin definitions. The reason why is because not all the pins on the Arduino Mega can support change interrupts for a serial Rx pin as stated in the limitations => https://www.arduino.cc/en/Reference/SoftwareSerial . Just change this section of code on line 18:

     FPS_GT511C3 fps(4, 5); //software serial pins for Arduino's / Atmega328P's
    

    to

    FPS_GT511C3 fps(10, 11); //software serial acceptable pin for the Arduino Mega
    

    Direct USB Connection w/ USB Port

    Demo Software Development Kit (SDK) I have only tested this with the previous GT-511C1 but it should work the same.

    To connect the GT-511C1R fingerprint scanner with the demo software and your computer’s USB port, you can connect the pins on the back of the board labeled with J1 directly to the USB port of your computer. I used a micro-B breakout board and a USB micro-B to A cable. Here are the connections that you would need to make:

    Fingerprint Scanner <=> USB Connector
    Shield (left most pin)  <=> USB Shield (not necessary if you use a USB breakout board)
    GND                     <=> GND (Standard USB Black Wire)
    D+                       <=> D+ (Standard USB Green Wire)
    D-                       <=> D- (Standard USB White Wire)
    Vcc (square pin)         <=> 5V (Standard USB Red Wire)
    

    By connecting to your computer, it will show up as a USB Mass Storage Device on My Computer (“Gingy Disk” is the name of the Removable Storage Device).

    Note: Certain USB Cables have D- as green and D+ as white. For an example of making your cable assembly, check out the images in our Google Drive. The images provided shows the non-standard colors wired up for the data lines with a USB connector. If the fingerprint scanner is not recognized by your computer in the device manager or there is a warning message, try reversing the data pins on the fingerprint scanner and it should enumerate properly.

    https://drive.google.com/open?id=0B0jwgLkjMWzDSnVtc2tVMllYS1E

    Troubleshooting

    Scanner Not Recognizing your Fingers? There have been issues trying to enroll with the Arduino example code. This is usually due to fingers being dry and not having good contact on the scanner. The timing of your finger on the scanner is a little tricky too. I had to try enrolling a few times before it was able to enroll or identify my finger. This is common with any fingerprint scanner like the one that is on my smartphone. Try re-enrolling your finger.

    Hardware Connections Resistors for Logic Level Conversion? The example code was originally used with an Arduino and the GT-511C3. Looking at the datasheet to compare, it looks like it might be 5V tolerant since it does not have 3.3V I/O limitations. If you are having issues using this fingerprint sensor with the resistors, try removing the resistors that were meant to voltage shift the signals. I had a customer that had problems using this with the resistors explained in the Instructable tutorial. When he removed it, he got it to work.

    Loose Connections Make sure that there are no loose connections. The last thing to check is the connection between your scanner and Arduino. Each of the fingerprint scanners use the same command protocols so the Arduino example code in the Instructables tutorial can be used for any of the scanners.

  • Fingerprint Scanner - TTL GT511-C3

    We don’t sell the cable with the GT-511C3 fingerprint scanner https://www.sparkfun.com/products/11792. You would need to get the 4 wire JST SH jumper cable separately https://www.sparkfun.com/products/10359. There is more than one way to create a connection between the fingerprint scanner and your system. For a more secure connection with the thin gauged wire, I recommend modifying the cable. Any loose connections can have issues powering the sensor and sending reliable data. Check below for more information:

    Serial UART Connection w/ 4 Wire JST SH Cable

    For a secure connection, I recommend soldering the ends of the wire to some header pins [like these https://www.sparkfun.com/products/116 ] so that the connection is not loose when inserting it into a standard female header sockets on an FTDI or the RedBoard/Arduino Uno. This will provide easy access to the small 4-pin JST-SH connector that is on the fingerprint scanner. After checking the connections of the scanner in the datasheet, I soldered connections from the JST -SH connector labeled J2 from the scanner to the header pins. I used some heat shrink in order to use it with the FTDI to reinforce the solder joint. As a note, make sure to remove the JST-SH SMD connector that is on the 4-wire jumper wire assembly. This is the same connector that is on the fingerprint scanner. You should be able to remove the connector easily with your hands without cutting any of the assembly off. The connections with the header pins are based on the footprint of the 3.3V FTDI basic breakout https://www.sparkfun.com/products/9873 w/ a mini-B cable https://www.sparkfun.com/products/11301 :

    Pin #    Fingerprint Scanner    <-> FTDI 3.3V
    1          UART_TX (3.3V TTL)   <->   RX
    2          UART_RX (3.3V TTL)   <->   TX
    3          GND                  <->   GND
    4          Vin (3.3V~6V)        <->   3.3V
    

    Note: If you were using the JST-SH cable, you would be wiring the black wire to pin 1 (next to the notch indicating the polarity on the fingerprint scanner to the Rx pin of your FTDI, For an example of the modified cable assembly, I suggest checking out the images from our Google drive:

    https://drive.google.com/open?id=0B0jwgLkjMWzDfnktUkt5ekQxQi1TcXk3QnhMN2J0Q3VXT2Y4NXRZdG9wa05EemZjY0dCazg

    Demo Software Development Kit (SDK)

    For basic operation with the demo software, I recommend checking out the demo software that is linked in the documents section of the product page. Each demo software is unique to that version of the fingerprint scanner and it will not work with the other versions. After connecting the fingerprint scanner to the FTDI, I was able to utilize all of the features as stated in the datasheet. These features in the demo software are based on the protocol commands.

    To operate on a computer using the SDK, just open the SDK_DEMO.exe executable, select the COM port that the FTDI enumerated to from the serial port number’s drop down menu, and click on the Open button. You would need to enroll your finger 3 times for the ID before the scanner can save it as a template.

    Example Code for Arduino

    If you were using a microcontroller with the fingerprint scanner, you would need to write code based off of the demo software and the protocol commands. Luckily, there was someone in the community that wrote some example code to blink the blue LED, enroll, and identify the fingerprint that was saved in a template. It is posted in a GitHub Repository https://github.com/sparkfun/Fingerprint_Scanner-TTL .This code works with the GT511C3, GT511C1, and GT511C1R. This code is incomplete and would require more code to utilize all the features of the fingerprint scanner like in the SDK. Here are the connections that you would need to make using a bi-directional logic level converter https://www.sparkfun.com/products/12009:

    Pin #    Fingerprint Scanner     <-> Logic Level Converter <-> Arduino Uno
    1          UART_TX (3.3V TTL)    <->      LV4 <-> HV4            <->  RX (pin 4)
    2          UART_RX (3.3V TTL)    <->       LV1 <-> HV1           <->  TX (pin 5)
    3          GND                    <->       GND <-> GND         <->     GND
    4          Vin (3.3V~6V)         <->           HV                <->      5V
                                                  LV                    <->     3.3V
    

    Software Serial with the Arduino Mega 2560

    The demo code was designed for the Atmega328P on the Arduino Uno. If you were using it with an Arduino Mega2560, you would need to re-configure the software serial pin definitions. The reason why is because not all the pins on the Arduino Mega can support change interrupts for a serial Rx pin as stated in the limitations => https://www.arduino.cc/en/Reference/SoftwareSerial. Just change this section of code on line 18:

     FPS_GT511C3 fps(4, 5); //software serial pins for Arduino's / Atmega328P's
    

    to

    FPS_GT511C3 fps(10, 11); //software serial acceptable pin for the Arduino Mega
    

    Troubleshooting

    Scanner Not Recognizing your Fingers?

    There have been issues trying to enroll with the Arduino example code. This is usually due to fingers being dry and not having good contact on the scanner. The timing of your finger on the scanner is a little tricky too. I had to try enrolling a few times before it was able to enroll or identify my finger. This is common with any fingerprint scanner like the one that is on my smartphone. Try re-enrolling your finger.

    Hardware Connections

    Also, make sure that there are no loose connections. The last thing to check is the connection between your scanner and Arduino. Each of the fingerprint scanners use the same command protocols so the Arduino example code in the Instructables tutorial can be used for any of the scanners.