What Is Time to First Fix (TTFF)?
Time to First Fix (TTFF) is the elapsed time between powering on a GNSS receiver and obtaining a valid position solution. In IoT asset trackers, TTFF directly determines how long the power-hungry GNSS module stays active per report cycle — and that duration is the single largest variable in battery life calculations. A cold start can take 30 seconds to several minutes; a hot start completes in 1–5 seconds. According to ESA’s Navipedia reference, TTFF depends primarily on the availability of satellite ephemeris and clock information at receiver startup.
I’ve spent over 20 years designing IoT tracking hardware shipped to more than 100 countries. In that time, I’ve watched countless fleet deployments underperform on battery life — not because of bad batteries, but because firmware didn’t manage GNSS start modes properly. This article breaks down the engineering behind TTFF and shows the firmware strategies that turn a mediocre tracker into one that lasts years.
The Three Start Modes Explained
Every GNSS receiver — whether it uses a u-blox, MediaTek, or Qualcomm chipset — classifies its startup into three modes based on what data it has cached from previous sessions.
Cold Start: The Worst Case
A cold start occurs when the receiver has no stored ephemeris, no almanac, no last-known position, and no accurate time reference. The receiver must perform a full sky search across all constellation frequencies, download the complete navigation message (which takes at least 18–30 seconds per satellite for ephemeris alone), and compute a position from scratch. The full almanac cycle takes 12.5 minutes.
Typical cold start TTFF: 30 seconds to 12.5 minutes depending on signal conditions. In urban canyons or near buildings, this can stretch even longer due to multipath interference and signal attenuation.
Cold starts happen when a device has been powered off for extended periods (ephemeris data expires after 2–4 hours), when it has been moved hundreds of kilometers while off, or after a full factory reset.
Warm Start: The Middle Ground
A warm start occurs when the receiver has a valid almanac and approximate position/time, but outdated ephemeris. The receiver knows roughly which satellites should be visible, so it can skip the full sky search, but still needs to download fresh ephemeris data.
Typical warm start TTFF: 25–45 seconds. The time savings come primarily from not having to perform a blind frequency search.
Hot Start: The Goal
A hot start occurs when the receiver has valid ephemeris (less than 2–4 hours old), accurate time, and a recent position fix. The receiver can immediately track known satellites and compute a position almost instantly.
Typical hot start TTFF: 1–5 seconds. This is the target for every reporting cycle in a well-designed tracker.
Why TTFF Is a Battery Killer

The math is straightforward but the impact is dramatic. A typical GNSS module draws 25–40 mA during active acquisition. The cellular modem (LTE-M/NB-IoT) draws 100–200 mA during transmission, but only for 2–5 seconds per report. The GNSS module’s power draw during a cold start dominates the energy budget.
| Scenario | Energy per Fix | GNSS mAh/day (4 reports) | Real-World Battery Life |
|---|---|---|---|
| All cold starts (60s) | 0.50 mAh | 2.0 mAh | 14 months |
| All warm starts (35s) | 0.29 mAh | 1.17 mAh | 22 months |
| All hot starts (3s) | 0.025 mAh | 0.1 mAh | 38 months |
Key insight: A single cold start at 30 mA for 60 seconds consumes 0.50 mAh. A hot start at 30 mA for 3 seconds consumes 0.025 mAh. That’s a 20× difference per fix — compounded across 4–24 reports per day, 365 days per year. GNSS acquisition accounts for 40–70% of total energy in periodic-reporting trackers.
For context, our decade-long pallet tracking analysis showed that the GPT50’s multi-year battery life depends on “assisted data and short acquisition windows” — in other words, avoiding cold starts through the firmware strategies described below.
Firmware Strategies to Minimize TTFF

1. Assisted GNSS (AGNSS)
AGNSS pre-loads ephemeris and almanac data from a server via the cellular connection, eliminating the need to download it from satellites. Modern implementations like u-blox AssistNow or Qualcomm gpsOneXTRA deliver predicted ephemeris valid for 1–14 days, ensuring hot or near-hot starts even after extended sleep periods.
The tradeoff: AGNSS requires a cellular data connection before GNSS acquisition, which means the modem must wake first. In well-designed firmware, this adds 2–5 seconds of modem time but saves 30–120 seconds of GNSS time — a net energy win of 5–10×.
2. Ephemeris Caching and Backup
Store the last valid ephemeris, almanac, position, and UTC time in non-volatile memory (flash or battery-backed SRAM). On wake, restore this data to the GNSS module before starting acquisition. If the stored ephemeris is less than 2 hours old and the device hasn’t moved far, the receiver achieves a true hot start.
The implementation detail that matters: the RTC (real-time clock) must remain powered during sleep. If the RTC drifts or resets, the receiver can’t use cached ephemeris even if the data is still valid, because it can’t compute current satellite positions without accurate time. Our NB-IoT power profiling work showed that scripted workloads measuring cold, warm, and hot GNSS acquisition are essential for honest battery life projections.
3. Multi-Constellation Support
Enabling GPS + GLONASS + BeiDou + Galileo simultaneously increases the number of visible satellites from ~8 (GPS only) to 20–30+. More visible satellites mean faster signal acquisition and more reliable fixes, especially in challenging environments.
| Configuration | Visible Satellites | Typical Cold TTFF | Improvement |
|---|---|---|---|
| GPS only | ~8 | 45s | Baseline |
| GPS + GLONASS | ~14 | 32s | -29% |
| GPS + GLO + BDS + GAL | ~24 | 22s | -51% |
4. Adaptive GNSS Timeout with Fallback
Set a maximum GNSS search time (e.g., 90 seconds). If no fix is obtained within this window, abort the GNSS session, log the failure, fall back to cell-tower positioning or Wi-Fi fingerprinting (50–200m accuracy), and try again at the next report interval.
A common production configuration: first attempt 60s timeout, retry with 120s timeout if the first fails, then skip GNSS for the next 2 cycles before trying again. This prevents cascading failures in deep urban or indoor environments.
5. Power-Optimized Duty Cycling
Keep the GNSS module in a low-power standby mode (typically 10–50 µA) rather than fully powering it off between fixes. In standby, the receiver maintains its RTC and stored data, enabling hot starts on every wake cycle.
For trackers reporting every 1–4 hours, standby mode is almost always worth the cost. For trackers reporting once per day, the 24-hour ephemeris expiration makes AGNSS a better strategy than continuous standby.
Real-World Impact: Field Data
In our testing across multiple LTE-M asset tracker deployments, the difference between firmware with and without proper TTFF management is stark:
Without TTFF optimization (cold start every cycle): average GNSS session 45 seconds, battery life 14 months at 4 reports/day.
With AGNSS + ephemeris caching (hot start 90%+ of cycles): average GNSS session 4 seconds, battery life 38 months at 4 reports/day.
That’s a 2.7× improvement in operational battery life from firmware alone — same hardware, same battery, same reporting schedule. As noted in GPS World’s analysis of TTFF innovation, assisted GNSS and massively parallel correlation have been the primary drivers of TTFF improvement over the past decade.
What This Means for Fleet Managers
If you’re evaluating asset trackers, ask your vendor these questions:
Does the firmware support AGNSS? If not, every fix after a long sleep is a cold start. Battery life claims based on hot-start TTFF numbers will not hold up in the field.
What is the GNSS timeout policy? A tracker that searches for 5 minutes in a warehouse before giving up is wasting battery on a fix it will never get.
How is ephemeris managed across sleep cycles? Battery-backed RTC and flash-cached ephemeris are the minimum requirements for consistent hot starts.
What fallback positioning is available? Cell-ID and Wi-Fi fingerprinting provide 50–200m accuracy without any GNSS power draw — acceptable for many logistics use cases when GNSS is unavailable.
FAQ
What is a good TTFF for an IoT asset tracker?
Under 5 seconds (hot start) for routine reporting cycles. Under 30 seconds (AGNSS-assisted) after extended sleep periods. If your tracker consistently takes more than 60 seconds per fix, the firmware likely lacks AGNSS support.
Does multi-constellation GNSS improve Time to First Fix?
Yes. GPS+GLONASS+BeiDou+Galileo typically reduces cold start TTFF by 30–50% compared to GPS-only, because more satellites are visible at any given time, accelerating signal acquisition.
Can Assisted GNSS work without an active cellular connection?
Predicted ephemeris services like u-blox AssistNow Offline can be downloaded once and remain valid for up to 14 days, so a single cellular session can support many GNSS fixes. However, the initial download does require a data connection.
Why does my tracker show poor accuracy after being stored in a warehouse?
Indoor environments block GNSS signals. If the tracker searches for a fix and fails, good firmware falls back to cell-ID positioning and preserves the cached ephemeris for the next outdoor fix. Poor firmware may discard cached data after a failed attempt, forcing a cold start outdoors.
How does TTFF affect cold chain compliance auditing?
Longer TTFF means longer gaps between position reports. For cold chain shipments requiring continuous location and temperature logging under FDA FSMA or EU GDP, a tracker with poor TTFF management may miss geofence events or produce location gaps that trigger compliance questions during audits.
Key Takeaways
- TTFF is the #1 battery life lever — managing cold vs hot starts determines whether a tracker lasts 14 months or 38 months on the same battery.
- AGNSS is non-negotiable — without predicted ephemeris, every fix after a 4+ hour sleep is a cold start.
- Cache ephemeris + keep RTC powered — this enables true hot starts for sleep periods under 2–4 hours.
- Multi-constellation cuts cold TTFF by ~50% — GPS+GLONASS+BeiDou+Galileo doubles visible satellite count.
- Always set a GNSS timeout with cell-ID fallback — don’t let indoor failures drain the battery.
- Ask your vendor for field data, not lab data — datasheet TTFF numbers assume hot starts that rarely happen in production.
If you’re designing or evaluating trackers and want to discuss TTFF optimization strategies for your specific deployment, let’s talk.