Well, not QUITE – the Navspark Mini + UART to USB adaptor is free – but with a caveat of postal shipping charges.
http://navspark.mybigcommerce.com/navspark-mini-uart-to-usb-adapter/
Already the more savvy of you will have noticed a treat here. Let’s say you have no interest whatsoever in GPS – the second half of this equation is a little board with USB-serial conversion – chucking out 3v3. That alone has to be worth the postage if you’re into device programming!!!
So – cheap? Yes but… the GPS unit is not quite complete – as you need an aerial. There is an “active antenna which I think is around $9. So depending on postage, the whole lot might cost you $18 which is, what, £12.33 in UK money.
So, the antenna comes with lead that plugs straight into the “free” Navspark unit – and the USB unit provides power and serial I/O to whatever is is you want to use this with – if attaching to a microprocessor then obviously you don’t need the usb adaptor and so you get to use that for something else. The unit as you will see also has two other interfaces – handy if you don’t have serial.
I should state right at the start that I know very little about sat-nav other than it works in my phone and car and I know that the units put out a serial stream with all sorts of textual info including the time. I also have an idea of how the actual system works but I’m not at all a whiz on the data formats.
Did I say time? I did – and the reason I sent off for one of these was the realisation that sat-nav time is just about the most accurate source of time on the planet. It occurred to me that my Raspberry Pi has a spare serial input and would it not be nice to pull the time in – for the odd occasion I don’t have an internet signal after a power cut.
Attempt 1:
So – I sat here armed with all three units above. The Navspark has all sorts of signals but the easy one to use is simple serial.
There are lots of tutorials on their site…
http://www.navspark.com.tw/tutorials/
But here in a nutshell for testing on a PC:
I connected the board as per above, connected the aerial to the board… plugged in the USB to my PC and pulled up my Arduino serial monitor – just as it was handy.
And… a red light and…. nothing. For some reason I kind of thought it would just fire out serial information.
Then I realised I’d plugged the serial adaptor into my power supply – not my PC – duhhhh.
Attempt 2:
Sure enough – a steady stream of strange data coming out of the serial port. I change baud rate and voila…
$GPRMC,120255.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*7D
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPZDA,120255.000,28,06,2006,00,00*5F
$GPGGA,120256.000,0000.0000,N,00000.0000,E,0,00,0.0,0.0,M,0.0,M,,0000*6F
$GPGLL,0000.0000,N,00000.0000,E,120256.000,V,N*43
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$BDGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*21
$GPRMC,120256.000,V,0000.0000,N,00000.0000,E,000.0,000.0,280606,,,N*7E
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPZDA,120256.000,28,06,2006,00,00*5C
WELL that was easy enough – of course I’ve no idea what most of that means – and i realised the time was wrong. I very quickly remembered these things don’t like working indoors.
I happened to have a USB extender and put the aerial in the Dormer roof, held with packaging tape.. 30 seconds late.
$GPGGA,122557.000,0000.0000,N,00000.0000,E,0,00,0.0,0.0,M,0.0,M,,0000*6B
$GPGLL,0000.0000,N,00000.0000,E,122557.000,V,N*47
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$BDGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*21
$GPRMC,122557.000,V,0000.0000,N,00000.0000,E,000.0,000.0,080116,,,N*7E
$GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02
$GPZDA,122557.000,08,01,2016,00,00*5C
I’ve highlighted the time and date above. As I’m doing this in the UK there was no need for any hour offset.
There is a LOT of information online – I mean a LOT – and it’s in English…
http://navspark.mybigcommerce.com/content/NavSpark-User-Guide_rev0.8.pdf
They have a download for Windows – an EXE program that just runs. I shut down my Arduino IDE, punched the UART and speed details into their program and…about my only gripe is that even with the unit stuck in the centre of the dormer window – it would pick up on the right time – but not the location. After 15 minute still no location. I downloaded an AGPS file and a whole boatload of satellites appeared – but still no location.
There are SO many settings and queries available in this little program – and Arduino code available for embedded applications. Looks like a good gadget for the winter months..
I sat looking at the system for around half an hour just hoping that somehow it would realise it was looking at entirely the wrong part of the planet.. and sure enough, just as I was about to give up…
Can’t be bad – a nice GPS unit AND an FTDI or sorts for a tenner or so….
Would something like this http://www.ebay.co.uk/itm/NEO-6M-GPS-Module-Aircraft-Flight-Controller-For-Arduino-MWC-IMU-APM2-/361459880328?hash=item5428b01188:g:-YgAAOSwFqJWhg9P be just as good @ 7GBP?
Possibly cancelor though the explanation on Ebay could do with improvement.
“Without battery(it’s not safty by air mail)
The battery Model is MS621FE,Need to welding”
lol, 100A arc welding should sort it 🙂
Hah!
For those that have not found them yet, there is a set of tutorials here :- http://www.navspark.com.tw/tutorials
On the page there are links to documents and downloads.
As the device is programmable in the Arduino IDE I might use it with my Nextion display to make a simple GPS clock. All I have to do is wait for my navspark to arrive!
Peter, you may have missed this as I see no mention of it in your text, but the NavSpark GPS systems (there are several of them), ARE Arduino compatible and programmable. Not that you can hook up an arduino board, of course you can, but they can be programmed using the arduino IDE. The JSON file for 3rd party boards is here: http://navspark.mybigcommerce.com/content/package_navspark_index.json. The LEON3 compiler (http://navspark.mybigcommerce.com/content/sparc-elf-3.4.4-mingw.zip) you have to install separately.
Thanks for that Ingmar. I don’t claim to be a GPS expert so any new information is welcome. I’ve been taking a look at the control program I referred to in the blog – the number of drop-down programming options are staggering. I have two complete GPS units here.. one will end up attached to an ESP8266 making that information available to my system via MQTT – the other one – well the best swap offer for microSD memory gets it as I’ve just lost one of mine 🙂
Thanks for sharing this. I’ve put in an order. Note that the word must be getting around, because I received an automated email:
“Due to recent surge in demand for the freebie, we are running out of stock. So the shipping of your order will be delayed by a few days as we are working hard to pull in the manufacturing schedule. Please bear with us and sorry about the delay.”
Don’t you just hate that. Still it looks worth the wait – I just turned mine off as I needed the USB port for something else – it had worked for 18 hours non-stop without a hitch. Does need a reasonable signal. I did think it would be nice to shove it in a corner somewhere with an ESP8266 on it, reporting info occasionally like accurate time….
I am a big fan of your blog. Keep rocking !!
Pete, try putting a small ground plane under the Patch antenna to improve the reception/accuracy. Also bear in mind from a cold start it will take upwards of 1 minute to get a satellite lock as it needs to download the ephemeris data, though it looks like yours took a very long time (18 minutes!!!) so I would definitely try the ground plane.
Also the settings in that program won’t have any bearing on the actual running of the GPS module it is effectively a Serial port reader, the GPS modules are plug and play and should just get a lock on the satellites and start chucking out NMEA (the serial output you are seeing). There are any number of programs you could use with the GPS module including Google Earth (only useful if you are logging a journey) and u-center by ublox (a bit advanced but very useful if you know how to use it).
Hi Adam
That’s really useful I never thought of that… I expected a minute (they said 30 seconds) but nearly half an hour I thought a little excessive – but I didn’t thing about a ground plane. I’m having great fun with it now though my living room does look a little like a radio ham shack:-)