Foreword

 

This project is built around the clock generator Si5351 from Silicon Labs ( https://www.silabs.com/timing/clock-generators/cmos/device.si5351a-b-gm#specs  ). Unfortunately this device seems to have a very bad availability and I don't know if I will be able to get one before the end of this competition. It seems like i chose the wrong part. Nevertheless I will describe my ideas and findings here.

 

Idea

 

This is some wide interpretation of data conversion but in the end it converts some digital I2C signals from an Arduino into some completely analog radio signals.

 

In the last years ham radio made a big progress in the field of weak signal transmission ( https://en.wikipedia.org/wiki/WSJT_(amateur_radio_software)  ) This is widely based on the work of Joe Taylor K1JT. With that you don't need bulky transceivers any more to cover long distances (at least for the transmitter part), with a reasonable antenna the output of a clock generator is good enough to cover a few hundred kilometers. The Silicon Labs Si5351 clock generator is often used in these projects. With its fractional divider PLL architecture it can generate almost any frequency (in its range) and can also generate the small frequency steps of only a few Hz needed for this type of transmission.

These kind of transmitters often use the Adafruit Si5351 Clock Generator Breakout ( https://learn.adafruit.com/adafruit-si5351-clock-generator-breakout  ). The clock generator generates a square wave at its output. So an additional low pass filter is needed to cut of the harmonic waves which is often based on an additional board. This leads to a prototype with several boards and wires in between. So not very nice.

That's why I decided to design my own Arduino Shield with the clock generator and the low pass filter on one board which can be directly plugged onto a Arduino MKR board. This gives a nice and clean prototype.

 

ClockGeneratorMKRShield rendering

 

Hardware

 

The shield consist of the clock generator and a low pass filter. Due to supply considerations (which turned out to be not correct) I used the QFN variant of the IC. This has eight clock outputs but I used only two of them. The other six lead only to test points. Each of the two used clock outputs has its own low pass filter. It is a 7th grade LC filter in pi-configuration and each of them is tuned to a different ham radio band. I will describe the filter in another blog post. The antenna is connected to via SMA connectors.

There is also a connector to directly connect a GNSS receiver.

 

You can find the design data on my github account: https://github.com/generationmake/ClockGeneratorMKRShield

 

Software

 

The software is mainly based on this library:

https://github.com/etherkit/JTEncode

The library does all the encoding and directly controls the Si5351 to generate the right frequency.

Additionally the software needs to have the right time. The software could use WiFi to get the time from some timeserver. I decided to go with a GNSS receiver like in my previous project SunPathClock . This allows also to acquire the position which is needed for some transmission modes. I will describe the software in detail in another blog post.

 

State

 

At the moment the shield is fully assembled, only the clock generator IC is missing. I will try to bring up and test the rest of the project as far as possible. If I won't get the IC in time I will try to add a whole breakout board instead.

 

ClockGeneratorMKRShield partly assembled