First of all, I would like to explain that I am an amateur beginner who understands little about Arduino.
So the last few days I've been hiking to several spots. My problem is that there is no proper and accurate tracker, I've tried the tracker from my android but it's really not Works. No accurate altitude data and climb time
Starting from that, I thought of utilizing my old Arduino Uno. There are 4 things that this GPS logger must store Altimeter (barometer sensor read), coordinates, Compass, and time
So, I would like to ask for guidance on creating a tracker that stores and generates such data.
And if possible, the data can be synchronized with a tracker application such as Strava or Google Fit.
Don't hesitate to ask anything, I will provide all the information you need to answer my questions.
Which one? I use GaiaGPS, which certainly does provide accurate recording of location, altitude and timing, unless deep in a forest where GPS does not work well.
However, if you want to make your own, there are plenty of Arduino examples to follow. Use the web search phrase "arduino gps tracker".
There are all kinds of phone-based apps that do what you want; just spend a little time googling to find them. @jremington mentioned GaiaGPS, which I used a few times a few years ago, and IIRC it is full-featured but maybe a bit too large an API. Even Google Maps does all that, and Garmin interfaces with Strava
How to Link Garmin Connect with Strava
Using the Garmin Connect Mobile App
Open the Garmin Connect app on your smartphone.
Tap More (bottom right corner).
Go to Settings > Connected Apps > Strava .
Tap Agree and then Authorize to grant permission.
Log in to your Strava account when prompted.
Ensure the Activities permission is enabled to allow syncing.
Once connected, any new activities uploaded to Garmin Connect will automatically sync to Strava. Additionally, Garmin will sync your activities from the past year to Strava immediately after establishing the connection.
If your phone has a standard GNSS/GPS function, configured to use multiple positioning system (other than GPS there are some like European Galileo, Glonass, etc), and you have direct sight on the sky (if hiking you should), IMHO there's no reason you can't get a reasonable precision, except for a poor GNSS device in your specific phone.
Remember the "civilian" GPS we're using has a resolution of 4-5 meters in ideal conditions, better resolutions can be achieved using various sources like cell triangulation, WiFi (this is not the case when hiking) and others.
Anyway, I don't think a solution based on Arduino could be of much help, first of all because of physical problems (size, weight, and power requirement).
I do kayaking and I found the WikiLoc app (used for kayaking, biking, hiking and so on...) good, much more useful than any "standard" activity tracker app, and you can share paths, pictures and hints with the other app users.
My advise is to give it a try.
And improves time to first fix and weak signal GPS performance.
Dont recall assisted GPS being used for Arduino trackers, you would need to replicates some form of on-line connectivity.
So whilst you could make an Arduino based tracker logger, its not really a viable project for a beginner, and its kinda hard to see how it could perform better than the average mobile phone\tablet setup.