Category: Software and Firmware

  • Garmin “puck” USB adapter – Finale

    In the first post in the series, we looked at the Garmin 18x LVC “puck”. We talked about a particularly insidious issue that affected [Andrew] – both of his GPS units. And we saw that Oscilloclock owners really need to be able to update the firmware in these units.

    In Part 2, we went through the design of an Oscilloclock Garmin 18x USB Adapter, that would allow the GPS to connect to a PC where the Garmin software runs to upgrade the firmware.

    Now we conclude the series, with a treatise on the construction of the Adapter. Enjoy!

    The final design

    Here’s the design we arrived at in the last post. Let’s go through the steps to build it!

    Fish out Fake Chips

    TTL serial to USB adapter – watch out for fakes!

    The key component required is a decent TTL serial to USB adapter with programmable inversion on the signal lines. But here we have to careful: many low-cost adapters out there are built around fake FTDI chips!

    As mentioned before, we at Oscilloclock are pacifists. But if we were to wage war against anything, it would be fake components. They are unsafe, unreliable, unworkable, and entirely unethical. You get what you pay for, if you pay the right people. The people who design, manufacture, and support the real McCoy.

    Besides ethics and reliability, there is also a practical reason we must avoid adapters based on fake FTDI chips – often the fake chips are not programmable. A true no-no. So watch out.

    Program the inversion

    FTDI provide a nifty utility called FT_Prog. Below shows the utility running on a PC with the adapter connected, and configuring to invert the transmit (TXD) and receive (RXD) signals.

    Is it complicated? No – quite the inverse!

    Dividing the input signal

    We need to figure out the most elegant way to install the voltage divider – the two resistors we described earlier that reduce the impact of noise.

    The cleanest way seemed to be to install the 1.2k shunt resistor directly across the receive and ground pins in the adapter itself, as below.

    What about the 270 ohm series resistor on the RXD line? Well, installing this inside the adapter unit itself would require cutting tracks on the PCB. And that would compromise our effort, reliability, and aesthetics goals! So instead, we’ll insert this into the cable later on.

    Cable Connector Conundrum

    Recall that [Andrew] has two Garmin 18x units – one fitted with a small GPS connector and the other with a large connector. Wiring up two independent cables would have been natural. However, the TTL Serial to USB adapter came with only one cable pre-fitted with the necessary “DuPont” (a.k.a. Qi or 2550) connector.

    DuPont, Qi, 2550 – they look low-cost but… Read this excellent writeup and weep

    What’s the big deal? Surely we can just attach a Qi connector to another cable?

    Ha! Connector tech is never that easy! It turns out that to make a perfect connection with Qi connectors, you need a special crimping tool. The Oscilloclock Lab does not have this tool. And we do NOT compromise on perfection! Given that this adapter is not the best reason to invest in an incredibly expensive tool, we decided to use the single pre-fitted cable and split out to two GPS connectors, with the larger one serving as the split point.

    (In hindsight, we could have separately purchased another quality cable that was pre-fitted with the connector. Next time, folks!)

    Wire up the cable

    Our beloved ultra-quality Hirose connectors are a joy to look at, and a joy to use. But wiring the tiny smaller units up with high precision doesn’t exactly “spark joy”. Still, we persevere…

    Now we need to install the 270 ohm series resistor. We simply cut the wire and splice it in.

    A bit more heatshrink applied, and we’re done!

    Closure at last

    Using the 18x USB adapter, [Andrew] is at last able to upgrade his pucks and enjoy his clocks in their full glory with GPS-synchronized time and date once again!

    Instructions for how to upgrade the software are posted on the Support – Garmin 18x page.


    Did you enjoy this series? Stay tuned for more, as Oscillolife returns to nor….. Okay, not quite normal, but at least it returns!

  • Garmin “puck” USB adapter – Part 2

    In the previous post, we looked at the Garmin 18x LVC “puck”. We talked about a particularly insidious issue that affected [Andrew] – both of his GPS units. And we saw that Oscilloclock owners really need to be able to update the firmware in these units.

    We introduced the Oscilloclock Garmin 18x USB Adapter, that allows an Oscilloclock owner to connect their puck to a PC to enable the firmware upgrade.

    In this post, we’ll take a look at the design of the Oscilloclock Garmin 18x USB Adapter. It wasn’t GPS satellite launcher (a.k.a. ‘rocket’) science, but it certainly wasn’t as straightforward as it might seem!

    The Garmin 18x LVC electrical interface

    Referencing the manual, the Garmin 18x series comes in 3 basic interface variations:

    • USB – USB 1.x interface, with a USB(-A) connector to plug into a PC
    • PC – RS-232 serial interface*, with a DB9 connector to plug into a PC, and a massive cigarette lighter adapter plug to obtain power
    • LVC – RS-232 serial interface*, with no connector – for wiring into a device

    For our Oscilloclocks, we use the LVC variation and fit an attractive custom connector solution, avoiding the PC variation with its venerable, utilitarian, and aesthetically unpleasant DB-9 connector and cigarette lighter plug combo. (We may buck the trend one day and intentionally fit such sockets into that special retro clock build – who knows?!)

    * Astute readers noticed the earlier asterisks. PC and LVC units are not quite true RS-232; their output voltage swings between 0V and +5V. Not so with devices having true RS-232 interfaces! A swing from -25V to +25V is legal and also lethal for any unsuspecting microcontroller. In the Oscilloclock design, we take advantage of Garmin’s voltage range cap to avoid having additional circuitry to adjust voltage levels.

    Interfacing the 18x LVC to a PC

    To upgrade the GPS firmware, the 18x LVC needs to connect nicely to a PC. But [Andrew] is an Oscilloclock Owner. He deserves more than just a good electrical connection. The interface also must be elegant and aesthetically pleasing, lightweight (for shipping), and easy to build. And – most of all – it has to be interesting enough to write a blog series about!

    We can start with Figure 1 in the manual, which describes the most basic interface hook-up possible.

    This interconnection option assumes two things: the PC has a DB-9 serial port, and there is a power source.

    If we extend this option slightly, to take power from the PC’s USB port, we arrive at this:

    (more…)
  • Longevity, and the Garmin “puck”

    A few months ago, [Andrew] – of Metropolis Clock fame – reached out for help. He had just pulled his lovely Oscilloclocks out of storage to put on display, when he observed odd behaviour in both units: the time was accurate, but the date was stuck – to some random date back in 2003!

    What on earth was going on?

    What’s going on was not “on Earth” after all! [Andrew]’s clocks synchronise time and date against satellites, using an external Garmin GPS unit. And this unit happened to have a serious flaw. In this series of three articles, we’ll look closer at this accessory, identify this issue, and see how we were able to resolve it. Enjoy!


    Our longevity dream

    We want your Oscilloclock up and running as long as you are – and even beyond! Our dream is to see these beloved devices inherited by loved ones, and even available on the second-hand market as antiques one day.

    In an era of throw-away technology, we flaunt an unthinkable target: Decades of trouble-free* operation.

    * Excluding the CRT itself – although we really try hard with that as well, as this post explains!

    To maximise usable lifetime (and safety!), we construct Oscilloclock units from the finest materials and components available. As part of this, we also select manufacturers that guarantee their components and provide decent after-sales support.

    And Garmin is one such manufacturer…

    Welcome to the Garmin GPS ‘Puck’

    All Oscilloclock models that synchronise time using an external GPS unit have so far been supplied with a Garmin 18x LVC GPS unit, colloquially known as a ‘puck‘. (Note: to extend the lifetime of the pucks, we do not recommend using them on the hockey court.)

    Now, this is not the smallest external GPS unit on the market today. But it has been available from Garmin since 2007, and is even being manufactured today! It is one of the most sensitive, robust, and well-supported units out there.

    (Of course, for every new Oscilloclock delivered we evaluate afresh based on the latest devices available.)

    This puck has a special connector …

    How many times have you relegated an expensive laptop, phone, or other random device to the trash just because the power socket or headphone jack failed? Some of the weakest components of any electrical device are its connectors – plugs and sockets.

    To combat such failures, your puck is wired with an exceptionally high quality connector from Hirose. This connectivity solution is not only robust, it even feels good! There’s a lovely audible and tactile ‘click’ when you engage the plug, and it locks securely in place. And unlike cheap chrome-plated connectors, we’ve proven that these babies do NOT corrode, even after a decade.

    -- We don't scrimp - we only crimp!
    (more…)
  • Recently I had an enquiry from [Frank], who had just begun a life-long love affair with scope clocks by purchasing one on eBay. The clock was great – but he felt that the two available screens (simple analogue and digital clock faces) lacked a certain oomph.

    He then stumbled across Oscilloclock.com, and in his smitten state immediately reached out with his number one question: just what screens are available on an Oscilloclock?

    Well, let me save Frank’s time trawling through years of blog posts. Right here in one place are most of the Oscilloclock screens and features created to date.

    Enjoy the show!

    Standard Time Screens

    These stock-standard analogue and digital time screens may be quite simple, but they do evoke the ‘retro’ look that most people appreciate.

    And you can flip a menu setting to display days, months, years in Japanese:

    There are also some ‘random’ screens that add in a bit of dynamic visual entertainment:

    • Random number screen
    • Random letter sequence screen
    • Random four letter word screen (clean words only, by default!)
    • Random phrase screen (the phrase list is typically customized to a theme)

    And of course the mesmerizing Timedrops screen:

    Themed Screens and Features

    … These themed features were developed more recently, and can be added for a small fee to help cover development costs!

    Astroclock (Sidereal Time)

    External XY input

    OscilloTerm (serial terminal)

    Oscilloblock (lego)

    Metropolis

    Aftershock Clock (Earthquake display)

    Unbirthday Clock

    War Games

    Logo screens

    Over the years many folks have requested that I render custom logos in Circle Graphics. Here are some examples:

    “Seasonal Treats”

    Up next are some fun, mildly interactive animation features. Not exactly screens per se, these animations pop up after a predefined period of inactivity – but only during certain months of the year. Can you guess which months?

    Boo!
    Santa in your Clock!

    Menu screens

    There are far too many configuration menu and test screens to present here. Fiddle to your heart’s content!



    Q. How are screens switched?

    Screens are switched simply by rotating the control knob in one direction or other.

    There is also a configurable auto-switch feature; the screen is changed every 90 seconds in a predefined order (with the exception of some animation screens). The display time is configurable, and the auto-switch feature can also be turned off for those who prefer to switch screens manually.

    Q. How are screens selected & configured?

    Customers can request screens to include and/or specify the switching order. The configuration is done here in the lab before clocks are delivered.

    Oscilloclock also provides a firmware upgrade kit, which allows the customer to upload a revised version of the firmware into the clock themselves. Using this, updates to screens and other features can be uploaded without shipping the clock back to the lab.

    Q. What is the process for rendering a custom screen or logo?

    We typically prepare a mock-up based on the customer’s description, sketch, or image file. This is tweaked as needed until the screen looks just right to the customer.



    Like what you see? Contact me!
  • War Games on an Oscilloclock!

    As I’ve hinted before, your friendly Oscilloclock gang is entirely pacifistic. We abhor the thought of actual military activity in this modern day and age. BUT we love games just as much as anyone – and we also love light-hearted movies with happy endings!

    So when [Ian] (of Bunker Club Clock fame) came up with the idea of a feature based on the iconic 1984 flick “War Games“, I pounced on the chance!

    Check out my YouTube channel to see this and other videos in HD!

    Now, this may look like a simple animation. But Ian’s Oscilloclock is powered by a tiny processor with minimal specifications, and 100% of the code is written in assembly language. Implementing this baby in assembly and keeping within just 3K of RAM was quite an accomplishment!!

    About the host clock

    The gorgeous model shown here is a painstakingly-retrofitted Heathkit CO-1015 Engine Analyzer. It’s the perfect play-toy for any serious motor-head who grew up during the Cold War!

    First up on the custom build list is the original meter fitted with amber LED lighting and ticking audibly each second. (And yes, the tick intensity can be easily adjusted.)

    Next up, there is the optional External X-Y input feature. Normally, this is used for plain and simple Lissajous figures like the below…

    … but by tweaking some settings, we can get some segments of Jerobeam Fenderson’s incredible Oscilloscope Music Kickstarter video to display quite nicely!

    Peeking inside the Engine Analyzer Oscilloclock is also a must-do! Not only is this visually appealing, but you also get a significant olfactory kick from the sweet smell of vintage electronic components…

    Attractive Oscilloclock boards and cabling, neatly tucked away
    The original circuit is completely bypassed – but still looks awesome!

    Tech Talk – Strategies, Maps, and Missiles

    The War Games feature uses the Oscilloclock’s Sprite Engine module to display the world map and up to 9 missiles when the W.O.P.R. system is simulating various war strategies.

    32 of the 130+ strategies seen in the movie are implemented. For each strategy, a random number of missiles are launched along a predefined Primary trajectory, followed by a random number of missiles along a predefined Retaliatory trajectory. If any of the 9 missiles remain, they are launched along randomly selected (but predefined) trajectories.

    Trajectories are predefined because computing them using 8-bit arithmetic would consume a huge number of cycles! At least, a small amount of randomness is added to the launch position and velocity parameters at run-time, to make things more interesting.

    As the simulation progresses through the strategies, the speed of the launches increases and the delay between launches decreases. This gives a similar effect to that in the move, where WOPR moves through strategies at warp speed until it realises that there is no winning this game…

    A Joint Effort

    Creating a huge number of realistic trajectories (68 in total), translating start and end X and Y coordinates from latitude and longitude into the Oscilloclock’s Cartesian plane was a task of mind-blowing proportions! Here we see our 2nd junior technician eagerly earning his room and board.


    Like what you see?

    Are you a petrol-head? You need an Engine Analyzer ticking over at your bedside or in your office! Were you brought up during the Cold War, perhaps in the Soviet Union or in the US? Get the War Games feature and fry the world safely! Contact me if you like what you see.

    (Disclaimer: Oscilloclock.com hopes that no-one is offended by the deliberately light-hearted tone of this post, in referring to the decidedly serious topic of nuclear warfare.)