This version is outdated by a newer approved version.DiffThis version (27 Jan 2023 09:09) was approved by Joyce Velasco.The Previously approved version (10 Aug 2022 23:01) is available.Diff

This is an old revision of the document!

EVAL-CN0511-RPIZ User Guide


Instruments that operate at RF range with features like low distortion, ultra low phase noise, and portable signal generator are difficult to provide at reasonable cost.

The system shown below in Figure 1 is an entirely self-contained DC to 5.5 GHz signal generator. It only requires the Raspberry Pi (RPi) to operate. The RF digital-to-analog converter (DAC), controlled using a 100 MHz Serial Peripheral Interface (SPI) from the RPi, allows for single tone, phase coherent, and fast frequency hopping across the spectrum. All the clocking requirements are generated using an on-board crystal, so no external clock source is needed. All the necessary power rails are also converted from the RPi into various supply voltage requirements of the RF signal generator.

The system is designed to simplify the input requirements, optimize signal paths, and reduce external cables and components. This circuit can act as a standalone laboratory equipment or can be incorporated as a module into automatic test equipment. Its small size makes it particularly attractive when multiple channels are required. This Raspberry Pi compatible solution makes high speed signal generation more accessible and economical.

Figure 1. EVAL-CN0511-RPIZ Evaluation Board


  • Supports RF signal synthesis up to 5.5 GHz
  • +/-0.5 dB calibrated output power across the operating bandwidth
    • From 0 dBm to -40 dBm
  • High dynamic range and signal reconstruction bandwidth
  • Fully supports zero intermediate frequency (IF) and other dc-coupled applications
  • On-board free-running 122.88 MHz precision oven-controlled crystal oscillator (OCXO)
  • Features low output ripple with low output capacitance

Hardware Configuration

Block Assignments

Figure 2. EVAL-CN0511-RPIZ Block Terminal Assignments Figure 2. EVAL-CN0511-RPIZ Block Terminal Assignments

  • Connector P1 is the terminal block for optional external +5 V input supply.
  • Connector P2 is the 40-pin connector for Raspberry Pi.
  • Connector P3 is the terminal block for optional external +3.3 V input supply.
  • Connector P4 is the fan connector for the AD9166.
  • Connector J1 is the RF output from the EVAL-CN0511-RPIZ.
  • Connector J2 is the optional external clock reference RF input for the EVAL-CN0511-RPIZ.

Onboard Clock Reference

The CN0511 reference design board is supplied with an ultra low phase noise CMOS, voltage-controlled crystal clock oscillator. The CN0511 has a solder jumper (JP1) which configures different settings for the clock source, as shown below. The default position of JP1 is set at A-COM, which is the onboard clocking option.

Figure 5. EVAL-CN0511-RPIZ Clock Source Schematic Diagram Figure 3. EVAL-CN0511-RPIZ Clock Source Schematic Diagram

External Clock Reference Option

An external clock reference can be used to generate external clock reference to improve system noise. If the performance requirements cannot be met, an external option is available, which is limited of up to 500 MHz clock source input. This external clock source can be connected through the on-board SMA port(J2).

To use an external single-ended reference input (REFIN) up to 500 MHz, connect a single-ended low noise source to REFIN. Set solder link JP1 to B–COM to switch the clock reference from the on-board OCXO to an external clock source.

RF Output

A spectrum analyzer can be can be used to observe the generated RF output from J1 on the EVAL-CN0511-RPIZ.

Input and Output Connection Guide of CN0511 with a Spectrum Analyzer and External Clock Source

Figure 4. RF Output and Optional External Clock Input Connections

Connecting the Fan

The AD9166 is a high power device that can dissipate nearly 4 W depending on the user application and configuration. ​The EVAL-CN0511-RPIZ ​has a high cooling requirement; therefore, the fan should always be on to regulate the temperature below 60 degrees Celsius. Cooling Management Guide of CN0511 Figure 5. CN0511 Fan and Thermal Management

Input Supply

Power to the EVAL-CN0511-RPIZ comes directly from the Raspberry Pi +5 V supply provided by the USB cable. There is an optional +5V external supply coming from the two-pole screw terminal(P1). Only one input power supply is required and the Raspberry Pi USB cable is the recommended method. Input Power Supply Connection Options of CN0511 Figure 6. CN0511 Input Power Supply Connection Options

System Setup

Equipment Required


  • EVAL-CN0511-RPIZ Circuit Evaluation Board
  • Raspberry Pi 3B or higher version
  • 5 V, 2.5 A power supply or higher with micro USB connector
  • SMA Cable (PE39423-12 or with similar specification)
  • 16 GB or larger SD card
  • USB keyboard and mouse
  • HDMI to HDMI cable
  • Monitor with HDMI port


  • Analog Devices Kuiper Linux image


System Block Diagram

Figure 3. Test Setup Functional Block Diagram Figure 7. Functional System Block Diagram

Running the System

To set up the complete system, follow these steps:

  1. Connect the EVAL-CN0511-RPIZ to the Raspberry Pi through the 40-pin connector.Figure 8. Hardware Connection of EVAL-CN0511-RPIZ and Raspberry Pi 3 Model B+Figure 8. Hardware Connection of EVAL-CN0511-RPIZ and Raspberry Pi 3 Model B+
  2. Burn the SD card with the proper Analog Devices, Inc. Kuiper Linux image. Insert the burned SD card on the designated slot on the Raspberry Pi.
  3. Connect the system to a monitor using an HDMI cable through the mini HDMI connector on the Raspberry Pi.
  4. Connect a USB keyboard and mouse to the RPi through the USB ports.
  5. Connect the RF load/signal analyzer to the dedicated output connectors from the EVAL-CN0511-RPIZ.
  6. Power on the RPi by plugging in a 5 V power supply with micro-USB connector.
  7. Open the terminal and configure the device tree overlay file. See software section for detailed instructions. Make sure to reboot the RPi after saving the config.txt file.

CN0511 System Setup Figure 9. CN0511 System Setup

Software Setup

For the device to run, the SD card should be loaded with Analog Devices Kuiper Linux, a distribution based on Raspbian from the Raspberry Pi Foundation. It incorporates Linux device drivers for ADI products as well as tools and other software products designed and created with ease of use in mind. The reasoning behind creating this distribution is to minimize the barriers to integrating ADI hardware devices into a Linux-based embedded system.

Access to the embedded system can be through ​a remote PC connected ​either via LAN cable or Wi-Fi. ​

Downloading and Flashing Kuiper Linux Image on SD Card

In order to control the EVAL-CN0511-RPIZ from the Raspberry Pi, you will need to install ADI Kuiper Linux on an SD card. Complete instructions, including where to download the SD card image, how to write it to the SD card, and how to configure the system are provided at Kuiper Images. Write the image and follow the system configuration procedure.

Configuring the SD Card for the CN0511

For the Linux kernel to identify the device connected to the expansion header, update the device tree overlay. A Device Tree Overlay contains information about additional connected hardware, the EVAL-CN0511-RPIZ for this case. The overlay file is already included in the SD card and just needs to be matched to the EVAL-CN0511-RPIZ.

Follow the Hardware Configuration procedure under Preparing the Image: Raspberry Pi in the Kuiper Images page, substituting the following lines in config.txt:

This brings up the file in the terminal. Scroll down until the line that begins with “dtoverlay” is found; then, whatever it currently is, change it to:


Save the file by Ctrl + X command. Reboot the system by typing on the command prompt:

analog@analog:~$ sudo reboot

Graphical User Interface(GUI) and Example Python Scripts

There are two main tools which a user has the option to interact with the EVAL-CN0511-RPIZ.

  • IIO Oscilloscope
  • Python (via Pyadi-iio)

Software Control and Diagnostics via IIO Oscilloscope

The EVAL-CN0511-RPIZ can be evaluated using IIO Oscilloscope. Customers can use the CN0511 plug-in tab, debug tab, and the DMM tab. Various controls and diagnostics are available in these plug-ins.

CN0511 IIO Oscilloscope Plug-in

The CN0511 plug-in tab provides a simple user interface to control the EVAL-CN0511-RPIZ as a signal generator.

Figure 10. Graphical User Interface (GUI) window of ADI IIO Oscilloscope with CN0511 Plug-in

Single Tone Mode

  • Frequency (MHz): Set the desired output signal frequency to be produced by the AD9166.
  • Amplitude (dB): Adjust the RF signal amplitude of the AD9166 output.
  • Enter: Provides a Calibrated RF signal output from the AD9166.

DAC Amplifier

  • Enable: Enable/Disable the AD9166 RF signal output.

Debug Tab

The debug tab provides direct access to IIO device and channel attributes, as well as the registers of the CN0511 components. The IIO attributes and registers can be read and written for advanced configuration and information.


The DMM tab provides temperature readings for ADF4372 and AD9166 using internal temperature sensors on both devices.

DAC Data Manager

The DAC Data Manager set the DAC output scale for AD5693r that sets the bias on the on-board crystal oscillator.


PyADI-IIO is a python abstraction module for ADI hardware with IIO drivers to make them easier to use. This module provides device-specific APIs built on top of the current libIIO python bindings. These interfaces try to match the driver naming as much as possible without the need to understand the complexities of libIIO and IIO.

Installation of Latest Lib-IIO and Other Requirements Needed to Run the Example

In order to run the current Python example a few additional steps need to occur. Once the next version of Analog Devices Kuiper Linux gets released (2021_R2), these steps will be removed.

Step 1: Installation of the latest libad9166-iio
git clone
cd libad9166-iio
cmake ./CMakeLists.txt
sudo make install
cd bindings/python
sudo pip install -r requirements_dev.txt
cmake ./CMakeLists.txt
sudo make
sudo make install

Step 2: Clone the latest pyadi-iio from github

git clone

Step 3: Installation of libatlas-base-dev linux packages

sudo apt-get install libatlas-base-dev 

Then choose 'Y' if were asked to continue.

Enter the password “analog” whenever asked for it during the installation process

After all these requirements has been loaded in the Raspberry Pi, example found in ~/home/analog/pyadi-iio/examples for CN0511 can now be executed.

Running the Example

This demo uses a PyADI-IIO example script. This script will show the single-tone frequency with calibrated output power in dBm.

  1. Connect the EVAL-CN0511-RPIZ to the Raspberry Pi.
  2. Open command prompt or terminal and navigate through the examples folder inside the downloaded or cloned pyadi-iio directory.
  3. Run the example script using the command.
.../pyadi-iio/examples $ python3

Github link for the python sample script: CN0511 Python Example

Schematic, PCB Layout, Bill of Materials

EVAL-CN0511-RPIZ Design & Integration Files

  • Schematics
  • PCB Layout
  • Bill of Materials
  • Allegro project

Reference Demos & Software


Receive software update notifications, documentation updates, view the latest videos, and more when you register your hardware. Register to receive all these great benefits and more!

End of Document

resources/eval/user-guides/circuits-from-the-lab/cn0511.1674806928.txt.gz · Last modified: 27 Jan 2023 09:08 by Joyce Velasco