Showing posts with label GPS. Show all posts
Showing posts with label GPS. Show all posts

07 April, 2025

Customize your own list of favorite screens for the Multi-face GPS Clock

Fav 2 subset with 11 entries (Example in text has 9)
The Clock subset menu of the Multi-face GPS Clock gives you a choice already between:

  • All, 50 screens
  • Fav 1, 34 screens
  • Fav 2, 9 screens
  • Calendar, 13 screens
  • Clocks, 27 screens
  • Astro, 17 screens
  • Radio, 12 screens 

20 November, 2022

W8BH clock with EU option

The TFT GPS clock with touch control which has been designed by Bruce E. Hall, W8BH, is a very nice clock with a large and easily readable 3.2" color display. Its three different screens have been nicely laid out and designed also. The processor is an STM32 Blue Pill.

I cloned the software and modified it in two simple ways:

1. EU option

This is a backwards compatible version which can be Europeanized with formats for date and units. It also has possibility for removing the display of the battery icon, when running from a USB supply.

New boolean variables to set:

  • US_UNITS - if false: m, kmh, Little-endian date with '.', if true: feet, mph, Middle-Endian date with '/'
  • BATTERY_DISPLAY - true: as original code, false: no display of battery icon and status

23 August, 2021

Finally figured out the moon

I’ve been working on a GPS-controlled Arduino clock for some years and had set myself the goal of showing time for moonrise and for moonset for the present day. That turned out to be much harder than I had thought.

Finally, over the last few weeks I managed to adapt lunarCycle.c to Arduino and get it to work as shown in the display here. My ambition is now eventually to publish this project on GitHub as I’ve had several requests for it.

The display here shows local time and date, moon phase on line 2, present moon elevation and moon azimuth on line 3, and the next rise time of the moon and at which position on the final line. Follow label ‘ Multi-face GPS clock’ below for more posts about this clock.

03 September, 2020

GPS corrected 10 MHz reference

My  GPS corrected 10 MHz reference now plays beautifully, as I finally was able to continue the project after a long break. All the parts were here already in February, but projects don't always develop as planned. I ended up with a modification of the F2DC Versatile Low Cost GPS Corrected Frequency Standard. It consists of an Arduino Nano, a Si5351 I2C configurable clock generator, and a GPS where the 1 PPS pulse is used to correct the frequency every 40 seconds.

27 April, 2020

GPS Clock with Binary Display

Some years ago I started making a GPS Clock with a 20 by 4 LCD, Yet another Arduino clock. It has been running since then as my shack clock. Now was the time for some additional functions, in the form of fancy variations of how to show time. I wanted a display coded in 0's and 1's, but I found that there were more than one way to do that.

The simplest one to read may be BCD (binary-coded-decimal) displays. They can be horizontally oriented like here:


10 February, 2020

Si5351 GPS corrected VFO up and running

Arduino Nano, Si5351A clock generator, I2C LCD display, and rotary encoder. The GPS signal is connected to the plug to the lower left.
I got the Si5351A Arduino controlled GPS corrected VFO designed by W3PM, Gene Marcus, up and running the other day. It gets its timing information from a QRPLabs GPS and all the functions in the original article function as they should. The main change I made was to use an LCD display running over the I2C bus, thus saving a bunch of wires from the Arduino Nano to the display.

The software worked fine except that my locator was one off in the last letter, i.e. JO59fs rather than JO59fu. I hacked the original code by adding "1" to the variable GPSlocator[5] in the calcGridSquare routine. This is not a tested fix and it may possibly have other unknown and undesirable consequences, but it works in my location.

My plan is primarily to make a 10 MHz reference oscillator out of this, as a replacement for my "Just good enough 10 MHz GPS reference" which turned out to generate too much noise in the 14 MHz band.

Now on to decide what I want to show on the 2-line display for my use and then play with Arduino code. What I definitely want is some form of indication of correction factor and thus accuracy as in the version that F2DC built.


This blog post first appeared on the LA3ZA blog.

13 May, 2019

More spurs than I had hoped for

My Just good enough 10 MHz reference based on the direct output of a Neo-7 GPS module, described in detail before on this blog, is good in keeping long-term frequency stability. Short-term stability and phase noise is as expected not so good. When connected to the reference input of my Elecraft K3 and listening to an outdoor antenna, I get quite a substantial amount of spurs around 10 MHz radiating from the GPS module. But since the K3 itself does averaging over a second or so, this is fine from the point of view of keeping accurate frequency.

06 November, 2016

Yet another Arduino clock

Does the world need more Arduino clocks? Maybe not.

But I needed another Arduino project as I had made a K3NG morse keyer. I love this keyer because it is unique in supporting a display where you can see what you send. But I wasn't using the morse keyer all the time, so I wanted the hardware to serve two purposes. That's the excuse for also making a clock.

Its main features are:
  • Controlled by a GPS module outputting data over a serial interface, and handled with the TinyGPS++ library
  • Shows raw GPS data such as UTC time and date, position, altitude, and number of satellites
  • Shows derived GPS data such as 6-digit locator
  • Finds local time and handles daylight saving automatically using the Timezone library
  • Finds local sunset and sunrise, either actual value, or civil, nautical, or astronomical. The library is Sunrise.
  • The clock also gives local solar height based on the Sunpos library from the K3NG rotator controller
  • Finally, the clock also provides the lunar phase based on ideas found here.
The hardware for the K3NG keyer includes a speed pot and a memory bank selector (to the right) as well as four push buttons on top for selecting memories. The pot now controls the intensity of the display, but the bank selector switch is not used. Of the four push buttons, only button 1 is used (later two are used). With it one can toggle the clock through various displays as shown below.

Local time, solar and lunar state
Line 1: Local day, date, time
Line 2: Sunrise, maximum solar elevation (actual solar angle during the day), sunset
Line 3: Civil dawn, local time at maximum solar elevation, civil dusk
Line 4: Lunar phase, arrow showing that it is rising, days since new moon

11 April, 2016

Improved GPS reception with a ground plane

My poor-man's 10 MHz reference based on the Ublox Neo-7M GPS module didn't always receive GPS satellites. Since I rely on reception indoors, conditions were sometimes too marginal to lock the oscillator output to 10 MHz. Inspired by the QRPlabs GPS module of Hans Summers (G0UPL) with its large 6 x 6 cm PCB groundplane, I therefore decided to do something similar.

The first picture shows the unit with the 8.5 x 6.5 cm single-sided PCB ground plane attached with double-sided tape. It definitely helped make indoors reception in my shack much more reliable. In addition to the improved conditions for the patch antenna, it probably helps too that the antenna now is shielded from the digital circuitry of the GPS module, the 10 MHz pulse shaper, and the USB interface. I also added a small LED to the right so that I could see from the outside whether the GPS locks properly.

The second picture shows the interior prior to adding the ground plane.

This post is a continuation of these other posts about the 10 MHz reference:
  1. Just good enough 10 MHz reference (3 Oct 2015)
  2. Better with SMA (15 Oct 2015)
  3. Curing amnesia in the 10 MHz GPS reference (19 Nov 2015)




19 November, 2015

Curing amnesia in the 10 MHz GPS reference

Just good enough 10 MHz GPS reference with
u blox Neo-7M GPS module to the upper right,
10 MHz output buffer lower right,
USB interface to the upper left,
CR2032 lithium battery center left,
GPS antenna in the center,
and SMA output connector lower left.
My "just good enough 10 MHz GPS reference" which drives the external clock input on my Elecraft K3 kept losing its configuration if power was off for a day or so. I have therefore fitted a CR2032 3V lithium battery as seen to the left in this image.

It is connected in series with a 1N4148 diode in order to prevent attempts at charging the lithium cell. The connection goes to pin 22 (V_BCKP) as described by G4ZFQ on his website. The diode is visible to the upper left of the battery.

With this, I consider the 10 MHz reference to be finished.

Other related posts:

15 October, 2015

Better with SMA

I had some trouble closing the lid on the "Just good enough 10 MHz GPS reference" due to the size of the BNC jack. Therefore I changed it to an SMA (SubMiniature version A) female jack. A thin cable connects it to the K3's SMA input and there is no need for any SMA-BNC adapter on that end.

At the same time I moved the GPS antenna to a more central location in the tin, in the hope that the walls of the tin would interfere less with GPS reception. That's the theory anyway, if it matters much in practice is a different story.

Actually, I think I'm going to use SMA more often with these clear top tins and also Altoids tins. They take up much less space and are easier to install and to work with.

There aren't any high power applications for circuitry in such tins, so I cannot so any reason why the SMA won't work just as well or even better than the BNC.





Other related posts about the 10 MHz reference:

03 October, 2015

Just good enough 10 MHz GPS reference

Some time ago I noticed that the Ublox Neo-7M GPS has a 10 MHz output which is locked to the GPS system's accuracy. Most people kept saying how useless it was due to excessive jitter unless it was cleaned up with a phase locked loop of some sort.

At about the same time I installed the external reference input for my Elecraft K3. The K3EXREF enables the K3's frequency to be locked to an external 10 MHz reference. What struck me was how its function is described:


This got me wondering if the Neo-7M would be just good enough as a reference and that all the averaging internally to the K3 would take care of the jitter.