5 min read

Proving Porsche PCM 6 Shares Vehicle GPS with CarPlay

An investigation into the Porsche 911, CarPlay and a surprisingly useful Core Location API.
CarPlay and Porsche PCM
CarPlay and Porsche PCMx

I’ve spent quite a lot of time recently looking at how my Porsche 911 Targa interacts with my iPhone.

Partly because I’m curious about how Porsche’s PCM and Apple CarPlay actually work together, and partly because I’ve been developing my own open-source driving-recording app, DriveLine.

One assumption I had always made was fairly simple:

⁉️
When I use Apple Maps, Waze or another navigation app through CarPlay, the iPhone is doing the GPS work.

The Porsche PCM is essentially the display and interface. The iPhone knows where it is, calculates the route and sends the resulting information to the PCM.

Except that isn't quite what is happening. And I found a way to prove it.

CarPlay isn't just a screen – the mental model most of us have for CarPlay is that it acts as an external display to our phone. But CarPlay is considerably more integrated with the vehicle than simply sending pixels to the PCM.

The vehicle can provide information to the iPhone. And one of those things is location. I knew this was possible in principle, but I hadn't realised that Apple actually exposes the information to ordinary iOS applications through Core Location.

Apple's documentation gives the game away

While working on DriveLine, I came across an API called CLLocationSourceInformation. It provides information about the source of a CLLocation being delivered to an application. There are two particularly interesting properties:  isProducedByAccessory and  isSimulatedBySoftware.

The first tells an application whether the location was obtained from an external accessory. The second tells it whether the location is being generated through software simulation. The really interesting part is Apple's documentation for isProducedByAccessory.

Apple says that Core Location sets this property to true when the system retrieves the location from an external accessory — and explicitly gives CarPlay as an example. 

So Apple isn't being vague about this. CarPlay can be a location source for Core Location. That immediately raised a question:

What does my iPhone actually report when it is connected to the PCM in my 911?

Just because CarPlay can share locations with a phone, doesn't guarantee that Porsche's PCM does.

There was only one way to find out.

Modifying Driveline

DriveLine already listens to Core Location because its primary job is to record my drives. I made a very small change to the location streaming code. Whenever DriveLine receives a location, I ask Core Location where that location came from:

I then connected my iPhone to the Porsche using CarPlay and went for a drive. And this appeared in the DriveLine console:

There it was:

[Location] Location source - CarPlay: true, Simulated: false

Core Location was reporting that the location being delivered to DriveLine was produced by an external accessory via CarPlay.

iPhone really is receiving the car's location

There are a number of positive aspects to this. The first is where the GPS antenna is located. In the 911, the vehicle's GNSS antenna is positioned at the top of the windscreen, close to the rear-view mirror. That's a much better location for receiving satellite signals than my iPhone sitting down in the phone-storage cubby.

The Porsche's antenna has a relatively unobstructed view through the windscreen and is positioned specifically as part of the vehicle's navigation and positioning system, while the iPhone is sitting much lower in the cabin, surrounded by the dashboard, the sides of the storage compartment and the rest of the car's interior.

That matters because satellite navigation works best when the receiver has as unobstructed a view of the sky as possible. The phone doesn't suddenly become a better GPS receiver just because it's running Apple Maps. The car has a purpose-designed antenna, positioned specifically for the job.

For a phone that's sitting in a relatively enclosed storage compartment, that is potentially a significant advantage.

There is another advantage that I think is considerably more interesting: Dead reckoning.

A modern Porsche doesn't just know its position from GPS. The vehicle has access to information from its own sensors — things such as wheel speeds, steering angle and other vehicle dynamics data — which can be used to estimate how the vehicle is moving when satellite positioning becomes unavailable.

That's extremely useful in tunnels. Drive into a long tunnel and the GNSS signal eventually disappears. An iPhone relying purely on satellite positioning has a fundamental problem: it can no longer see the satellites. The car, however, knows its still moving and it knows the vehicle's direction and movement, it can continue estimating its position while the satellite signal is unavailable.

The GPS/GNSS hardware in modern iPhones has improved considerably over the years, and Apple continues to improve the positioning capabilities of iOS itself. In iOS 27, Apple is also adding further positioning capabilities that make use of the iPhone's sensors when satellite positioning isn't continuously available.

But I'm still using an iPhone 13 mini. It has perfectly adequate positioning for everyday use, but it obviously doesn't have the latest generation of Apple's positioning hardware.

And yes, I know the 13 mini has something of a cult following – I'm very much part of it. I love having a genuinely small, pocketable phone, so I'm rather reluctant to give it up simply to get newer hardware.

The fact that the Porsche can contribute its own positioning capabilities through CarPlay makes that decision a little easier.

Apparently, a lot of people don't know this

Once I'd established what was happening on my Porsche, I started looking around to see how well understood this behaviour actually is.

The answer seems to be: not very well.

There are numerous discussions on Reddit where people are genuinely unsure whether CarPlay uses the iPhone's GPS or the car's GPS.

One particularly good example is a 2024 discussion in r/CarPlay titled “Does CarPlay use iphone GPS or car's built in GPS antenna?”

The original poster asks exactly that question, saying they'd read that CarPlay uses the car's GPS antenna rather than the phone's GPS. The responses range from “I'm 99% sure it just uses the iPhone GPS” to people explaining that OEM CarPlay systems can provide their GPS data to the phone. 

Does CarPlay use iphone GPS or car's built in GPS antenna?
by in CarPlay

There's an even older discussion from 2020 where someone with a Pioneer CarPlay head unit asks whether they can connect their car's GPS antenna so that CarPlay uses the car's GPS instead of the iPhone's.

Role of Car GPS Antenna while using CarPlay
by u/firdouskhan74 in CarPlay

It is possible the confusion stems from different vendors implementation of CarPlay may do different things with location data.

But one thing this investigation demonstrates is that Porsche PCM 6.0 is providing location information to the iPhone through CarPlay.