Jerry Gaffke embedded routines in the ubitx transceiver has the smallest footprint in the Arduino platform I have seen, but has worst phase noise and smallest frequency range. The same settings with the Si5351Arduino library (Etherkit) will give you a bigger firmware space of ~10 kBytes or 31% of an Arduino Uno. Let's list some of goals achievements and bonuses:Ī basic sketch to set just only one clock out to a given frequency with a change in power and correcting the XTAL ppm error is only ~3.3 kBytes of firmware (~10% of an Arduino Uno) The main purpose is to be used in Radio receiver projects, so this two mentioned goals are the golden rule. Make it as fast as possible (thanks to for I2C busrt mode write).Less phase and click noise possible (Playing with every trick possible).Keep it as small as possible (Smallest firmware footprint).There is a few routines in the Internet to manage the Si5351 chip, all of them has a few distinct feature set because they use different strategies (different goals) that make them unique in some way. Jerry Gaffke integer routines for the Raduino and ubitx.DK7IH demo code: The first clickless noise code on the wild.QRP Labs demo code from Hans Summers: The smallest and simple ones on the net.
#Si5351 proteus library full
Etherkit/NT7S: The mainstream full featured lib, with big code as well (based on Linux kernel code).This work is based on the previous work of these great people: This library is tuned for size on the Arduino platform, it will control CLK0, CLK1 and CLK2 outputs for the Si5351A (the version with just 3 clocks out, but you will not be able to use the three at once). Arduino Si5351 Library tuned for size and click noise free