Android application can be found here: https://github.com/snxfz947/adventure-tracker-android
Adventure Tracker is a wearable device, used to log the position and velocity of a user over a set interval, and at the end of a run, present the user with data such as total distance traveled, change in altitude, average velocity, maximum velocity, time elapsed, etc. With this information, users will be able to track their progress and record personal achievements across a variety of outdoor sports, including hiking, skiing, and biking.
This is the source code for the hardware prototype that was built using the Altera DE2 board along with additional components such as a touchscreen, GPS sensor and Bluetooth module. The FPGA was programmed in VHDL and the built-in processor programmed in C.
- Real time location information
- Real time path drawing
- 3 user modes that correspond to sampling rate:
- Walking
- Biking
- Skiing
- Past trips cumulative data
- Total time
- Total distance
- Total altitude change
- Past trips path drawing
In the past trips page, the user is shown:
- The log file they are currently reading from
- Total cumulative stats including total time, distance and change in altitude
- The full drawn path starting at the S and ending at E
When first entering this page after boot up the most recent log file is shown.
The user is able to press on “Prev” and “Next” to cycle between log files on the SD card. Pressing Next when displaying the last log file wraps around back to log 0. Pressing Prev when displaying log 0 wraps forward to the most recent log file. The user is able to return to the Main Menu by pressing the button on the bottom right.
In the new trips page the user is shown:
- The current log file being written to in the SD card
- Current location information including the current time, latitude, longitude and altitude
- The path taken since the start of the trip
The user is able to press on “Walking”, “Biking” and “Skiing” to cycle between the three different location sampling rates. Walking corresponds to a rate of every 5 seconds, biking every 3 seconds and skiing every 2 seconds. By pressing “End Trip” on the bottom right, the trip is ended, and upon re-entering this page from the main menu, a new log file is created.
![]()
New trip
Note that it is not shown here, but the feature to also log points of interest was added to this page.
In the new trips page the user is shown:
- Name of device
- PIN settings
The user is able to change the name of the device and the PIN here.
- QuartusProject
- Contains all the HDL files
- SoftwareFiles
- Contains all the C code for programming the NIOS processor