Building the Astro Clock

In the last post, we took a look at a funky new sidereal clock from the Oscilloclock Lab. Now let’s take a look at what fanciness went into it!

The Hardware

[Alan], our astronomer protagonist, wanted to install all the electronics inside his Tektronix 620 X-Y Monitor. He didn’t need a nice fancy case.

Demonstration of a Lissajous circle
No pixels here! Circle Graphics

No problem! We supplied the Oscilloclock Bare – our stand-alone controller board that generates images and text rendered in smooth and silky Lissajous figures.

The board ships on a cast acrylic mount to make it easy to test externally, prior to installation into the host piece of equipment.

Next, we added the Oscilloclock Wave. This is a Wi-Fi adapter that allows an Oscilloclock to pull (Solar) time from NTP servers over the internet, keeping accurate time indefinitely.

Bare-bones Wave Core module

For [Alan], we left the cabling and aesthetics options open, and shipped the basic Wave Core module instead of the stand-alone type pictured above.

Finally, we included a decent quality power pack, to allow running the assembly prior to installation.

This would eventually be eliminated by powering the unit from the Tek 620’s internal supply itself.

The software – Sidereal time enhancements

To transform the Oscilloclock Bare into the astronomically great Astro Clock that it is today, we needed sidereal time.

Querying the sidereal API. Easy as pie!

Easy! The US Naval Observatory Astronomical Applications Department provides a publicly available API for querying sidereal time, given a location.

The Oscilloclock Wave already had features to pull earthquake data from a similar API and push it to the Oscilloclock for display. Extending this for another API wasn’t astronomically difficult.

The Wave sports a bunch of advanced settings for particularly tweak-loving oscillofans out there. We just needed to add a few more! These are to enable querying and sending sidereal time to the Oscilloclock, and to set the location.

Setting up for sidereal time

But why not just calculate sidereal time?

Some readers may have guessed that formulae and code libraries for calculating sidereal time are readily available. Why didn’t we just implement the calculation in code, and avoid depending on an external API?

Our minimalist PIC 18F2680 even had a terrible bug at one point…

Well, I’ve mentioned before that the current revision Oscilloclock Control Board uses a minimal-specification microcontroller with very limited capabilities, and is heavily optimized by coding in assembly language.

Sadly, this chip was already jam-packed to the hilt, and there simply wasn’t any more space left for the code and run-time memory needed to calculate sidereal time internally.

And writing the necessary floating-point calculations in assembly would be no mean feat!

Why Assembly Code?

Because We Can.

But, it sure ain’t easy…

So NO – we couldn’t easily calculate sidereal time, and it was API Option full steam ahead!

Astro Screens!

Even with its minimalist microcontroller chip, we’ve managed to squeeze some amazing stuff into the Oscilloclock Control Board firmware.

For more of the weird and wacky, see Screens & Things!

For this build, we needed yet more screens.

First, we used our trusty Figure Creator software to render a rudimentary telescope into Circle Graphics sprite code.

Astro Clock splash screen

We then crafted a simple Astro Clock splash screen, by adding some random circles for stars and laying out basic text around the telescope.

Finally, we added some basic digital and analog clock screens, using the same telescope figure as a centrepiece. This was mostly straightforward, but the existing clock hand drawing code did need some tweaking, to reference either solar time or sidereal time depending on the active screen.

Done!

Invoiced. Paid. Shipped. Received. Treasured forever. Right?

Wrong!

Sidereal really sidelined…

A year after [Alan] received his lovely Astro Clock, the unhappenable happened. The Astronomical Applications API was taken down!

“undergoing modernization”… a harbinger of API death! Jan 2020 snap courtesy archive.org

The site was taken offline for a planned six months, for “modernization”. [Alan]’s sidereal clock was relegated to a normal solar Oscilloclock, albeit temporarily.

But as lovers of electron beams striking phosphor, we always look at the bright side! Six months is still relatively short in astronomical terms! We resignedly marked “X” on the calendar, and bided our time.

But then… the unfathomable fathomed. The COVID-19 pandemic struck. The USNO site modernisation was completely halted – very likely deprioritised in the midst of indiscriminate illness, clinical chaos, and staff shortages.

Halted… 2 years later, still no luck… Mar 2022 snap courtesy archive.org

We waited, and waited, and waited. There were no fingernails remaining to chew when, after two and a half years, a revised API was finally made available at the end of 2022. Hooray! Thank the stars!

API resurrected

Fresh API documentation in hand, we set about modifying the Wave to use the fresh fruits of the USNO modernisation machine.

Fortunately, there were only minor changes to the API – a few more mandatory data fields, a change in date format and such. These required a relatively small amount of rework in the Wave’s firmware.

And … we were back in the amateur astronomy business.

Almost like a big Christmas present from Santa!

Was this [Alan]’s Christmas present? – Santa in your Clock

Do we regret taking the API approach?

It’s a good question. API death could happen at any time – possibly rendering the Astro Clock lifeless, listless, or lethargic yet again.

But, no. The decision not to calculate internally was valid, based on the known constraints. And we did our veritable utmost to revive poor [Alan]’s Astro Clock as soon as possible.

By the way, we at the Oscilloclock Lab certainly can’t complain about USNO’s API shutdown. We, too, have been heavily impacted by pandemic and other worldly events. As of this posting, our formal activities, too, remain on pause…

… for now!


Curious about other Oscilloclocks that use APIs? Check out the AfterShock Clock, which taps into an earthquake API to display earthquakes in (almost) real-time on a lissajous-rendered map!

Astro Clock

A few years ago, we introduced Metropolis Time, a time system based on the 20-hour, two-shift days featured in Fritz Lang’s iconic movie Metropolis.

Since then, we’ve received a few requests to craft clocks that display some other calendar and time systems – from the ancient and archaic, to the religious, to the scientific.

That’s Astronomical!

Today’s exciting story began with a request from [Alan], a prominent amateur astronomer. He happened to have a lovely Tektronix 620 X-Y Monitor lying around, and wanted to turn it into a clock.

Well, that would be easy – the Oscilloclock Bare is a bare-bones controller assembly that can be used to drive an oscilloscope or XY monitor that meets certain requirements (for the techies: a DC coupled Z-axis amplifier). And the Tek 620 is perfect – wonderfully performant, and perfectly compatible. Job done! Right?

Oscilloclock Bare + Tek 620 + scientific passion = Astro Clock!

No way! [Alan] didn’t want just any old clock. The custom splash screen above was pretty cool, but could his clock display something called “sidereal time“?

Yes! Anything is possible, and here’s what we ended up delivering: several custom clock faces showing sidereal time (in both analog and digital formats), in addition to all the standard screens that are based on solar time.

The shipped Astro Clock assembly!

But what is sidereal time?

A Solar day

Well, most normal human beings and their clocks like to measure a 24 hour day by using the Sun as a reference point. One solar day is the time it takes for the Earth to spin on its axis enough and see the Sun at the same height in the sky as the previous day.

For example, let’s say it’s 1 May 2023. It’s lovely weather out, and you happen to notice that the Sun reached its highest point in the sky at 12:30 pm. The next day, 2 May, you would find the Sun at its highest point at — you guessed it! — 12:30 pm. And if you ignore man-made tweaks such as daylight savings, you find the Sun is always at its highest point at 12:30 pm*, year-round, looking from the same location.

*This is not quite true – because every day is slightly shorter or longer. But it averages out over the year.

A sidereal day

Sidereal time, on the other hand, uses the distant stars as a reference point to measure 24 hours. One sidereal day is the time it takes for the Earth to spin on its axis enough to see the same distant star at the same height in the sky as the previous day.

Because the Sun is so close, and a distant star is so (relatively) far, there is a difference in the length of a sidereal day compared to a solar day. A sidereal day turns out to be approximately 23 hours, 56 minutes, and 4.0905 seconds.

Confused? I don’t blame you. This video should help:

History and Sidereal clocks

According to this brilliant post, the concept and utility of sidereal time has been around a very long time. The length of a sidereal day was even calculated to a surprisingly high level of accuracy some 1,500 years ago!

Here are two surviving sidereal clocks that were made “recently” – just a few centuries ago.

But who on Earth would use sidereal time?

Astronomers would.

Most people don’t look at the boring old Sun all the time. We look out to the stars and galaxies far, far beyond our solar system. If an astronomer wants to track the position of Betelgeuse day after day, she can record the sidereal time that she saw it, and know that it’ll be at the same ascension at the same sidereal time the following day. Brilliant!

Mariners and Astronauts would.

They can fix their location even when the Sun is not visible, by observing the position of the stars and calculating their position back from the current sidereal time. Life-saving!

Oscilloclock Labs would.

Because we can.


In the next post, we’ll take a look at the build. What hardware went into this Astro Clock? How on earth does it tick? Can you figure it out?

Screens & Things

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!

X-Y-Z Core – Revamped

Avid followers may have noticed an absence of fresh posts recently… What gives?

I’m happy to report that it’s only because Oscilloclock has been absolutely run off its feet in 2016, producing more crazy CRT based devices than ever before. There just hasn’t been time to do justice to the blog!

The good news here is there are lots of posts in the backlog. Let’s start out with this one:

Yet Another CRT clock fanatic?

I was approached by [Mike], who wanted to design his own CRT clock from scratch, but didn’t want to mess with the high voltage circuitry involved. Could I help out with an X-Y-Z display assembly, and he would do the rest? You bet!

Here is the newly revamped Oscilloclock X-Y-Z Core, shipped out in Q2 2016:

Oscilloclock XYZ Core

And here is what [Mike] was able to with it, after implementing a totally fresh controller design incorporating Circle Graphics:

oscilloclock-xyz-core-customer-clock-implementation-01

[Mike]’s setup – A home-grown controller board, the X-Y-Z Core, and a 3KP1(F) CRT

Here is [Mike’s] story in his own words:

I was thinking of building a Nixie clock, but when I discovered the vector graphic clocks that Aaron and others had built, I knew I needed to build one. I felt comfortable that I could recreate my own version of the digital logic and the low-voltage analog signals, but didn’t really want to tackle the deflection amp or the high voltage circuitry. Buying the Oscilloclock XYZ display solved that problem. Everything arrived as and when promised, and I was beyond impressed by the care and workmanship that’s evident in everything from the boards to the harnesses to the documentation!

I based my controller board on a Cypress PSOC 5LP chip, which allows me to implement all of the digital logic in its on-board programmable logic fabric. The 80MHz 32 bit ARM processor allows me to program 100% in C, which enabled me to create my own version of the software fairly easily. (I tip my hat to those who have done it all in 8-bit assembly!)

Remaining work includes improving my signal quality, which doesn’t yet fully exploit the bandwidth and linearity of the Oscilloclock boards, designing an interesting enclosure, and adding a few software features.

Good luck [Mike] with the rest of your implementation!!!

Key features

This unit is the latest incarnation in a series started in 2015, for a client who needed a custom Head Up Display solution. The boards have undergone through several revisions since then to optimize performance. This particular kit was pre-configured and fully tested to support 3RPx, 3KPx and 3WPx CRT types, and features:

  • Cathode to deflection voltage of 1875V
  • Digital blanking (grid modulation), safely isolated at 2.2kV continuous working voltage
  • Precision deflection amplifier capable of driving +/- 275V with 0.1% linearity
  • 0-5V analog X and Y inputs with 2.5V reference output [Option RS]
  • TTL/CMOS compatible high-frequency blanking input
  • Dim/Bright digital input with PWM support
  • Power Off digital input
  • Temperature-controlled fan with Failure and Overtemp safety features
  • CRT rotation coil supply (+/-5V)
  • CRT heater soft start / inrush current limiting

oscilloclock-xyz-set-16001-01-01

Oscilloclock X-Y-Z Core set – as shipped


Like what you see?

X-Y-Z displays are cool. But so are my other unique creations! See the Gallery, and stay tuned!

The Oscilloclock Core

Over the years, folks out there have reached out to me with all sorts of crazy ideas about cases and housings for scope clocks and custom CRT displays. Here are some interesting examples:

  • The console of a vintage pipe organ
  • An ancient grandfather clock
  • A cylindrical case made of some exotic wood
  • A “cathedral” style vintage radio

Essentially, these people wanted just the innards of an Oscilloclock, which they would build into their own case. Could I help out?

Absolutely! For people who want to roll their own cases, and who have experience handling high voltage electronics and CRTs, I occasionally prepare custom board sets that are lovingly hand-assembled, tested, and tweaked for optimum performance with a given CRT. Here we go:

The Oscilloclock Core

Oscilloclock Core, hand-crafted in 2015 for a discerning customer in Germany

An Oscilloclock Core, hand-crafted in 2015 for a discerning customer in Germany


The standard Oscilloclock Core layout, on a test acrylic mounting

The standard Oscilloclock Core layout, on a test acrylic mounting

I supplied this particular unit with an 8SJ42J Chinese-made CRT, just for testing purposes. This is a 3″ PDA tube with a highly restrictive rectangular viewing area, but the customer found it just great for checking things out!

Oscilloclock Core - complete set for 8SJ42J - 03Oscilloclock Core - complete set for 8SJ42J - 06
Oscilloclock Core - complete set for 8SJ42J - 02

What comes with it?

Here’s what’s comprises the typical Oscilloclock Core:

  • 1 x Fully assembled and programmed Control Board (optional on-board GPS)
  • 1 x Fully assembled Deflection Board (latest ultra-linear revision)
  • 1 x Fully assembled Power Board optimised for a given CRT (latest revision with options: onboard high-bandwidth blanking amplifier, rotation coil supply, auto fan speed control, unblanking plate modulation, and isolated bright/dim input)
  • 1 x Fully assembled CRT Board (optional; an external blanking amplifier recommended when the CRT cable is longer than 50cm)
  • 1 x Rotary encoder
  • 1 x Worldwide 9V power supply (high quality wall wort unit, commercial ratings)
  • 1 x Garmin GPS unit with 5m cable; wired to board-side connector (not required for onboard GPS)
  • 1 x Set of standard inter-board and CRT harnesses for testing and reference (10kV/3kV silicone melt-proof used for HV cables, other LV cabling also heat-resistant)
  • 1 x Cast acrylic test mounting assembly, fitted with the boards, ready for testing out-of-the-box with your CRT
  • 1 x Ceramic adjustment screwdriver
  • Service documentation (schematics, board layouts, complete Digikey BOMs, harness specs)
  • All components are latest available types sourced within the last 6 months, 0.1% or 1% tolerance resistors, minimum 2 x rated working voltage capacitors, all lovingly hand-mounted by myself
  • All boards sprayed with HV lacquer for moisture and arcing protection
  • 2-week satisfaction guarantee. But no long-term warranty on board-only purchases

Naturally, the lengths of all harnesses and inter-board cabling can be customized according to the owner’s requirements. And there is also an Oscilloclock Core Cube arrangement, where the boards are stacked to reduce the length and width of the overall unit.

What CRTs does it support?

The Power Board and Deflection Board are increasingly flexible with each revision, but I insist on performing all configuration of the Core here in my lab. This allows me to tweak for maximum performance, and provide a proper satisfaction guarantee.

Typically I work with the owner to recommend a CRT based on preferences such as size, colour, and aesthetics. However in cases where the owner already has a CRT in mind, and I don’t have the particular CRT or a close equivalent, I ask the owner to send me one to test against. Or, I simply procure one; after all, one can never have too many CRTs!  (Though my better half does not agree…)

The current Oscilloclock Core board revisions meet the following operating parameters:

  • Maximum cathode to deflection voltage of 2175V
  • Maximum accelerator voltage of 3525V for PDA type CRTs
  • 6.3V heater, max 0.7A
  • Support for “Deflection Blanking” CRTs (see treatise here)
  • CRT rotation coil supply (+/-5V)
  • Precision deflection amplifier capable of driving +/- 275V with 0.1% linearity

Like what you see?

Check out the Availability page for more information, and of course see the Gallery for some unique CRT creations – many with an Oscilloclock Core at their heart!

Heads Up!!

Recently I received a most intriguing request: I was asked to build a self-contained, super-bright X-Y display unit with 3-inch CRT, for use in an “HUD“. Hmm…

Holographic Utterance Device?
Horizontally Unstable Doohickie?

Fortunately, I didn’t need to guess any further. As I was once an avid flight simulator enthusiast, I quickly hit upon the correct meaning: Head-Up Display. This is a mechanism that overlays instrumentation or map data onto the view looking forward from the cockpit, so that the pilot doesn’t have to look down to see this information.

HUD in an F-18 aircraft. Source: AC Aviation Life

HUD in an F-18 aircraft. Source: AC Aviation Life

Wikipedia has a great introduction to HUDs and their history, but Mike’s Flight Deck has the definitive tome for flight simulator enthusiasts who want to actually build an HUD. According to Mike, the system employs various optical paraphernalia, but at the heart of the mechanism is what lies closest to my own heart – a CRT Display!

Oscilloclock 3-inch X-Y-Z display, custom-built for an HUD

An Oscilloclock 3-inch X-Y-Z display unit, optimized for use in an HUD

Continue reading

Tek 520A VectorClock!

Television broadcasting has switched from analog to digital – and if you’ve got a nice HD TV, you’ll be loving it!

But with that transition came the death of an entire breed of equipment – the Vectorscope.

Tektronix 1420 Vectorscope

Just to be clear, these are not monitors for playing ancient video games using vector graphics!!  No, the Vectorscope is (was) used to give a delightful view of the ‘vectors’ inside an NTSC or PAL video signal, describing the color components of the signal.

If you were lucky enough to be a TV broadcast technician, you’d use your Vectorscope all the time to check your vectors’ amplitudes and phase. You would even give your vectors names like ‘Jack’ and ‘Jill’, and check up on their relationships daily, just as any responsible guardian would!

But above all, you would marvel every single day at the beautiful hardware you were using, and the complex circuitry involved. Take a look at my Tektronix 526 Vectorscope, which has oodles of delicious tubes to heat my shop on a nice winter’s day:

Tektronix 526 Vectorscope

Well, it all went digital and there is no longer any need for analog color signal analysis. But dry your tears… There is something even better:

Announcing the Tek 520A VectorClock

This lovely Oscilloclock reincarnation of a Tektronix 520A, sold at Maker Faire Tokyo 2013, allows its new owner to forever relive the magic of NTSC, PAL and SECAM analog color.

Tektronix 520A VectorClock - brilliant blend of the old and new!

Tektronix 520A VectorClock – brilliant blend of the old and new!


See more related videos on my YouTube channel

The Tektronix 520A has a stunning built-in array of lights for illuminating the CRT graticules. By simply removing the bezel and external graticule, the Tek 520A morphs into a deliciously moody timepiece!

Tek 520A VectorClock - Glorious Glow

Normally, I shun CRTs with built-in graticules. Their lines detract dreadfully from an Oscilloclock image. But here! The Tek 520A’s internal vectorscope graticule is round! What better way to accentuate a Circle Graphics driven display?

Silky smooth Circle Graphics on steroids!

Silky smooth Circle Graphics on steroids!

Under the Cover…

The Tek 520A is solid-state. It can be left on 24 hours a day and not fail for many years. This makes it a perfect match for my Maximum Re-use + Minimum Invasion policy: nearly all existing circuits – HV power supply, deflection amplifiers, blanking – are put to use, with just a few (reversible) tweaks.

Tek 520A VectorClock - Maximum re-use, Minimum invasion

The Oscilloclock Power Board is mounted neatly next to its own dedicated low voltage supply. A small relay board can be seen below, for controlling the Tek’s main power unit. All cabling is HV-tolerant and neatly fastened with high-temperature cable ties.

Tek 520A VectorClock - Control Board mount and cabling

Of the more interesting reversible ‘tweaks’ needed for this retrofit, here we see a delightful little trimpot pretending to be a transistor. Quite an act, I would say!

Tek 520A VectorClock - an unorthodox transistor replacement

Like what you see?

If you love big, looming Vectorscopes and need to have one put to good use in your living room, Contact me. And be sure to subscribe from the front page, to track all the other exotic experiments and unique timepieces targeted for 2014!


Credits to [Quinn] in Canada, for providing the initial inspiration for the Tek 520A VectorClock project!

Luxury 2013 edition Model 1-S!

This 2013 edition hand-crafted scope clock exudes sophistication and elegance, to match the most refined interior – be it the boardroom or the bedroom. The 1-S boasts solid brass fittings custom-turned in Japan, ultra-transparent cast acrylic housings, and a decadent harness with chrome connectors and gold-plated pins from France. The brand-new old stock CRT was selected especially for its gentle white-blue trace and extremely long persistence, to provide a relaxing and refreshing viewing experience.

2013 luxury edition Model 1-S scope clock from Oscilloclock.com

This particular unit went on display at Maker Faire Tokyo 2013, and was sold within several hours. Enquire via the Contact page for pricing and availability of the Model 1-S and other exclusive Oscilloclocks.


See more related videos on my YouTube channel

Continue reading

Making the Heathkit Oscilloclock

Last month’s post about the Heathkit Oscilloclock generated tremendous interest, and I’ve heard from several folks keen to try their hand at preserving their own beloved instruments.

… so let’s take a brief look at what was involved in the Heathkit OR-1 conversion!

Heathkit Oscilloclock - inside

Approaches to conversion…

There are many approaches to retrofitting a scope into an Oscilloclock, but it really boils down to how much of the original circuit you want to re-use, vs. what you will bypass with Oscilloclock boards.

Continue reading

A Heathkit Oscilloclock!

Anyone familiar with Heathkit®?

From 1947 to 1992, the U.S. based Heath Company produced electronic kits for everything you can imagine: radios, TVs, computers, robots, ham gear, and electronic test equipment. Yes, you guessed it – they also produced kits for oscilloscopes!

My Grandpa purchased one such scope, the Heathkit OR-1, around 1960. He wanted to kick off a new career in electronics repair, and the ‘build-your-own-equipment’ approach to training was in full bloom at the time. Also, since this was before the era of cheap overseas manufacturing, he could buy a Heathkit far cheaper than an assembled scope.

Heathkit OR-1 manual - a work of art

Heathkit OR-1 manual – a work of art

Unfortunately, Grandpa’s electronics career never really took off. But decades later, he introduced me to his gorgeous oscilloscope, and boy – did that kick MY career off! Much later, the OR-1 came to live with me. (You can read a bit more about my affinity for this scope in my History page.)

The problem is, I have too many oscilloscopes. But I don’t have enough Oscilloclocks. What more fitting way to keep Grandpa’s legacy alive, than to retrofit his Heathkit?

Heathkit OR-1 Oscilloclock

Heathkit Oscilloclock - Splash and Clock

Special features

Continue reading