All posts by vk2vjb

Knocked up a prototype centre console for the car

I’ve been unhappy with the radio setup in the car.  The radios had been installed in a rush and basically left the same way for years.

The start of fixing this was making a prototype console that fits where the unused ash tray is situated in the patrol.

This version needs to be made a little thinner, otherwise I’m happy with the result.  Of course the vinyl application needs a lot to be desired.

 

IMG_20160125_125744

 

 

GPSDO Display is in the works

http://www.vk2vjb.net/2015/08/19/gpsdo-display-in-the-works/

As part of the GPSDO project I’ve been working on using a graphical display I picked up from Futurlec several years ago, a 128×64 Blue GLCD (CM12864-2) which uses the KS0108 chipset.

IMG_20150819_185714As I want to drive this from a Beaglebone Black I’ve opted to use a GLCD Backpack from Sparkfun to simplify the hookup and interfacing, sending serial commands should be far easier than sorting though GPIO… at least it _should_ have been.

The first issue is the backpack pinouts don’t match the pin layout on the LCD I have, so I’ll have to make up an adapter board.  Some breadboard does the job while developing so not a huge issue there.

IMG_20150819_185721The standard firmware comes with a number of simple operations for displaying text and some basic geometry operations, functional but nothing flash.

Unfortunately I found the standard firmware to be a little slow on the refresh rate and came with two standard fonts, big and bigger.

A little research found an updated set of firmware listed at the bottom of the page.

I modified this to include a small 3*5 font reminiscent of 80’s era computer games in place of the standard ‘large’ font, and quickly put together a nice summary page for the state of the GPSDO.

 

 

IMG_20150819_185703There are some minor dislikes for the font, for example the ‘H’ and ‘N’ characters are identical, but it works well enough that I may live with it.

The software was written in perl and may be shared later, its all very straight forward decoding of the GPS messages and sending serial data to the display so nothing complex in there.   I have included a ‘deltacache’ which detects data changes so only updates are posted to the LCD to conserve the limited serial bandwidth and avoid buffer overflows as I don’t have any flow control at this stage as the ‘TX’ pin isn’t connected to the BBB to avoid damaging the 3v IO pin.

All in all I’m happy with the results so far.   I still have a lot of work to do but this is a promising result.

J.

GPSDO Hardware Design/Block Diagram

http://www.vk2vjb.net/2015/08/12/gpsdo-hardware-designblock-diagram/

 

GPSDO Hardware Design/Block Diagram

Now that I have confirmed the Thunderbolt Trimble is working nicely down to 3.5ppt (3.5E-10) and getting more accurate as time goes on its time to put it in a box so its more durable and generally more usable.    My plan is to add a Beaglebone Black, LCD and Keypad for display and control of the system alongside network.

GPSDO Block Diagram

 

This includes:

* LCD to display the lock status, accuracy and any alarm conditions.

* Keypad for local interaction with the system.

* NTP server based off the GPS and PPS feed.

* Network support for NMEA and TSIP data from the GPS module.

* Multiple filtered and amplified 10MHz outputs to feed test equipment and VFO’s.

The best part is most of it is based on kit I already have in the junk box.

On the software level a number of existing open source projects will be used to build system:

gpsdo-software

 

The main components being:

* GPSD will listen to the serial connection and receive the data from the GPS module, this daemon will be configured to start receiving the data immediately rather than waiting for a client connection so it can feed the NTP server.

This is a nice tool for working with the GPS with _almost_ no configuration required to get it working, it also nice to be able to feed the data from a single GPS to multiple targets without having to code around it.

* NTPD will listen to the GPS and PPS data via shared memory alongside several external ntp servers to establish the base time.   This time will be available to external systems, when tuned it should be reasonably accurate.   A minor modification to the Beaglebone will be required to significantly increase the accuracy of this service.

This is a fairly standard protocol.   Chrony may be used instead given its more suitable for a low power system, time will tell.

* An embedded network client will most likely be built to feed the NMEA data into my IC-7100 transceiver for an accurate position fix.   I have the data, so why not 😉

* A GPSD monitor will be developed to process the TSIP data for analysis (ADEV) and reporting on the attached LCD and via a web interface.   The TSIP data has to be processed as the NMEA and JSON feeds produced by GPSD don’t include the additional metrics and alarms states sent from the GPS unit.

* All performance data will be stored in a Round Robin Data Base for reporting over time.   This is important in understanding the long term performance of the GPSDO.

* LCDProc will be run to control the graphical LCD, displaying system, performance, and GPS status information.   An attached keypad will be processed by LIRC and used to switch displays and perform configuration options without requiring an external PC. (i.e. Run Self Survey).

* GPSCTL is part of the GPSD package and will be used to send commands to the GPS unit for any configuration changes to the applied.

* And finally, a NODE.js interface will be coded to make the whole lot available via a web interface, simply because its time I learnt node…

There’s a lot in this little project, I’m really enjoying it so far.