Problem

I have a need for a small device that can track my various recreational activities. I mainly track what I am doing with Strava using my phone, which works well when biking or hiking, but not so much if I go surfing or swimming. First, my phone is not completely waterproof and second, my phone is far too big where it couldn’t fit into a phone pocket or on a swim cap. The off the shelf solution is to buy a smart watch, but they are quite expensive with watches costing 200 USD or more. Additionally, when surfing I have a fear of loosing my standard analog watch in the ocean that I have a cheaper timex ironman that I wear instead of my Seiko, just in case. I don’t really care about any other “fitness tracking” such as heart rate and such, only distance and duration. What I want is a device small enough that would fit into a wetsuit key pocket that can track distance travels and duration. Detailed list of requirements is below:

Requirement Motivation
3.5 hours battery life Most days my activities are ~2 hours + get ready (~0.5 hour) + buffer time (1 hour)
Waterproof Use device with water based activities. Additionally, rain.
3cm x 8 cm Small enough to fit into a wetsuit key pocket.
Wireless Sync activities with phone.
GPS Track distance traveled.
50 USD About the cost of the timex watch I already have.

Solution

Since as far as I could tell there are no off the shelf solutions that meet my requirements, and I apparently have an ECE degree, I am planning on building a custom device. I plan on building the device around the esp32 microcontroller which (1) I am familiar with allowing for quick development and (2) has both BLE and WiFi support allowing for wireless connectivity with my phone. A GPS module and possibly IMU will be needed to track location. Some sort of non-volatile store is required, with my preference being FRAM as it is lower power consumption and only slightly higher power consumption. I believe there is also a SPIFS library that can be used to easily create a filesystem to store GPS measurements. Pretty much whatever the cheapest with 1 Mbit flash should be sufficient. Battery support will be more difficult as the size of battery is determined by the underlying battery consumption. It’s likely that I could fit at least a 2200 mAh battery in the required form factor which seems like a good approximation. Waterproofing can be solved with a clamshell type 3D printed enclosure that can be coated with something waterproof (flexseal?) with an rubber gasket. In the future, enclosures can be injection molded to improve the waterproofing. Waterproofing becomes difficult with charging with the pros and cons listed below.

Solution Pros Cons
Waterproof USB-C connector Off the shelf implementation, USB charging commonplace Difficulty to waterproof
Wireless charging Fairly common Difficult to implement
Solar Easy to implement Cannot charge unless there is sunlight, locking into wireless communication

Block Diagram

Plan

  1. Location tracking using development boards: Build out the functionality to record GPS signals. No need to worry about any battery management or integration with phone.
  2. Battery management: With some evaluation to benchmark power consumption, an appropriate battery size can be selected and the charging circuit can be built.
  3. Enclosure design: Waterproof enclosure so the device can be used in water activities.
  4. Phone App: Design a cross-platform phone app that can pull activities from the device.
  5. Integration with Strava: I mainly use Strava so this would be the first service that I look at. They looks like they provide an api that can be used.

Next Steps

Part Link Notes
ESP32-C3 https://www.espressif.com/en/products/socs/esp32-c3 Should have one lying around
IMU https://www.adafruit.com/product/2472 Should have one lying around, or they sell them at BELS
FRAM https://www.digikey.com/en/products/detail/infineon-technologies/FM24CL64B-GTR/3788937 I believe I also have one of these leftover from another project
GPS - TBD, likely the ublox module because of the power consumption

GPS Modules

Part Current Price Notes
MAX-M8C-0 9.7 mA 21 USD Power consumption is from 1 Hz low power mode
5186 29 mA 19.95 USD Power consumption is from 1 Hz tracking mode
TESEO-LIV3FL 29 mA 16.37 USD Power consumption is GPS mode 3.3V @ 1 Hz