Playing with bluetooth GPS for fun and profit

I am recently fiddling with an old Bluetooth receiver to use it as a time source for my Arduino chrondot clock. Please note it’s already been done[wyolum.com] and an interesting graph of Chronodot drift is provided.
First of all I decided to get a good look at the NMEA stream coming out of the GPS unit.
It’s quite painless on recent Ubuntu (thanks westernwillow):


$>sudo hcitool scan
00:1C:81:55:1C:A1 iBT-GPS
$> sudo rfcomm bind /dev/rfcomm0 00:1C:81:55:1C:A1 1
$ ls -l /dev/rfcomm0
crw-rw---- 1 root dialout 216, 0 Nov 19 14:41 /dev/rfcomm0

Now we have a valid serial device we poll with minicom ($>sudo apt-get install minicom)
We have to change the serial device in minicom configuration $>minicom -sminicom bluetooth serial setup

The minicom bluetooth serial setup

than save and fire up minicom and you should see a stream of NMEA.
$PMTK0XX0,00XX*XXE
$GPGGA,XXXXXXXXXXXX.XXXXXX,XXXXXXXX.XXXXXXXX,N,00XXXX0.XXXX0XX,E,0,0,,XXXXXX.XX,
M,XXXX.0,M,,*XXXX
$GPGSA,A,XX,,,,,,,,,,,,,,,*XXE
$GPGSV,XX,XX,XXXX,XXXX,XXXX,XXXXXX,,XXXX,XXXX,XXXXXX,,0XX,XXXX,XX0XX,,XXXX,XXXX,XX
XXXX,*XXC

This would be an interesting step on itself to have an handy precise timesource using gpsd and ntp
Next step is to assert if the following is suitable [arduino.cc] for me.

Updating the Atmega8U2 on an Uno with DFU

My Arduino is quite old, and I had to upgrade the firmware to address  some issues that arose with serial.
Basically I used Windows  XP and those resources:
http://arduino.cc/en/Hacking/DFUProgramming8U2
but it’s no so verbose, it’s useful as a general introduction.
I soldered a 10K resistor like advised, but then  I decided  to rely on this one[thanks a lot, Ant_b] without compiling myself the firmware which I got here:
Arduino Uno updated firmware (contains also others versions, so I had to check that the hex file is sound, and could’t just right click and save)
and using the resistor instead of the jumper.

Ant_b gives two VERY important bits of information: where  to find drivers for Arduino’s Atmel once in DFU mode (Arduino Uno DFU,  drivers are inside Atmel flip programmer installation directory  in Atmel\Flip 3.x.x\usb) and which Device I ad to use for a successful update (selected the device AT90USB82   and not the ATmega8u2 as advised!!).
To avoid soldering here I found some other stuff:
[Untested]This Forum post [Thanks Pluggy]
[Untested, I soldered]http://ossnotebook.blogspot.it/2011/06/dfu-mode-arduino-uno-without-soldering.html
which can be a good idea because the pad is small and it’s easy to burn it. Now Arduino shows firmware ID in windows control panel – hardware devices 000.001 instead of 000.000.
Thanks guys!

Codingcolor Arduino RTC LCD clock with Chronodot

I recently started experimenting again with Arduino and must say I am having a lot of fun.

Chronodot Arduino and LCD RTC clock
Chronodot Arduino and LCD RTC clock

I had the idea to implement an RTC clock with arduino and excellent Macetech Chronodot and got myself the needed parts from Adafru.it. As it often turns out with Arduino project, someone already had the same idea (and luckily they used the Chronodot too): before reinventing the wheel a fast google search revealed “An Arduino LCD clock using the ChronoDot RTC”.Continue reading “Codingcolor Arduino RTC LCD clock with Chronodot”