TomTom again


I turned the TomTom back on in navigation mode this morning, and it had lost all my preferences – including the pairing to the hands free kit.

I’m back to using the Garmin for wardriving until the blutooth gps stuff is a little better sorted – at least I’ve got that option for now, and at least I can use the naviagation at the same time.

It seemed too good to be true when it was as easy as it first appeared.

TomTom as a Bluetooth GPS

I was chatting with Steve Kingston earlier today, and it came up that he had managed to hack his TomTom Go to deliver NMEA GPS data through bluetooth to his Mac laptop. I’ve currently got 2 GPS receivers in the car – one in the TomTom for directions, and the second wired to a serial port on the laptop for when I’m wardriving and doing other GPS related stuff on the laptop.

I was only thinking the other day how much nicer it would be to be able to connect to the TomTom through bluetooth, 1. it would get rid of a gadget in the car, and 2. it would get rid of the cable connection to the laptop.

So I took a look at Steve’s post and Roberto Piola’s site and managed to get it working. The only gripe I have is that when you use the TomTom in Bluetooth GPS mode, you lose all the route finding functionality – basically you just get a black screen with a few status lines. You can’t have everything at once, and I’ll take a look at some of the scripts and see if it’s possible to run this in the background while the navigation continues. Oh, and the fact that you have to hard-reset to get out of the application – just leaves a little to be desired.

Waiting for a Wii

Make a Mii even if you haven’t got a Wii yet.

I’m still waiting for them to come back into stock in Aber, or somewhere nearby so I can get hold of one. Why didn’t I preorder one – well long story that I’m not going into here, but I will be getting one as soon as I can now.

Free router firmware

I finally got around to upgrading the firmware on my Linksys WRT-54G wireless router. I debated a year or two ago about installing the SVEAsoft firmware, but as that cost money, I decided aginst it.

Whilst there’s nothing hugely wrong with the original firmware, the new firmware is just so much more flexible, and allows QoS, WDS and a few other funky options.

The thing that got me started on this one again was the article on lifehacker linked from the makezine which made me seem so very easy.

A couple of things caught me out on the way, and I had to do a hard reset after installing the initial minimal firmware, and as I was using the v23 SP2 version it messed up the passwords and needed the hard reset to allow me to log in, as password files changed, but apart from that it was pretty plain sailing.

I now have a nice Version 2.0 WRT54G running DD-WRT V23 SP2 and it all works fine.

LED Badges

I just bought a little LED badge off ebay, that displays programmable messages scrolling across it. It was relavitely cheap as an output device that could be attached to a server, and might provide some fun on visit days.

Of course I knew that the software that came with it would be only for Microsoft windows, and although it is possible to use the surface mounted buttons on the back to reprogram the messages, it would be rather long-winded.

So when it arrived today, the first thing that I did with it was load the software onto a windows machine and play with it to find out what the communications requirements were.

A quick test with the software determined that even with no device plugged in, the software worked – indicating that it was just “fire and forget”, there was no hand shaking going on – would make life a lot easier.

Out came the data analyzer, and after a couple of false starts, the baud rate was found to be 1200, 8 data bits, 1 stop bit, and no parity. Nice and straight forward.

Fire up the mac laptop, with a null modem cable to the keyspan USB to serial adapter, and quick edit of some WellyWanger comms code, and I can capture the data that the software is sending.

Now for the interesting bit, the data is not just an ASCII message being sent, so I have to capture the data as something other than ASCII – I prefer to look at it in decimal, besides it’s a little easier to present the data in decimal in Java than it is in Hex.

The software allows for 10 different messages to be stored on the badge, so I try sending a single character ‘A’ to channel 0 and channel 1:
The data stream captured is:

251 243 89 254 251 246 1 16 2 0 254 = 'A' channel 1
251 243 89 254 251 246 0 16 2 0 254 = 'A' channel 0

Try sending character ‘B’
251 243 89 254 251 246 0 16 2 1 254 = 'B' channel 0

Try sending ‘AB’ to see if there is a char count:
251 243 89 254 251 246 0 1 2 0 1 254 = "AB" channel 0 (no char count!)

Changing the other options and logging the output takes about 1/2 hour, and gives me a bunch of data to work with – I’ve worked out most of the protocol.

A little programming work this evening in Java has resulted in a couple of classes which run from the command line and allow programming of the badge from Mac OS X.
A GUI might have to come later on, but for now I’ve got a command line program that has a number of options, allows you to program all 10 channels, has the first 96 characters mapped out in the conversion. This gives me the ability to use the badge as a status display on a server when I’m not using it as a badge.