TomTom One and Mac GPS
November 13th, 2006 by Stephen
Okay, I have successfully connected my new TomTom One with my Mac laptop via bluetooth, such that the GPS data can be read by applications. It was not quite the way I wanted to do it, but it works well enough. Here then are instructions if you want to do the same (complete with how to get Macstumbler to read the GPS data).
Safety first: Do not follow these instructions until you have backed up your SD card safely, and have tested the restore process. Restore to a new SD Card and keep your original SD card safe. The details on this web page do not constitute a recommendation that you should follow them. You do so entirely at your own risk.
Okay, with those disclaimers over, and if you want to proceed, then you need to do the following:
1) Install the rfcomm executable onto your SD card
2) Install a startup script that will create the rfcomm bluetooth connection(s)
3) Tell your Mac to listen for the connections
4) Tell Macstumbler and other applications where to find the GPS data feed
There is an easy method and a hard method to do this. I’ll detail the easy method first.
You can install the missing rfcomm executable and some pre-built scripts by downloading the Wildtom package (tt-bt-net2.zip from Roberto Piola’s site). If you want to connect to a Linux box with bluetooth, this is all you need. Just follow the instructions in the package.
However, if you have a Mac, then you have some more work to do. Copy the files in the Wildtom package onto your SD card, and then edit the gpsproxylistener file in the wildtom folder on the card. You are going to alter this so that it no longer listens for incoming connections, but tries to open a connection to your Apple mac.
Why?
Unfortunately the Mac does not provide the tools for creating a direct RFCOMM connection to the TomTom one. It tries to do everything through the GUI interface. This would be great, except that the RFCOMM serial ports on the TomTom are not discoverable, and it resists pairing. If you could pair to the TomTom one from a Mac (using the Pairing key of 0000) you could theoretically just connect up the serial ports, but I couldn’t make this work unfortunately.
Right, so we have to get the TomTom to initiate the bluetooth serial connection to your Mac. How do we do that? Well, the first step is to discover the MAC (Media Access Control) address of your Mac’s bluetooth adaptor. click the “Apple” menu, choose “About This Mac” and click the “More Info” button. Under “hardware”, click “Bluetooth” and your Bluetooth Mac address is listed in the address field. It is a six byte number that looks something like this: 00-14-51-00-01-02. Note this down.
Okay, so we have the MAC address. Now plug in your TomTom One to your Mac and let it connect to the computer so that you can access the SD Card. Navigate into the “wildtom” folder on the SD card and edit the file called “gpsproxylistener”. Change the “rfcomm listen … ” line to read:
/mnt/sdcard/wildtom/rfcomm connect 1 00:14:51:00:01:02 3 &
Substituting your bluetooth MAC address for the one above of course. Technically, this is no longer a gpsproxylistener, but don’t worry about that detail!
And that is it. You are ready now to connect your TomTom. Disconnect from your computer, and click your way through te menus to find the newly installed “start BT services” button. Click this and click Okay to the following question, and your TomTom should now try to connect with your Macintosh. The gps data feed should appear on rfcomm channel 3, which should be your Bluetooth-PDA-Sync serial port (if you use a PDA, you may wish to modify the rfcomm cahnnel from 3 to 1 and add in a new incoming serial port).
Try it out. Fire up Macstumbler, or some other GPS aware application. In Macstumbler, choose preferences and choose to enable GPS support, and select /dev/tty.Bluetooth-PDA-Sync as the GPS device.
Make sure the TomTom One is not in your house (if your car is out the front, lock the TomTom in the car and go inside. Because we are using Bluetooth you don’t need to be right next to the GPS when testing). Once you get a GPS lock, “Show GPS status” in Macstumbler will give you your GPS location in NMEA format.
You are now ready to go for a drive and collect some test data!
This article is long enough now. Watch out for the next installment: How to convert NMEA data and Macstumbler output into something you can use on Google maps.


[...] The other day I wrote about how I had attached my TomTom One to my Mac via bluetooth to extract the GPS data. I hooked this all up to Mac stumbler and took a drive around Aberystwyth to see what wireless access points were advertsing themsleves. I used no special aerials, nor did I try and look for access points that were not advertising themselves – if a beacon fram made it to my Mac sitting on the passenger seat, it was counted – otherwise the access point was ignored. [...]
Thanks for figuring this out! Your time and sharing is much appreciated.
However, I can’t get it to work. I get as far as opening the BT services on the tomtom, clicking the okay, and then a popup on the Mac says that the Tomtom is trying to connect, enter passcode. I’ve tried every possible passcode (including ‘0000′). I can’t connect, what could I be doing wrong?
Thanks much!
That is strange, as it did not happen on my Mac. I guess it would be worth a look underthe Bluetooth services in system preferences / hardware. Click on the sharing tab and ensure that you have Bluetooth-PDA-Sync enabled. Also make sure there is no tick in the “key” box, as this tells the Mac to expect a pairing password before syncing.
If you get this working, another tip someone gave me, for connecting up the console on the Tomtom is:
Add this line to startbt script:
sdptool add –channel 2 SP
and this line to btstop script:
sdptool del 0×10004
——————————–
In this way the bluetooth channel 2 (console) is discoverable.
If you don’t discover the console, you will need to reset the Tomtom to take it out of the bluetooth services.
Thanks for your interest.
Thanks for such a quick response. I’ll tell you where I’m at:
I’ve been able to set up a connection three separate occasions, each after monkeying around for about a half hour. I’ve been careful to see what I’ve done, but I can’t predict when I can replicate success to establish a connection.
My Bluetooth preferences are set up as you described, no ‘key’ and the PDA sync is set up.
Something perhaps of interest, whenever I start the BT services on the TomTom is just pesters the Mac with passkey requests — since you can’t bash into the TomTom and interact with it at all until you have established a connection, what could the proper passkey be?
When I have gotten a connection it’s always been in the part of the GUI for setup bluettoth device withinOS X where it is ‘gathering more information about your device’ most often the BT icon show a connection for half a second and drops, but every once in a while it does seem to hold — and then I can go off and conduct my data gathering with GPS.
Thanks again for your help!
Bob,
Someone wrote back to me to say:
That seems to inidicate he wrote the words “no key” at the passkey request.
If that doesn’t work, what version of the Tomtom software do you have? Mine is:
appl. 6.520(7690/061002) OS:1387
GPS v1.21, Boot 4.86
I hope this is of some help,
Stephen
Has anyone experienced TomTom support – it is simply awful. You wait at least 30 minutes to get anyone on the phone. The people on the phone are actually rude and they put you through endless hoops before you can return dead product.
With TomTom if anything goes wrong you are on your own.
I just got a TomTom ONE XL. Works okay, but I can’t get the emulator to work on the TomTom Home software. It just tells me “at this time there is no component available that is compatible with your TomTom device”.
What the hell? What does that mean and why not?
Is it cos I have a Mac? The mac is 7 months old and the tomtom is brand new. This now means I can’t put a PIN code on the tomtom as you can only do it through the emulator.
I can’t be the only person is happening to, surely. Have you heard of anyone finding a solution to this?
By the way, yes the customer support is pointlessly rubbish. The people know nothing and can’t seem to wait to get you off the phone. They’re unreliable like the software and badly in need of ANY kind of technical knowledge.
Thanks for posting this. I’ve just recently started trying to hack my TomTom GO300 and this seems to work nicely – particularly with MacStumbler.
If you know of any other websites that have info on hacking the TomTom, I’d love to know of them. Particularly, I’d like to do some development of my own on the thing.
I didn’t realize everything was just scripted.
I do have one small problem at the moment =[
…anyone know how to shut down the program? I’m on a TomTom GO300.
It’s working like a charm, but unfortunately the ‘rfcommmonitor’ script is still running and I don’t know how to stop it. I’ve turned off bluetooth on my Mac but that didn’t seem to do it.
Basically the:
BT Connection status
rfcomm listen /dev/rfcomm2 2 rfcomm listen /dev/rfcomm3 3 1->gps; 2->tty; 3->ppp
kill 211 to stop monitor
Just keeps looping. Even if I turn the device off and back on, it still seems to persist. I’ll probably try the reset button on the back next, but was wondering HOW I can actually issue the ‘kill 211′ to stop the process.
For the record, resetting the device DID quit the program and normal operations seem to have resumed.
(sorry for successive posts)
When i try to open a connection using
rfcomm connect /dev/rfcomm1 MacAddr 1
it establishes the connection but when i type
cat /dev/rfcomm1 it basically outputs random characters not standard NMEA data.
http://ubuntuforums.org/showthread.php?t=659164
At the bottom it shows an example of what it is spitting out. If you could help me that would be great.
Thanks.
Hi,
this is at somewhat of a tangent but it related to the tomtom all in one thing on OS X (Leopard). I have had no end of problems getting it to update kaps etc. However today I finally decided to contact their support department by phone. I repeated the update procedure of connecting the device and allowing it to connect to the computer and it downloaded the update and crashed the tom tom application at the usual 96% complete… I did then get a message about a new version and despite my suspicions of installing new software just because it exists I did so.. The result is all of a sudden all seems to work beautifully. I think they have had dodgy bugs in the software which is a shame for such a widely-used and large organisation but it appears (fingers crossed) that these have finally been ironed out.
I did hear a story from someone on one of these TomTom developper forums about some malware being introduced in a previous version that did something like transmit home locations. The source was reputable but to be honest this latest software release finally seems to do what it says on the box so to speak…
@dave i was getting the binary data as well. another user mentioned that the tomtom one xl has a specific GPS chip which outputs binary data (”Global Locate Hammerhead” chip).
changing the following line in gpsproxylistener worked for me:
cat /dev/gpsdata > /dev/rfcomm1
to:
cat /var/run/gpsfeed > /dev/rfcomm1
cheers!
-robert
how do i issue the kill command?
kill 404 to stop monitor
I love guides… I looked at the rfcomm help thing and none of the options atcualy gave commands to the device..