Introduction: RFID Timing System on the Cheap

This project is for any Coach or PE teacher that wants to time a race or single lap on a budget.
It collects data in Excel and displays the winners. You can follow all the steps to make your own file, or just use the template file.
Hopefully, more advanced users will be able to add improvements to turn this method into an entire system.

Cost is the number one criteria in making this sytem. It has to be cheap. Generally this one will cost between $50 and $75 for about 20 timing cards and a reader..

Specialized software is way over priced- but it is more convenient. Schools generally can't afford specialized, so let's move forward with what we can have.

Disclaimer- Due to it's low cost, it probably isn't reliable for inter- team or inter-school athletic competitions. However, it is more than suitable for a practice, weekly run or other regular training activities where users finish 5 seconds apart.  Perhaps a movie will help. You can't have two users press their card at the same time.

Step 1: Materials

Supply list

RFID Reader
RFID Cards (One per runner/team)
Laptop (for portability)
Excel 2010

I got my RFID Reader from SparkFun.  Olimex MOD  SEN-08856  Generally the 125 kHz frequency is least expensive. USB is the most convenient, and will save you hours in the long run. 
I used the COM-08310 125 kHz RFID Credit Card sized tags. They are large enough to carry in hand without dropping, but small enough to fit in a pocket.  Be sure to shop around if you are going to buy more than 25. Singles are around $2 each.

Step 2: Excel Set Up

Use the handy Excel RFID template.- IF you can get it. Excel files with Macros are "dangerous" to computers and those with malicious intent. Therefore, uploading this kind of file is difficult as well as down loading it. BE SURE TO USE VIRUS PROTECTION SOFTWARE.  (See bottom of step for file.)

Making the template was a stretch for me with my limited Excel knowledge. I definitely want to thank my accountant buddy SM for his assistance. You may have a friend who you will have coding admiration for that can help you too.

Here is the set up once you have the file:

Switch to Sheet 2-  "CardNameMatch"
Scan each card in column A. Add the "name" of the card in column B. (It makes more sense with the file is open, or watch the movie in the intro again.)

You may want to choose "Save As"  so that you can make different days into different files without having to erase old data.

Switch back to Sheet 1- "Single Race"
Make sure the selection box is in Column A- "Card"

Plug in your Reader. Look for the lights to blink, flash or turn on.

RFID reader send a "text" string of numbers and letters.
You can read it in a Word document, or use a blank Excel document. If you're not getting numbers/letters, they you'll need to refer to the manual of your RFID reader.

Start with two or three cards, and work your way up to larger sets. You can start over on the same sheet, as long as you don't care about tracking results.

Be sure to "SAVE AS" rather than "SAVE" so that you don't have to work hard to make a blank Excel sheet each time.

Behind the Scenes- SKIP this part if you have no coding interest
Sheet 2- Rename the Sheet to "CardNameMatch" (or the name you want)
Column A is for the raw data from the cards
Column B is the display names you want to show. Label the cards as needed with sharpie or stickers.

Up Front
Sheet 1 Rename to Single Race

Skip the top 4 rows if you want to have a results space.

5A- Card  This column is the raw data from the RFID cards.
5B- Time  This column will show the time the card was entered-  No formulas. It's a VBA which will be entered later.
5C- Logical column for start time, or end
=IF(E32="Start Time"," ST ",CHOOSE(MIN(4,RANK.EQ(E32,E:E,1)),"First","Second","Third"," - "))
5 D- Name- Column will have this code
=VLOOKUP(A6,CardNameMatch!A:B,2,)  (You have to change "CardNameMatch" if you made up a different name for sheet 2)

5E- Total Time will have this code
=IF(ISNA(VLOOKUP(A6,$A$5:B5,2,0)),"Start Time",B6-VLOOKUP(A6,$A$5:B5,2,0))

VBA   Click on Developer Tab (You mayhave to look on web for how to click preferences to turn developer tab on) 
Apply to Worksheet

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Cells(Target.Row, 2).Value = Now
End If

End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

The reason we can't insert the time as a timestamp, is that this will change as we work with the sheet. We need a VBA to insert "Now" so that when the data is entered, the time will be inserted and not changed again. Beep was also added to improve the user response.
Winners? Optional Step to show winner on top
1F has First
1G has =VLOOKUP($F1,$C:$E,2,0)
1H  =VLOOKUP($F1,$C:$E,3,0)
2F Second
2G =VLOOKUP($F2,$C:$E,2,0)
2H =VLOOKUP($F2,$C:$E,3,0)
3F Third
3G =VLOOKUP($F3,$C:$E,2,0)
3H =VLOOKUP($F3,$C:$E,3,0)

Step 3: Have a Practice and Real Race

Try it!
Our testing process let us know that the beep helps runners to know when to start.
Users/runners won't accuse you of unfairness if  practice is provided.

A USB extension cable is very handy to keep the laptop from getting jostled. It allows the reader to be moved further away from the laptop. If it looks like rain, having the laptop under a cart on the second shelf down out of the rain is best. The RFID reading process isn't effected by plastic, so it can be wrapped in a plastic bag as well.

Celebrate! Your team now has an awesome way to track speed and become even more fit.
Statistic are increasingly making their way in to successful training programs. Hopefully, this Instructable has added a small part to your team.
RFID Power! Fitness Power!  We'd love to see a picture of your racers in the comments.


vinny4130 made it!(author)2014-06-17

is there a way to have the timer start after the card is removed from the RFID reader's field?

About This Instructable




More by edmondslibrarian:Drone Air Gates for Indoor/Outdoor Practice and RacingBeer Bunny or Pop Can Easter Egg HuntEasy Sneetch Costume for Dr. Seuss Day or Halloween
Add instructable to: