This project is part of a Capstone Master's course provided by the University of Illinois Urbana-Champaign and sponsored by some good folks at Texas Instruments. I would like to start this article by thanking those who made this project possible.
GoalsWe should first understand what the goals of the project are. We're trying to create a daughter board that can be mounted on top of another board. On top of that daughter board, we mount a fingerprint scanner. The idea is that by the end of this article, you should understand:
- The design of the PCB
- How to use the design files for fabrication
- How to solder the pieces together
- How to operate the finished PCB with a TI Launchpad.
The first thing you will want to do is download the schematic and board layout into an EAGLE project.
Make sure that the names of the.brd and the.sch file match each other, so that annotations are linked across files. If you want to update a net in the schematic, you probably want that change reflected in the board layout. Let's take a look at the schematic to understand the basis of what's going on.
On the top portion of the schematic, we have the four standard LaunchPad Headers that any BoosterPack will have. For this project, we are not going overboard with the number of necessary pins. Mainly, we're interested in VCC, GND, the UART pins, and another pin called ICPCK, which is used for checking if the fingerprint scanner is being physically touched.
Before we go through the connectors, let me refer you to the Sparkfun Fingerprint Scanner (GT-521Fxx) Hookup Guide, that teaches you how the connections on the fingerprint scanner work.
In the middle of the schematic, you will notice two 4-pin headers. The left exposes the UART pins that connect to the UART JST connector on the fingerprint scanner. The right exposes other pins that connect to the right connector in the image above.
The bottom left of the schematic showcases a voltage division circuit between the LaunchPad's TX pin and the fingerprint scanner's RX pin.
Let's move on to the board layout to see how it's all put together.
There are a couple of key areas of this board. We have the resistors, stackable headers, and the Qwiic connectors. We also see a rectangular outline that displays where the fingerprint scanner should be mounted. R1 and R3 should be 10 kOhm, and R2 should be 20kOhm. You could use other combinations of R1 and R2, as long as R2 = 2 * R1. Don't worry too much about the three red dots you see in various areas of the board.
Fabricating the PCBIf you want to generate Gerber files for fabrication at home or at another vendor, follow this section for more information.
First, you will want to download this.cam file from a tutorial I personally followed. It helps you generate the correct files. Next, you'll want to click "CAM Processor."
You can load the.cam file we just downloaded in the the right of the dialog box shown below.
Go ahead and process the job. In the project folder, you should see a bunch of files generated. You can submit these files to a vendor of your choice. Personally, I used OSH Park, which only required the.brd file for my job.
Soldering the BoardThere are a few pointers I can give for soldering the parts onto the board. Flux helps with a lot of these parts. I recommend watching this SMD soldering tutorial for pointers.
For soldering the stackable headers, try soldering one pin first, then correcting the position of the header before soldering the rest. Try not to apply solder to the tip. Instead hold the iron tip on one side of the pin, then hold the solder on the other side of the pin.
Here's an example video showing the use of the Enroll and Verify functions.
In this example, an enrollment using three captures of the fingerprint occur. If it is successful, a red LED lights up. Immediately afterwards, an identification occurs. If the identification is successful, a green LED lights up. Notice that after each finger capture, the the CMOS LED toggles off and on, and repeats this after the finger is removed. This is a cue for when to remove and replace the finger. Enrollments take 3 finger captures, and identifications take one finger capture. For more information, check out the ADH-Tech Programming guide for this fingerprint scanner.
Go ahead and download the project from Deen17/ccs-fps-gt-521fxx (github.com). Open the project on TI Code Composer Studio. First I'll run down the various important files.
- fps.h holds all of the function and struct declarations required to operate the fingerprint scanner.
- fps_cmd.h contains function definitions relevant to Command Packets, which are necessary for sending messages to the fingerprint scanner.
- fps_data.c contains less relevant structures, but is useful if you wanted information about the fingerprint scanner after calling fps_open_info
- fps_res.c contains function definitions relevant to response packets, which are necessary for parsing information in messages from the fingerprint scanner.
- fps_uart.c is the meat of the project. It puts together the building blocks to create a coherent API with the fingerprint scanner.
In fps_run.c I present a barebones example that performs an enrollment and a verification immediately after. Try flashing the built project to the LaunchPad.
If it all works out, good job! You've succesfully built an FPScanner BoosterPack.
Comments
Please log in or sign up to comment.