This version (17 Nov 2021 08:58) was approved by Antoniu Miclaus.The Previously approved version (20 Sep 2021 11:40) is available.Diff

Analog Devices Kuiper Linux

Analog Devices Kuiper Linux is a distribution based on Raspbian for the Raspberry Pi. It incorporates Linux device drivers for ADI products, and is 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 system. When starting with a generic Linux distribution, the kernel typically would have to be rebuilt with the desired drivers enabled. While this is not difficult for an engineer that is familiar with the process, it can be a daunting task even when everything goes right.
ADI Kuiper Linux solves this problem, and includes a host of additional applications, software libraries, and utilities including:

  • IIO Oscilloscope (basic GUI for debugging IIO devices)
  • IIOD (exposes IIO devices over a network connection to a remote host)
  • libiio (library for applications running locally)
  • pyadi-iio (Python abstraction layer for iio devices)
  • libm2k (software API for the ADALM2000 multifunction USB instrument)
  • GNURadio (including GR-IIO blocks, ADALM2000, ADALM-Pluto blocks)

While Rasbpian targets Raspberry Pi platform boards, ADI Kuiper Linux supports several other platforms including the Digilent Zedboard, TerASIC DE10-Nano, and Digilent Cora.


  • You need a Host PC (Windows or Linux).
  • You need a SD card writer connected to above PC (Supported USB SD readers/writers are OK).
  • USB keyboard/mouse for the Device
  • HDMI Display (monitor or TV)

Download Linux Image

The BOLD is what you should type. It's not too much more than Special Agent Oso's three special steps, and it also allows you to go for that specialty coffee you have been craving.

For different platforms you'll need different images. Currently we provide a single pre-build image, that can work on Raspberry Pi platforms for now.

Make sure you unzip the image using either 7-zip or on Linux it can be done via command-line unzip <image_name>.zip. The actual file that needs to be dumped to the SD card has to have the *.img extension.
Your SD-card needs to be at least 16 GB.
If your computer has security restrictions imposed by your company's IT department, which prevent your from writing data to SD-cards (or the data is encrypted when written on the SD-card), then consider using a computer that doesn't have such restrictions, or communicating with your IT department to find a solution.
  • 28 July 2021 Release image
  • Checksum 279097240dec7156ff5e15b7ce0b8a25
  • Checksum 2021-07-28-ADI-Kuiper-full.img b160453396e482234094a92134769ec6
  • 23 February 2021 release candidate
  • Checksum 2021-02-23-ADI-Kuiper.img.xz 4e2d2d290f6c55666a91246afb42d6c8
  • Checksum 2021-02-23-ADI-Kuiper.img f5dcc9a192ef4597d73d532046320306
  • 06 May 2020 release
  • Checksum 9018cf78e783ae5cdd37a85aa9b0ad64
  • Checksum 2020-05-06-ADI-Kuiper-full.img e98f3beb2928572a5e28bc16807011e8

Now, depending if you are using Linux or Windows, follow these instructions to write the file to your SD card.

Users and Passwords

The default user for the graphical desktop environment is the “analog” user, the password for this user is “analog”. The password for the “root” account is “analog” as well.

User Password
root analog
analog analog

A Note on Security: The Raspberry Pi and other small Linux platforms are fantastic tools, but can represent a network security gap if used improperly. ADI Kuiper Linux starts out configured in a fairly open state - a simple root password, SSH login enabled. This isn't an issue if the Raspberry Pi does not have internet access or is behind a firewall, but if you are going to connect to your network, it's a good idea to change the password to something secure. Refer to this article on Raspberry Pi Security: Securing your Raspberry Pi

Preparing the Image: Raspberry Pi

System Configuration

On first boot, there are a few things that should be configured first. Click the ADI triangle start menu, Preferences, Raspberry Pi Configuration. Enter the root password when prompted, this will bring up a configuration menu. Under Localisation, set the Locale, Timezone, Keyboard, and WiFi Country appropriately (Not doing this may result in connection failures.)
Reboot the system after this step for changes to take effect, before doing anything else. (It's a bit disconcerting when you see see strange symbols show up as you edit a configuration file because the keyboard language is set incorrectly…)

Hardware Configuration

The system will likely need to be configured according to what devices are connected to the platform board (for example, an AD7124-8 ADC connected to a Raspberry Pi) The most straightforward way to do this for Raspberry Pi is to edit the config.txt file, which is located in the boot partition. This is a FAT partition that is accessible in Linux, Windows, or MacOS. Any text editor can be used, including the Mousepad editor that is included with Kuiper Linux. Using the Raspberry Pi itself also avoids problems with USB encryption, often present on company computers. Connect a keyboard, mouse, and monitor to the Raspberry Pi and connect power. The ADI Kuiper Linux desktop should appear.
Before editing, it is a good idea to make a backup of the original file, just in case something goes wrong (which it won't, but still…) Open a terminal and enter the following command (noting that “analog@analog:~ $” is the prompt, and does not need to be typed):

analog@analog:~ $ sudo cp /boot/config.txt /boot/config.backup
analog@analog:~ $ sudo mousepad /boot/config.txt

This will bring up the text editor. At this point, the appropriate device tree overlays can be included, for example, add the following line to enable the ADXL345 3-axis SPI accelerometer, noting that the lirc-rpi lines are shown for reference, and any line beginning with “#” is ignored:

# Uncomment this to enable the lirc-rpi module

This usually represents a default overlay, with SPI port and interrupt mapping defined in the kernel source. A number of other overlays are included with Kuiper Linux, for individual devices and various reference designs. Alternative configurations can be created by cloning and editing the appropriate dts file.

After editing config.txt, reboot for changes to take effect.

If any IIO devices are attached and were enabled in config.txt, run iio_info to verify that the drivers loaded properly. Example:

analog@analog:~ $ iio_info
Library version: 0.21 (git tag: 1c0781b)
Compiled with backends: local xml ip
IIO context created with local backend.
Backend version: 0.21 (git tag: 1c0781b)
Backend description string: Linux analog 4.19.86-v7l+ #3 SMP Tue Sep 1 19:43:06 UTC 2020 armv7l
IIO context has 2 attributes:
	local,kernel: 4.19.86-v7l+
	uri: local:
IIO context has 5 devices:
	iio:device0: ad7127-8 (buffer capable)
		8 channels found:
			voltage0-voltage1:  (input, index: 0, format: be:u24/32>>0)
			6 channel-specific attributes found:
				attr  0: filter_low_pass_3db_frequency value: 3
				attr  1: offset value: 0

Preparing the Image: Xilinx and Intel Platforms

Details for ZedBoard/Cora/other Xilinx platforms, DE10-Nano, other Intel platforms.
Derive from AD-FMC-SDCARD for Zynq &amp; Altera SoC Quick Start Guide?

resources/tools-software/linux-software/adi-kuiper_images.txt · Last modified: 17 Nov 2021 08:58 by Antoniu Miclaus