This version (26 Feb 2019 12:21) was approved by atolentino.The Previously approved version (08 Feb 2019 07:52) is available.Diff



The EVAL-ADL5920-ARDZ shield is a dual RMS power detector with integrated directional bridge featuring the ADL5920 IC. The voltage outputs of the ADL5920 are routed to the ANALOG IN connector of the Arduino base board. This allows the RF power detector’s output voltage to be easily digitized and processed by the Arduino base board’s integrated six-channel ADC.

The ADL5920 with integrated bridge simultaneously measures forward and reverse RMS power up to 7GHz, and provides return loss results. The detector has 50dB of dynamic range at 1GHz. The demo board requires an external power supply that connects to the Linduino board.

The EVAL-ADL5920-ARDZ is compatible with EVAL-ADICUP3029 and DC2026C (also called Linduino One). For both platforms, PC software GUI applications (EVAL-ADICUP3029, Linduino) are available, with which the user can make RF power measurements and also calibrate the device to decrease measurement error. Device drivers for EVAL-ADICUP3029 and for Linduino Uno are also available, which the user may use to develop their own code for RF measurement, device calibration, and more.

Notes on Test Equipment and Setup

  • Use a high performance signal generator with accurate output power levels up to 7GHz.
  • Use Linduino DC2026C or EVAL-ADICUP3029 that mates to the ADL5920 shield.
  • External wall wart power supply for Linduino DC2026C is required. Alternately, a 5V supply capable of 200mA can be used to power the ADL5920 shield through the screw terminal block (J7) if wall wart is not available.
  • For more information for test equipment and setup, refer to ADL5920 datasheet or contact us at EngineerZone


1. Remove the DC2847A from its protective packaging in an ESD-safe working area (see Figure 1).

2. Connect external wall wart power supply to J2 on Linduino board DC2026C. Set JP1.

3. Connect USB cable to PC and J5 on Linduino board.

4. Connect signal generator to RF_IN(J1) on the ADL5920 shield.

5. Connect RF load to RF_OUT.

6. Turn on signal generator, set frequency between 9KHz and 6GHz. Set RF power below 30dBm.

7. Go to and download and install quikeval.

8. Open quikeval, set frequency, and click “READ” to measure forward and reverse RMS power using default calibration. See Figure 2.

9. User calibration can be performed to improve accuracy. Click “Calibrate” to calibrate the device across frequency. Linear interpolation is used to calculate the slope and intercept for frequencies between the calibration points. The calibration coefficients are stored in the GUI that can be re-used later. See figure 3.

Figure 1. EVAL-ADL5920-ARDZ setup

Figure 2. User Interface

Figure 3. Calibration

Software GUI for ADICUP3029

Software Installation

  1. Set up ADICUP3029 serial driver as in 1. Install mBed windows serial driver...
  2. Contact us at EngineeringZone to get the Software GUI file .
  3. Extract the Software GUI file to your computer.
  4. Connect the EVAL-ADICUP3029 board using micro USB cable
  5. Set the S2 switch to USB.
  6. In the extracted files look for power_detector-firmware.hex then copy the hex file to Computer»DAPLINKdrive
    After loading the hex file to the DAPLINK drive the window explorer must automatically close or else you need to load the hex file to the drive again.

  7. After Windows Explorer automatically closes, reset the Eval-ADICUP3029 board by pressing the S1 (reset) button on the board.
  8. Go to extracted files and look for power_detector.exe file and double click to run the software. The Connection Window will open.


Software Operation

Connection Window

  1. Mount EVAL-ADL5920-ARDZ to the ADICUP3029 and connect ADICUP3029 to computer as in Typical Hardware Setup for Measurement
  2. Click the refresh button on Port Name to Identify the port where an ADICUP3029 is installed
    If there is more than one ADICUP3029 installed, select the port where ADICUP3029 and EVAL-ADL5920-ARDZ connected
  3. Set Baudrate to 115200
  4. Select Auto-detect on Shield type.
  5. Click Connect. The Measurement Window should Open.
Console Log must indicate “ADL5920 shield detected with ADiCUP”

Measurement Window

The EVAL-ADL5920-ARDZ shield converts the measured ADC code to RF input power in dBm using stored calibration coefficients. A 3-point calibration methodology is used. The software program includes default calibration coefficients that correspond to the default response of the ADL5920 across RF power level and frequency. datasheet specifications of ADL5920. Because of part-to-part device variation, observed accuracy using the default calibration coefficients will be sub-optimal. By availing of the software program's 3-point calibration function, measurement accuracy can be increased.

If calibration is skipped at some frequencies, the default calibration coefficients will be used (user calibration coefficients and default calibration coefficients are INITIALLY the same).

Related topic: Calibration of EVAL-ADL5920-ARDZ

To skip Calibration and use Default Calibration Coefficients:

  • Check the box to use default calibration coefficients
  • Uncheck to use user calibration coefficients

To make single measurement:

  1. Enter the frequency of the input RF signal
  2. Uncheck Continuous Measurement
  3. Click Measure Button
Not entering the correct frequency may result to less accurate measurements.

To continuously make measurements:

  1. Enter the frequency of the input RF signal
  2. Check Continuous Measurement
  3. Click Measure Button
  4. Click Stop to stop measuring at the last measurement
Not entering the correct frequency may result to less accurate measurements.

To switch windows:

Click “Connection” or “Calibration” to switch to respective window.

Calibration Window


To calibrate at a specific frequency, take the following steps

  1. Select the frequency using the frequency pull-down menu
  2. Input an RF signal of 0dBm at the selected frequency. Click the Measure button beside 0dBm.
  3. Input an RF signal of -45dBm at the selected frequency. Click the Measure button beside -45dBm.
  4. Input an RF signal of -60dBm at the selected frequency. Click the Measure button beside -60dBm.
  5. Click the Calibrate button. Console Log will indicate “User calibration coefficient for (frequency used) is updated.”
Follow steps exactly. User calibration coefficients will not update if the Calibrate Button is not clicked.

If you plan to operate at a frequency not on the list, make sure to calibrate at least on the adjacent upper and lower calibration frequencies (the software program will interpolate these data to ensure accuracy at the operating frequency). If the operating frequency is higher or lower than the available calibration frequencies, calibrate only on the highest or lowest calibration frequencies.

Calibration Methodology

Two-point calibration is the simplest calibration technique. This models the transfer function of the ADL5920 and ADC as a single straight line



PIN is the RF input power being measured

CODE is the ADC code

SLOPE is the slope of the ADL5920 transfer function's linear model (unit is LSBs/dB)

INTERCEPT is the (extrapolated) input RF power level which would yield and ADC code of 0 (this is a theoretical value with a unit of dBm)

SLOPE and INTERCEPT are calculated and stored during the calibration process by applying two known RF power levels, PIN1 and PIN2 (these RF power levels should be within the linear input range of the ADL5920) and measuring the corresponding ADC codes, CODE1 and CODE2. The equations for calculating SLOPE and INTERCEPT are as follows:



If there is some non-linearity in the transfer function of the RF detector, the number of calibration points can be increased to improve measurement accuracy. To implement three-point calibration, three known power levels are applied PIN1, PIN2 and PIN3 (PIN1 should be greater than PIN2 which should be greater than PIN3) and the corresponding ADC codes are noted (CODE1, CODE2, CODE3)

This results in two SLOPE values and two INTERCEPT values which are calculated using the equations





After calibration when measuring RF input power, the power is calculated using the appropriate equation




To decide which equation and calibration coefficients to use, the CODE from the ADC should be compared to CODE2 (CODE2 is the demarcation point between the two calibration regions). This will indicate which region of the ADL5920's transfer function the RF input power is located. For example, if the ADC CODE is greater than CODE2, this will indicate that the input power is greater than PIN2. So SLOPE1 and INTERCEPT1 should be used to calculate the input power. Because of the need to identify the region in which the measured RF input power is located, the CODE2 value should also be stored after calibration along with the SLOPE1, SLOPE2, INTERCEPT1 AND INTERCEPT2.

This technique can be extended to four or more calibration points. This may improve measurement accuracy at the cost of more complex calibration.

Development on ADICUP3029

Development drivers are available for C and Python. Other development environments may be used but this development guided is focused on software development on CrossCore Embedded Studio (for C) and on Pycharm(for Python).

C Development Guide


  1. Download and install mBed windows serial driver
Assumes a fresh installation of all required software

Setting Up CrossCore Embedded Studio

  1. Install the following packs by following the How to install or upgrade Packs for CCES guide:
    • ARM.CMSIS.5.4.0
    • AnalogDevices.ADuCM302x_DFP.3.1.2
  2. Switch back to C/C++ window c-dev-window and close CCES 2.8.1
  3. Run the “ADL5920 Sample C Code and Header Files.exe” and select “C:\Users\YourUsername\cces\2.8.1” as the destination folder. The adl5920 folder should appear in C:\Users\YourUsername\cces\2.8.1 .
  4. Launch CCES 2.8.1 and select workspace C:\Users\YourUsername\cces\2.8.1. If the adl5920 has been installed elsewhere, choose that location as workspace. Switch to C/C++ window if it's not the current window.
  5. To open the unzipped folder in the workspace, click File → Open Projects from File System. A new window will pop up and ask you to select the project or folder that you want to open. Select the proper directory then click Finish.

On the left side of the window, the structure of the loaded sample code should match the structure in the image shown below.

Development on CrossCore Embedded Studio

  1. Connect your ADICUP3029 and power up the RF power detector shield then click Build rfdet-c-hammer.
  2. After it finishes building, click Debug and click Application with GDB and OpenOCD (Emulator). Copy the following Debug configurations on the new window that will appear then click the Debug button.
  3. On the Debug window, click the Resume to run and display the results on the Console window.

Python Development Guide


Assumes a fresh installation of all required software

  1. Download python 3.7.0 version. Choose the right version depending on operating system. For windows, choose Windows x86-64 executable installer. (Do not run installer yet)
  2. Run installer as Administrator. During installation, check “Add Python 3.7 to PATH” before clicking “Install Now”
  3. Install pyserial. For windows, enter pip3.7 install pyserial on command prompt.
  4. Download and install PyCharm community version
  5. Download and install mBed windows serial driver

Setting Up PyCharm

  1. Install Power Detector Python Code Example.exe, the destination folder used is the “Scripts” directory where the python3.7 is located. For windows, the location path is similar to C:\Users\MyUsername\AppData\Local\Programs\Python\Python37\Scripts
  2. Launch PyCharm and set up PyCharm interpreter by clicking file»settings»Project»Project Interpreter choose python 3.7 then click “Ok”.

Development on PyCharm

  1. Connect the Eval-ADICUP3029 board using micro USB cable.
  2. In the Eval-ADICUP3029, set the S2 switch to USB.
  3. Download power_detector-firmware.hex, then copy it to the DAPLINK directory. Wait for the window to exit automatically. Else, repeat the Development on PyCharm guide.
  4. Press S1 (reset) button on the Eval-ADICUP3029 and mount the EVAL-ADL5920-ARDZ to the Eval-ADICUP3029
  5. On PyCharm, go to File»Open and browse for the \PycharmProjects\example code directory.
  6. Click Project Tab located at left side of IDE and go to ADL5920 folder and double click
  7. Change the default Port number (“COM10”) in the example code. On your computer go to Control Panel»Device Manager look for Ports (COM & LPT) find the port number of “mbed Serial Port”.
  8. Right click on any point in the working space and click Run ADL5920-getShieldReadings

Hardware Reference Information

EVAL-ADL5920-ARDZ Design Files

Help and Support

For any queries regarding the hardware and evaluation software, contact us at EngineerZone.

resources/eval/user-guides/eval-adl5920-ardz.txt · Last modified: 26 Feb 2019 12:21 by atolentino