Swim Tracker
The Kolea also known as the Pacific Golden Plover was sighted by Captain Cook in Tahiti and then five years later in its breeding ground in the Arctic. Tracing this journey by GPS tracking was not possible until just recently when a sub 4.0 gm instrument was applied to the birds back and followed by satellite from Hawaii up to its home in Alaska. It takes it a couple days flying at 10,000 feet to get to Alaska where it lands in snow and waits for spring and a chance to mate. You can purchase a variety of these tracking devices currently with varying functionality for Semi-trailer trucks down to dog tags. The DIY crew have had a variety of these projects that have been possible with the fall in prices of these chips. I have a particular interest in tracking ocean swims and temperature logging. You can just buy an Apple Watch which has great GPS localization and works most of the time while swimming--the GPS antennae only works when your arm is out of the water. But building something for about $30 which is waterproof to salt-water and small enough to be less of a burden than an epoxy blob on a migrating Kolea is fun too. The output is a simple SD card so you don't need your phone and another app. What data you collect is up to you but can include speed, temp, heading, location and time. The output is easily processed on Google maps where your water migration routes can be studied. This device is not designed for tracking in indoor pools but the big outdoor one thankfully remains open!
Gather Your Materials:
Most of the GPS units are fairly pricey and BIG. This cheap one from Banggood works like a champ and is really tiny!
1. Beitian Smallest Mini Dual GLONASS+GPS BN-180 Micro Double GPS Antenna Module UART TTL For CC3D F3 RC Drone Airplane $9
2. Adafruit Feather 32u4 Adalogger $21
3. Lipo battery 600 -- $3
4. Switch -- on/off generic doesn't have to be waterproof
5. DS18B20 Waterproof Digital Temperature Temp Sensor Probe 1M $3
6. #84 "o" Ring Danco Inc Stock No. 35710 B -- available at Lowes or Home Depot (1 7/16 OD x 1 1/4 ID)
Design and Print Your Housing
The tracker was designed in Fusion 360. The constraints were that it had to be compact for the enclosed elements and be waterproof with access to the SD card slot and Micro USB for charging of the enclosed lipo battery. The screw cap design with O - ring is easily opened for turning the unit on/off for each recording session and removing the SD card. It is the minimal size that also allowed the placement of the components for the assembly. The addition of a waterproof external switch would greatly enlarge the size of the unit and I have been disappointed with the performance of several "waterproof" switches that I have purchased. The goggle clip is designed to be rotating after printing in one piece but works best when glued in a satisfactory position. It should be glued to the flat section of the unit with superglue. I sliced these with CURA and all printed with no support with the standard settings. I have printed this in clear PLA and it allows you to see the LED's blink on the GPS unit through the case. The case is designed to have the tiny GPS sit in its own square bubble on the back of the unit and point it's built in antenna upwards while swimming. Clipping it to the only section of your body that is out of the water at all times enables the GPS not to loose fixation. The hole at the bottom of the housing is for the waterproof Temp sensor which if you decline to use can easily be sealed up.
Wire It
Please see the Fritzing diagram above for the simple put together. The Temp sensor and the GPS unit are both powered by 3V off of the voltage controller on the Feather board. The rechargeable battery is connected to the switch and then the Bat terminal on the board so charging through the microUSB port is easily done. Remember that you must turn the switch to ON to enable charging of the battery. The One-Wire waterproof sensor requires the pull up resistor-4.7k resistor-on the data line to function well. All connections are hot glued to prevent shorting in the tight space of the enclosure. I used a cheap 600 mah lipoBattery usually used for drones and it seems to power the whole unit for a couple hours but you can go smaller.
Build It
The GPS unit is carefully glued antenna side up (brown side) into the square bump out on the side of the main unit. The battery unit is glued in on top of it. Before attaching the temp sensor wires to the logging unit run it through the hole in the bottom of the main body. You must carefully seal this entrance with E6000 or Shoe Goo. The wires are shortened to just allow both sides of the Adalogger unit to be accessible by withdrawing it from the main body. The switch unit just sits in the cavity of the screw on top. The O ring should be coated with a layer of silicon grease and seated in its notch in the top unit. The threads on the top unit must be coated with silicon grease. SuperGlue the goggle attachment to the flat side of the main body. The inside of the unit or outside if you prefer can be coated with epoxy at this stage to completely waterproof the body.
Program It
The program uses the TinyGPS++ library to interact with this chosen GPS unit. I could not get it to work with the standard Hardware libraries from Adafruit. It passed the serial data ok but the functions for dealing with the lat and long didn't seem to work. The software serial libraries did not seem to work well with the MO version of the Adalogger so make sure you get the 32u version instead. You will need all of the libraries listed in the top section of the program. You can choose any TX and RX you want of the digital pins the ones in the fritzing diagram worked well. The web site for the GPS unit listed the wiring correctly for which is RX and which is TX just follow it. The SD section of the program just generates a new file for each time you turn on the unit which makes collecting the data pretty easy. The loop function just asks for a reckoning of the data every ten seconds and of course you can easily change this frequency. Any of the TinyGPS++ functions can be stored on the SD card.
Downloads
Using It
The unit is mounted to the back of your swimming goggles. The temp probe hangs down your back when you are swimming and its length can be adjusted when you are building it. The unit while waterproof stays relatively dry in this back of the head location with the GPS bubble antenna location pointed skyward. The unit is activated by unscrewing the top and depressing the on button and screwing the top back on to secure it. When recording is done the top is again unscrewed and the button turned off. Starting the unit creates a new file. The information is retrieved by inserting the SD card into your computer and downloading the file into Numbers or Excel spreadsheet and creating a CSV file. Go to: https://www.google.com/mymaps and click on the make a map button. The resulting framework will download your CSV file into a map layer where you can adjust which column has lat and long and where you want the other pieces of data to go. You can see the resultant data package above which can be shared with people: https://www.google.com/maps/d/edit?mid=1q8v8Jf6IV4f2guE2XGnK6qMREuOXyPfs&ll=20.697292990488258%2C-156.44483149999996&z=18 and allows much more manipulation. The icons can be customized as well as colors or map background type.
And there are other things swimming around with trackers too and you can compare where your tracker is relative to their trackers like that nice ten-foot Tiger Shark named "132069" that likes our beach a lot!