The osmo-clock-gen is a small open hardware device that can be used to generate up to eight different clocks from a single clock reference.

This is very useful in case you e.g. have a highly stable 10 MHz reference frequency but require a different, stable frequency, such as a 52 MHz reference for USPR1, or 40 MHz for LimeSDR-mini or 30.72 MHz for some other SDR devices. It can also be used to generate stable reference clocks for satellite LNBs.

10 MHz reference frequencies are often available in a variety of labs as output of a GPS-DO, OCXO , Rubidium oscillator or other high-precision clock source.

The project is inspired by the clocking section of the HackRF One jackenhack's SI5351C I2C-Programmable Clock Generator breakout board which also uses the Si5351C chip but doesn't contain any onboard microcontroller and is hence not possible to use stand-alone.


K2 - External 5V DC input

This is the power input for an external 5V DC power supply.

Use only either K2 or JP2!

JP2 - Intenal 5V DC input

In case osmo-clock-gen is part of a larger assembly/device, you may already have a 5V DC supply internally.

Use only either K2 or JP2!

X1 - mini-USB-B

The mini-USB connection is primarily intended for configuring the device via USB from a computer.

However, it can also be used to power the osmo-clock-gen

X2 - Osmocom-style 3.3V UART on 2.5mm stereo jack

Access the serial console of the osmo-clock-gen using an "Osmocom standard" 3.3V serial cable with 2.5mm stereo jack.

X4 - Olimex-style UEXT connector with SPI, I2C and UART

The purpose of this connector is to extend osmo-clock-gen with peripherals, such as sensors, GPIOs. This could include RF power measurements, switching coaxial relays, ....


This is the clock input. It features ESD protection, AC-coupling as well as a self-biasing clock squarer. You can hence input either square or sine wave reference clock signals.

CLK0 .. CLK7 outputs

Those are the eight clock outputs of the Si5351C chip. They are provided on either THT SMA footprints or U.FL. The U.FL are to be used with pigtails to panel-mounted BNC jacks or whatever connector type you'd like.

JP1 - Clock Input Termination

This jumper determines if the CLKIN input is terminated with 50 Ohms (jumper closed) or not (jumper open)

TC1 - SWD debugging/flashing

This is a Tag-Connect TC-2030 compatible footprint. The connector exposes the SWD single-wire debug interface of the Cortex-M core in the SAMD11 microcontroller


PDF rendering is available as clock-generator.pdf

PCB layout

The PCB design is a dual-layer board in 100x50mm size. The important connectors are on one edge, while optional other connectors are on another edge

Design files

The design files can be found in the osmo-small-hardware.git repository. Web access is provided via


There is no firmware for the onboard SAMD11 microcontroller yet. It will be released as open source software.


This project is currently in the design verification stage. Once the verification has completed, it is expected that osmo-clock-gen boards will be made available via the sysmocom webshop.


The osmo-clock-gen design is made available as Open Source Hardware (OSHW) licensed under CC-BY-SA (Creative Commons Attribution Share-Alike).

This means anyone can use the design to build units, or to create derivative versions of the design. However, you have to give attribution and release your derivative works under the same license as the original project.

Commercial Support

Commercial support as well as development, system integration and training services for this project are available from sysmocom

Files (4)
osmo-clock-gen_eagle.png View osmo-clock-gen_eagle.png 134 KB laforge, 01/27/2019 05:50 PM
osmo-clock-gen-v1-bot.jpg View osmo-clock-gen-v1-bot.jpg 810 KB mschramm, 05/09/2019 04:57 PM
osmo-clock-gen-v1-top.jpg View osmo-clock-gen-v1-top.jpg 1.01 MB mschramm, 05/09/2019 04:57 PM
clock-generator.pdf View clock-generator.pdf 151 KB schematic (now w/ SAMD21) mschramm, 07/07/2020 11:36 AM

Updated by laforge over 1 year ago ยท 6 revisions

Add picture from clipboard (Maximum size: 48.8 MB)