Viewing Very Long Atomic Clock Binary Code Samples in Arduino Processing

Hello.  I'm working on decoding the MSF-60 (60khz) AM (ASK) atomic clock transmission binary code here in the U.K. which is transmitted from Anthorn, Cumbria here in England.  I purchased an AM ASK protocol receiver with antenna on e-bay for £7.50 from the USA.  It works great and picks up a clear perfect signal here in Liverpool. They offere NO code at all to go with the receiver.  You're on your own. 

The transmission is a simple binary code and of course the entire code is to be understood as pocessing bits of information at various intervals through the entire duration of each minute.  At exact every second you'll get a new transmission of a binary code.  Within that binary code you'll find a starting bit, the day, month, hour, minute, second, if it's a leap year, and all that common atomic clock stuff.  They are not all equal in length.  Some are very short and others a bit longer.  Obviously there is no binary atomic clock decoding protocol in Saleae software which would make life easy.  You do have to sample an entire minute's worth of logic which is easy and resource free because the Cumbria transmission is a mere 60khz.


However at this point I run into frustration.  There isn't much I can do with what I've sampled.  And I have no way to lock the sample to capture right at the start of the second so the capture is always a head of the real measured second or behind it a little which only makes things more confusing.  My windows 10 is supposed to be locked onto an atomic clock but all the clocks I have including my android phone which uses "ClockSync,"  are all slightly off from each other so wouldn't help anyway.  Aparently the one in Cumbria is the most accurate in the entire world.  Do I trust the transmission.  I suppose. 

Could I go the route of using the SDK to work things out?  In order for me to use the SDK to create a protocol I would first have to understand the protocol and figure it out.   I really don't want to because I just want to understand decoding the protocol so I can incorporate it into Arduino. 

There isn't much I can do with the entire minute of sample.  No real way to print it out without a huge amount of grief and work.  Tape it all together onto my wall for examination?  Seems primitive but would actually probably work.  But I would need several samples and it's a headache. 


Salae logic software has been around for ages now and they keep bringing out these so-called "updates," which actually look identical to previous updates for the last several years.  I keep expecting something special to discover but alas I never do.  Same old thing with the mention that such and such has been fixed or repaired.  So in reality the updates are just bug fixes and nothing more.  It doesn't seem to be moving forward with many new and inovative ideas.  Why have they not (for instance) incorporated making protocols from within the software?  Most people can read enough to grasp how a protocol works but unfortunately not everyone is able create a protocol inside C++ as is suggested.  I have some C++ programming experience and found getting Visual Studio 2015 all set up to handle Saleae examples and the SDK to be fruitless.  Couldn't get it to work and I tried for ages.


No reason why the Saleae software couldn't allow a special little "protocol developer" window open up a simple language so one could easily slap together a new or improved protocol and then be able to share these in the same way that Arduino allows you to search online for contributed "Libraries."  Some sort of scripting language would be ok.  No previous programming experience required and it wouldn't compile it would simply execute the script. 

Also, instead of trying to develop a protocol for the binary atomic clock, I could look up the library first and WOW someone in Canada allready made one and included suggestions on how to modify it for 60khz receiver.  Tons of time saved.  Up and going in the time that it took you to read this message. :-(


One last thought.  I modified some very simple code in Arduino from capturing Analog signals and converted it to digital signals which sent the output to their open source companion software "Processing," to view and examine the binary code.  It worked well and it was real time viewing instead of capture and view. 

Salae could save themselves a headache and simply allow their software to transmit real time samples or caputured samples or to Processing.  The Processing software is very easy to program and use.


all the best,



  • Guest
  • Jul 26 2018
  • Tim commented
    July 30, 2018 23:41

    Thanks for sharing such detailed thoughts about your experience, and sorry for the complications involved with creating protocol analyzers. The SDK is definitely not straightforward to use for anyone without programming experience. I the future, we'd like to move towards a more user-friendly experience for creating protocol analyzers, perhaps something that completely avoids having to program, and perhaps something that utilizes a GUI.

    Right now, we're pretty laser focused on getting real-time view in our software, as you might already have tried in the latest beta software below:

    This is taking quite a bit of time and effort at the moment, but once we can get real-time view to a high enough level of quality, we will start to look into features like this.

    Also, sorry that our software changelog looks like several bug fixes without much development in brand new features. We've been trying our best to get our software to be as stable as possible. Adding real-time view to our software is one of the biggest feature additions we've added in quite some time, so we are in fact breaking this trend!