Make a GPS logger to map your dog's playtime at the park or hike in the woods! This intermediate FLORA microcontroller circuit is a great first GPS project! Use conductive thread to stitch up the sewable GPS and FLORA so there's no soldering required.
Before you begin, check out these guides:
You'll have installed the Adafruit Arduino software by now, OR you can program your FLORA directly from your browser using Codebender. Fancy!
For this project you'll need:
We're building the circuit on the Ruffwear Single Track dog backpack.
Use this diagram as a reference as you follow the construction guide (click to enlarge). The connections are as follows:
FLORA 3.3V -> GPS 3.3V
FLORA RX -> GPS TX
FLORA TX -> GPS RX
FLORA GND -> GPS GND
GPS BAT -> positive coincell battery terminal
GPS GND -> negative coincell battery terminal
Find a spot on the harness/backpack for your circuit. The GPS needs to face the sky (through some fabric is ok).
Stitch FLORA to the fabric around one of the GPS pins used in the circuit diagram (we chose RX to stitch first). Leave about a 6-inch tail of thread (we'll tie it later). Make several stitches around to create a secure mechanical and electrical connection.
Don't cut any thread yet, and position the GPS module next to FLORA.
Continue stitching with the same thread to connect to the GPS' TX pad. Loop several times around and then tie the working thread to the tail you left earlier.
Make a tight double knot!
Dab a tiny amount of clear nail polish to the knot you just made. Try to get it only on the knot! Hold the threads taut at different angles for better access with your brush, and try not to get any polish on the pads of FLORA or the GPS.
Tug on the knot while the polish dries to tame that springy stainless steel! Leave long enough tails that you can tug on them again later-- don't cut them super short yet.
Repeat this stitching process to connect FLORA's TX to the FLORA GPS' RX, and likewise with 3.3V and GND according to the circuit diagram.
Double check your knots again, adding a tiny bit more nail polish if any of them aren't staying tight. Once the nail polish is completely dry, you can cut your thread tails very short.
Check your connections using a multimeter on continuity mode. Touch the probes to the pads on the circuit boards, not the thread, and check to make sure there is continuity between all four connections, and that there aren't any shorts. For more info on using your multimeter, check out our guide.
While the GPS doesn't have to be as close to FLORA as pictured to work well, it also shouldn't be too far away or the communication signal will degrade as the thread length increases. We recommend keeping them within six inches of each other.
At this point you can test the GPS the same way you did in the FLORA GPS guide, and verify your GPS is communicating with FLORA over the conductive thread!
Next, add the coincell battery holder. Sew the + side to the FLORA GPS' BAT pad, and the - side to GND. This battery helps the GPS acquire a fix more quickly upon starting up, since it helps the GPS remember which satellites it connected to last time it was on.
Knot, seal, and snip the thread tails as in previous steps.
The 3xAAA battery pack will live in one of the pockets, and we've taped it up to provide extra strain relief on the wires and prevent the switch from getting toggled off inside. The wire passes through a small hole we snipped, then under the sewable battery holder and over to FLORA's JST connector.
You can even use a safety pin to affix the gaff tape to the inside of the pocket, so it doesn't shake around when the dog runs.
Lastly, add a piece of vinyl if your circuit is exposed. This will prevent the circuit from catching on branches, and provide a dampness guard against wet grass and slobbery dog friends.
We built the circuit right up top so you could see it better, but it would work just as well sewn entirely into one of the side pockets. The conductive stitching doesn't go all the way through the padded harness; it just pierces the top layer, so no threads are touching the dog's fur.
This circuit is not waterproof and should be removed from your dog before swimming or if it rains.
Once you've tested your GPS circuit using the FLORA GPS guide, it's time to load the logging program. Plug in your FLORA over USB. In the Adafruit Arduino IDE or on Codebender, choose the Adafruit_GPS library sample program leo_locus_status.
Find the line of code #define GPSECHO false and change to true. This isn't necessary for logging but helps you verify over serial that it's running properly.
Choose Adafruit Flora from the Boards menu.
Choose your board's serial port, it will look like tty.usbmodemXXX on Mac, and one of the COM ports on a PC.
Click upload to load the program onto FLORA.
Once uploaded, click the serial monitor button in the upper right, and check to make sure the "Starting logging..." message appears. You're good to go!
Go outside and take your dog for a walk. =]
Come back inside and complete the following steps to get the log information onto the computer.
Next we'll load the program that will transmit the log stored on the GPS module to the computer over serial. Connect FLORA over USB and load up the leo_locus_dumpbasic example (also on Codebender).
Upload this sketch to your FLORA and open serial monitor.
The GPS log data will flow into the window. Wait until it finishes.
Highlight and copy the log data from the line below --------------- and ending with $PMTK001,622,3*36.
Paste your log into our LOCUS Parser, which will nicely format the GPS sentences into XML that Google Maps can understand. Click Parse Data.
Copy the KML output into a text file (TextEdit or Notepad) and save it somewhere on your computer.
Open up Google Maps in your browser and click My places then Or create with classic My Maps.
Click Choose File and find your saved log, then click Upload from File.
Voila! Your log will be displayed as a map overlay. You can select the path to change its color, adjust any errant waypoints, and zoom around your fun dog log.
Here's where we did the majority of the filming for this project's video, you can see where we hung out the most and how we moved through Prospect Park.
We also made a brooch version of this circuit, and I wore it on a bike trip to Governor's Island. You can see the path the ferry took as well as my bike path around the island. The battery died just as I was getting back on the ferry, and so the path shoots over to my next logged location back in Brooklyn.
You are now fully equipped to log the great outdoors, so wire up a circuit and go have some fun outside!