Skip to content
Arduino library for the ADF4351 PLL Frequency Synthesizer chip
C C++ Processing
Branch: master
Clone or download

Latest commit

dfannin Merge pull request #1 from per1234/arduino-ide-compatibility
Improve compatibility with the Arduino IDE
Latest commit 0227d80 Jul 12, 2018


Type Name Latest commit message Commit time
Failed to load latest commit information.
examples/example4351 Move example sketch to appropriately named folder Jul 5, 2018
lib/BigNumber 1.0 initial import Jul 1, 2018
src Move example sketch to appropriately named folder Jul 5, 2018
Doxyfile 1.0 initial import Jul 1, 2018
LICENSE adding back license Jul 2, 2018 minor doc fixes Jul 1, 2018 Add a metadata file Jul 5, 2018


Arduino Library for the ADF4351 Wideband Frequency Synthesizer chip


This library supports the ADF4351 Chip from Analog Devices on Arduinos. The chip is a wideband (35 MHz to 4.4 GHz ) Phase-Locked Loop (PLL) and Voltage Controlled Oscillator (VCO), covering a very wide range frequency range under digital control. Just add an external PLL loop filter, Reference frequency source and a power supply for a very useful frequency generator for applications as a Local Oscillator or Sweep Generator.

The chip generates the frequency using a programmable Fractional-N and Integer-N Phase-Locked Loop (PLL) and Voltage Controlled Oscillator (VCO) with an external loop filter and frequency reference. The chip is controlled by a SPI interface, which is controlled by a microcontroller such as the Arduino.

The library provides an SPI control interface for the ADF4351, and also provides functions to calculate and set the frequency, which greatly simplifies the integration of this chip into a design. The calculations are done using the excellent Big Number Arduino Library by Nick Gammon, as the integter calculations require great than 32bit integers that are not available on the Arduino. The library also exposes all of the PLL variables, such as FRAC, Mod and INT, so they examined as needed.

For projects, you should consider using the SV1AFN ADF4351 PLL Synthesizer Module, a low cost PCB module built and designed by Makis Katsouris, SV1AFN. This board provides a loop filter, as well as providing most of the chip control pins, SPI inteface and RF input/output ports. This library was developed using this board.

A low phase noise stable oscillator is required for this module. Typically, an Ovenized Crystal Oscillator (OCXO) in the 10 MHz to 100 MHz range is used.

A project using this library for a wideband signal generator project siggen4351.


  • Frequency Range: 35 MHz to 4.4 GHz
  • Output Level: -4 dBm to 5 dBm (in 3 dB steps)
  • In-Band Phase Noise: -100 dBc/Hz (3 kHz from 2.1 Ghz carrier)
  • PLL Modes: Fraction-N and Integer-N (set automatically)
  • Step Frequency: 1 kHz to 100 MHz
  • Signal On/Off control

Library Use

The library is documented in the docs directory, and was created using Doxygen. An example program using the library is provided in the source directory example4351.ino.

Please note that you should install the provided BigNumber library in your Arduino library directory. This library was modified from the one provided by Nick Gammon in order to allow conversion of unsigned long types into BigNumber format, so the stock library will not work with code.


Copy the src/ directory to your Arduino sketchbook directory (named the directory example4351), and install the libraries in your Arduino library directory. You can also install the adf4351 files separatly as a library.


You can’t perform that action at this time.