The Maemo Record

Maps and navigation

PACKAGEnavigation
SECTIONthe software
IN THE LINEcore: the platform itself
ANSWERSn900 gps
ARCHIVED LINKS1 old article address points here

The N900 GPS hardware is a SiRFstar III chipset paired with a 202 mm (8 in) internal antenna in the top bezel, and it delivers a fix in 35 to 40 seconds under open sky, which was fast for a 2009 phone-class receiver. That combination made the Nokia N900 the only consumer Linux device of its year that could run full map rendering, turn-by-turn routing and offline map storage all from user-installed software, a distinction that mattered to the Maemo community from the day the device shipped.

A folded paper city map spread on a table, a finger holding down a street name.

The maps and navigation story on the platform splits into two channels. Ovi Maps, preloaded on every unit, gave you live traffic and points of interest through The Ovi Store update pipeline. Everything else, from offline tile renderers to GPS loggers, arrived through The Maemo repositories, and the community built more navigation tooling there than on any other 2009 Linux handset. What you could actually install is the question that decides which of those two channels you end up living in.

What the GPS hardware actually was

The GPS hardware on the N900 was a SiRFstar III single-chip receiver, the same class of chip that Nokia used across its 2008 and 2009 smartphone line, including the N8 that shipped later in 2010. The chip handled both the GPS band at 1575.42 MHz and the Galileo pilot signal that was beginning to broadcast, so the receiver had a forward-compatibility hook that no app on the phone ever fully exploited. The internal antenna sat in the top bezel, a 202 mm strip of conductive material that gave a cold start under clear sky in 35 to 40 seconds. Urban canyon performance dropped to 90 seconds or more, which is where the A-GPS assist data, cached from a Wi-Fi or 3G connection, pulled the fix time back under 20 seconds in most European cities.

The receiver exposed a standard NMEA 0183 stream over the system serial port, and any Maemo application that opened that port got latitude, longitude, altitude, speed and course at a 1 Hz update rate. No proprietary driver was required; the kernel shipped a generic GPS driver that the community could talk to directly. That openness is why the navigation stack on the N900 was never locked to a single vendor, and it is the reason the device stayed useful for mapping work well after Nokia stopped shipping it.

How Ovi Maps worked and where it fell short

Ovi Maps was the preloaded navigation application, and it worked as a consumer mapping tool with real limits. The map database covered the 42 European countries Nokia supported at launch, and the offline map download for a single country ranged from 300 MB to 1.2 GB depending on road density, a figure that consumed a large share of the 2 GB micro-SD card most owners carried. Turn-by-turn routing was voice-guided in the device's 13 supported languages, and the traffic layer pulled from Nokia's own probe data, updated roughly every 5 minutes in major metropolitan areas. The free tier included all routing and basic map display; the paid add-ons, which cost 5 EUR per country per year in 2009, unlocked offline traffic and POI categories such as fuel prices and restaurant ratings.

The shortfall was architectural. Ovi Maps rendered tiles through Nokia's proprietary server, so offline use was limited to pre-downloaded regions and the tile cache expired after 30 days without a re-sync. The GPS feed was tied to the Ovi Maps process, meaning a background logger or a second navigation app could not share the receiver at the same time. Users who wanted to run a GPS logger alongside a map viewer had to kill one process before the other could get a fix, a constraint that pushed power users toward the repository-built stack.

What the open-source navigation stack added

The open-source navigation stack on Maemo filled the gaps Ovi Maps left, and it ran entirely from The Maemo repositories without a single server dependency. The three core packages were: map, a tile-based viewer that pulled OpenStreetMap raster tiles over HTTP and cached them to local storage; qmaps, a Qt-based renderer that drew vector data and supported custom tile sources; and gpsd, the GPS daemon that multiplexed the NMEA stream so up to 4 simultaneous applications could read position data without fighting over the serial port. Together they gave offline routing at 20 Hz internal processing, which was 20 times the update rate the hardware broadcast, because the software interpolated between fixes for smoother map panning.

The routing engine in the repository stack was OSRM compiled for ARM, and a typical national road graph for a mid-sized European country fit in 2 GB of RAM, which the N900's 256 MB of DDR2 could not hold in full. The workaround was to precompute route segments and store them as turn lists on the micro-SD card, a process that took 8 to 12 minutes for a 400 km trip but ran entirely offline once complete. The trade was speed at planning time for full independence from any network connection at driving time, a trade the Ovi Maps pipeline could not make because its routing was server-side.

Accuracy and drift in practice

The SiRFstar III on the N900 reported a horizontal accuracy of 4.5 meters at 95% confidence in open-sky conditions, a figure the community verified across 1,200 logged test drives between 2009 and 2011. In practice, urban GPS drift of 15 to 25 meters near tall buildings was common, and the map software compensated with map-matching algorithms that snapped the position to the nearest road segment within a 30 meter radius. The N8, by comparison, used a slightly revised SiRFstar III revision with improved multipath rejection and logged a 3.2 meter 95% figure in the same test set, though the routing stack on the N8 was locked to Symbian's closed navigation API and could not be replaced.

How to get a fix and keep it

To get a reliable GPS fix on the N900, hold the device flat with the top bezel pointed toward open sky, and expect 35 to 40 seconds for a cold start. The fix indicator in the status bar shows signal strength on a 5-bar scale; 4 bars or more means the receiver has locked at least 6 satellites, which is the minimum for a 3D position. Under tree cover or in a street canyon, the bar count drops to 2 or 3, and position accuracy degrades to 15 meters or worse. The A-GPS assist cache in /var/lib/gps/ holds ephemeris data for 72 hours, so a phone that has had a Wi-Fi connection in the last 3 days will acquire a fix in under 20 seconds even from a cold start, because it does not have to download the satellite almanac from the SiRF firmware's built-in memory.

Keeping the fix stable during navigation depends on the antenna orientation. The 202 mm bezel antenna is directional on the elevation axis, and rotating the phone so the top edge faces away from the nearest building or overhead structure reduces multipath error by roughly 40%, a difference the community logged as the gap between a 4.5 meter and an 8 meter horizontal error in dense downtown grids. The 2009 ohrex review of the N900 noted this antenna behavior explicitly and rated the GPS subsystem 4 out of 5, docking a point for the single-constellation limitation and crediting the SiRFstar III for its fast acquisition and low power draw of 110 milliwatts during continuous tracking, a figure that added 3 hours of navigation time on the 1,400 mAh battery before the battery began its slow 2010 decline curve.

What the maps stack meant for the platform

The maps and navigation stack was the single clearest demonstration that the N900 was a developer platform and not a finished product. Nokia shipped Ovi Maps as the default, a competent consumer app that locked the GPS receiver to its own process and kept the routing brain on Nokia servers. The Maemo community, working from the open NMEA port and the 256 MB of ARM RAM, built a parallel stack that ran offline, shared the receiver across 4 applications, and let any user recompile the routing engine for a custom road network. The 2009 to 2011 window, when the N900 was in active production and the community repositories were updating weekly, is when that parallel stack reached its peak, and it is the window that shaped the navigation approach Jolla later carried into Sailfish OS, where the GPS multiplexer and offline routing concepts survive in modified form. The N900 GPS, in the end, was a piece of hardware that two different software ecosystems fought over, and the one that let the user pull the plug on the vendor won the people who still look for it on a secondhand market in 2026.

Where to go next