Subscribe to
Posts
Comments

TomTom One and Mac GPS

TomTomOkay, 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.

Comments Tracking Services:
  • co.mments
  • del.icio.us
  • Furl

14 Responses to “TomTom One and Mac GPS”

  1. [...] 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. [...]

  2. on 08 Feb 2007 at 10:50 pmBob

    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!

  3. on 09 Feb 2007 at 10:36 amStephen

    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.

  4. on 11 Feb 2007 at 8:11 pmBob

    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!

  5. on 13 Feb 2007 at 12:06 pmStephen

    Bob,

    Someone wrote back to me to say:

    Hello,
    I managed to make it work following your instructions and pairing it using “no key” (I found it to be needed, otherwise it just woudln’t work), and everything seems okay

    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

  6. on 02 Nov 2007 at 1:30 pmRod Baptie

    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.

  7. on 04 Jan 2008 at 1:47 amAndy

    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.

  8. on 04 Jan 2008 at 9:39 amKevin

    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.

  9. on 04 Jan 2008 at 10:17 amKevin

    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.

  10. on 04 Jan 2008 at 10:21 amKevin

    For the record, resetting the device DID quit the program and normal operations seem to have resumed.

    (sorry for successive posts)

  11. on 05 Jan 2008 at 7:56 pmDave

    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.

  12. on 22 Feb 2008 at 1:45 pmJames

    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…

  13. on 24 Nov 2008 at 8:42 amrobert

    @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

  14. on 28 May 2009 at 12:22 amilovebadguides

    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..

Leave a Reply