Time to play with GPS and Arduino

I’ve always enjoyed playing about with time. Accurate time is not really a fascination but I do like a clock to tell the time. The MSF 60khz time signal is one source and I have played about with that system with an Arduino and it works well, when there is a good signal for a whole minute. GPS time has always been a bit of a thing for me because you can set it to UTC and it’ll always show UTC and frankly there are a lot more libraries available to play with. GPS Tiny & GPS Tiny+ are two of those and this evening I ‘forked’ a sketch to use a cheapo off the shelf gps module to tell the time and date on a 16×2 LCD. Nothing spectacular but hey if I can do it then so can anyone. Here’s a short sweet video of it in action (near the window!)

sketch goes a little like this


#include <TinyGPS++.h>
#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
/*
This sample sketch demonstrates the normal use of a TinyGPS++ (TinyGPSPlus) object.
It requires the use of SoftwareSerial, and assumes that you have a
4800-baud serial GPS device hooked up on pins 8(rx) and 9(tx).
*/
static const int RXPin = 8, TXPin = 9;
static const uint32_t GPSBaud = 9600;
// The TinyGPS++ object
TinyGPSPlus gps;
// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
ss.begin(GPSBaud);
lcd.begin(16,2);
lcd.setCursor(1,0);
lcd.print("Tiny GPS+ Time");
delay(3000);
lcd.setCursor(1,2);
lcd.print("by Alex, g7kse");
delay(5000);
lcd.clear();
}
void loop()
{
// This sketch displays information every time a new sentence is correctly encoded.
while (ss.available() > 0)
if (gps.encode(ss.read()))
displayInfo();
if (millis() > 5000 && gps.charsProcessed() < 10)
{
lcd.print("No GPS detected");
for (int positionCounter = 0; positionCounter < 20; positionCounter++) {
while(true);
}
}
}
void displayInfo()
{
lcd.setCursor(4,0);
{
if (gps.time.hour() < 10) lcd.print(F("0"));
lcd.print(gps.time.hour());
lcd.print(F(":"));
if (gps.time.minute() < 10) lcd.print(F("0"));
lcd.print(gps.time.minute());
lcd.print(F(":"));
if (gps.time.second() < 10) lcd.print(F("0"));
lcd.print(gps.time.second());
}
lcd.setCursor(3,2);
{
if (gps.date.day() < 10) lcd.print(F("0"));
lcd.print(gps.date.day());
lcd.print(F("/"));
if (gps.date.month() < 10) lcd.print(F("0"));
lcd.print(gps.date.month());
lcd.print(F("/"));
lcd.print(gps.date.year());
}
}

My name is Alex, I am dumb (occasionally)

May normally brings a bit of Es fun for me in sunny St Bees. I duly put up the 6m antenna (which annoys the xyl). Tuned into 50.150 and started listening about. Nowt.

I left it a few days and went back when I knew there was Es. Nothing heard…strange.

Carried on listening. Considered starting a white noise listening club.

This evening I checked all the cables

I had wired up a co-ax patch lead…to thin air.

I’ll be contacting Ofcom to hand my license back in and accepting the dunces cap for however long it takes me to stop being so dumb! My sincerest apologies to one and all .

 Winking smile

FabLab first

After some cautious first steps my first laser cut parts have been made. The case for the clubs upcoming WSPR kit build prototype has been, well, lasered.

IMAG0293

There’s a couple of minor points to address but for a first effort I’m pretty pleased.

The idea was to cut for a single sheet a ‘desktop’ case for the U3 WSPR transmitter that could display a callsign or something similar on the front as a customisation as well as being simple and space efficient. Yep, you can buy a case but its quite nice to be able to make one in Cumbria rather than China. I should be able to get 4 and a half of them out of a single 300mmx600mm sheet.

All I have to do now is fix the faults and make it right next time.

Portable Hexbeam v’s Cobwebb

After a few more weeks of not getting on the air I managed to man handle the portable Hexbeam up to about 4 above ground level (Note: must get that tilt base sorted out) to compare it against the Cobwebb I have in the loft.

So before we go down the ‘It’s not scientific’ route. I’m ok with that, no big deal its just a bit of fun.

There are some significant differences between the two antennas that I hadn’t fully appreciated. Firstly the noise levels on the Cobwebb were quite a bit higher, which seemed to make the Hexbeam sound quiet, when in actual fact there was no significant difference on the higher bands when it comes to S points. But, the lower noise levels made it much nicer to use. The image below shows what I mean. There is a band of ‘mush’ slap bang in the middle where I switched onto the Cobwebb. Just so you know, the Cobwebb was way quieter than the vertical I had before.

cuSDR Hexbeam vs Cobwebb

It’s not a huge visual difference on the screen but the ears make it obvious. The gain on the Hexbeam made it easy to make contacts with C06LA answering on the first call, I’d never expect that on the Cobwebb.

You can also see that the signal strength is fairly similar, that was W4UH calling CQ.

So not much in it when the Hexbeam is really low, I’m sure it’ll beat the pants off the Cobwebb at 12m but interesting to see that the Cobwebb is ‘noisier’. Especially as I thought it was quite a quiet antenna.

Portable Hexbeam

Saturday saw me opening a beer celebrating finishing off the new decking area…which means….Sunday saw me finishing off my portable hexbeam from Folding Antennas. The build took quite a while, about 8 for the hardware and about 3 for the layout and tuning. I’ve not used it much in anger as the rains started coming.

An early doors write up is here…..but so far its looking worth the build time. Here’s a shot of the half finished decking…oh and a half finished antenna.

2014-03-25 12.10.50