To whom it may concern,
I purchased an Analog Devices EVAL-CN0566-RPIZ on November 25, 2024 (Web Reference No. 2002571687; Order #1001171453), and the order was received on December 4, 2024. I finally had time to open the package on December 28, 2024 to begin setup and evaluation of the received hardware.
I was disappointed that the 6-inch USB-to-Mini USB cable was not sent with the unit to connect the ADALM-Pluto to the Raspberry Pi, so a replacement cable was purchased from Amazon Prime. Next, the DFRobot HB100 Gravity: Digital 10.525GHz Microwave Sensor (Motion Detection) was Dead on Arrival and had to be replaced with a new unit ordered from Digikey. The replacement HB100 worked perfectly when connected to a power source.
The September 6, 2024 edition of the EVAL-CN0566-RPIZ Quick Start Guide (https://wiki.analog.com/resources/eval/user-guides/circuits-from-the-lab/cn0566/quickstart) was followed to begin the setup and evaluation of the hardware. This document was approved for release on Sept 6, 2024 by ADI Engineer Mark Thoren. It appears as though Mr. Thoren did not work through the document to validate its contents before releasing the document. The instructions in the document have problems that I need assistance resolving, which is the reason for this post.
Regardless, the first step after the hardware is assembled is to load Kuiper Linux 2021_R2 onto the SD Card. However, the security certificates for Kuiper Linux 2021_R2 have expired, so the required software cannot be downloaded from Github. Therefore, Kuiper Linux 2023_r2 had to be used for the system software.
The following script documents the updates to Kuiper Linux 2023_r2:
login as: analog
analog@analog.local's password:
Linux analog 6.1.54-v7l+ #1 SMP Tue Nov 5 15:29:09 UTC 2024 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Nov 8 15:05:19 2024
Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.
analog@analog:~ $ wget github.com/.../phaser_sdcard_setup.sh
--2025-01-04 13:14:14-- github.com/.../phaser_sdcard_setup.sh
Resolving github.com (github.com)... 140.82.112.4
Connecting to github.com (github.com)|140.82.112.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: raw.githubusercontent.com/.../phaser_sdcard_setup.sh [following]
--2025-01-04 13:14:15-- raw.githubusercontent.com/.../phaser_sdcard_setup.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.110.133, 185.199.111.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2781 (2.7K) [text/plain]
Saving to: ‘phaser_sdcard_setup.sh’
phaser_sdcard_setup 100%[===================>] 2.72K --.-KB/s in 0.004s
2025-01-04 13:14:15 (641 KB/s) - ‘phaser_sdcard_setup.sh’ saved [2781/2781]
analog@analog:~ $ sudo chmod +x phaser_sdcard_setup.sh
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for analog:
analog@analog:~ $ ./phaser_sdcard_setup.sh
Sat 04 Jan 2025 01:14:59 PM GMT
Get:1 archive.raspberrypi.org/debian bullseye InRelease [39.0 kB]
Get:2 raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB]
Get:3 raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages [13.2 MB]
Get:4 archive.raspberrypi.org/debian bullseye/main armhf Packages [329 kB]
Get:5 raspbian.raspberrypi.org/raspbian bullseye/non-free armhf Packages [107 kB]
Fetched 13.7 MB in 6s (2,203 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
53 packages can be upgraded. Run 'apt list --upgradable' to see them.
--2025-01-04 13:15:10-- github.com/.../config_phaser.txt
Resolving github.com (github.com)... 140.82.114.4
Connecting to github.com (github.com)|140.82.114.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: raw.githubusercontent.com/.../config_phaser.txt [following]
--2025-01-04 13:15:10-- raw.githubusercontent.com/.../config_phaser.txt
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.111.133, 185.199.110.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2402 (2.3K) [text/plain]
Saving to: ‘config_phaser.txt’
config_phaser.txt 100%[===================>] 2.35K --.-KB/s in 0s
2025-01-04 13:15:13 (6.34 MB/s) - ‘config_phaser.txt’ saved [2402/2402]
--2025-01-04 13:15:13-- github.com/.../iiod-usb@.service
Resolving github.com (github.com)... 140.82.114.4
Connecting to github.com (github.com)|140.82.114.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: raw.githubusercontent.com/.../iiod-usb@.service [following]
--2025-01-04 13:15:13-- raw.githubusercontent.com/.../iiod-usb@.service
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.111.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 253 [text/plain]
Saving to: ‘iiod-usb@.service’
iiod-usb@.service 100%[===================>] 253 --.-KB/s in 0s
2025-01-04 13:15:13 (3.03 MB/s) - ‘iiod-usb@.service’ saved [253/253]
--2025-01-04 13:15:13-- github.com/.../89-pluto.rules
Resolving github.com (github.com)... 140.82.114.4
Connecting to github.com (github.com)|140.82.114.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: raw.githubusercontent.com/.../89-pluto.rules [following]
--2025-01-04 13:15:14-- raw.githubusercontent.com/.../89-pluto.rules
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.108.133, 185.199.109.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 325 [text/plain]
Saving to: ‘89-pluto.rules’
89-pluto.rules 100%[===================>] 325 --.-KB/s in 0s
2025-01-04 13:15:14 (2.85 MB/s) - ‘89-pluto.rules’ saved [325/325]
--2025-01-04 13:15:18-- github.com/.../hosts_phaser
Resolving github.com (github.com)... 140.82.112.3
Connecting to github.com (github.com)|140.82.112.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: raw.githubusercontent.com/.../hosts_phaser [following]
--2025-01-04 13:15:18-- raw.githubusercontent.com/.../hosts_phaser
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.110.133, 185.199.108.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 126 [text/plain]
Saving to: ‘hosts_phaser’
hosts_phaser 100%[===================>] 126 --.-KB/s in 0s
2025-01-04 13:15:18 (3.26 MB/s) - ‘hosts_phaser’ saved [126/126]
--2025-01-04 13:15:18-- github.com/.../hostname_phaser
Resolving github.com (github.com)... 140.82.112.3
Connecting to github.com (github.com)|140.82.112.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: raw.githubusercontent.com/.../hostname_phaser [following]
--2025-01-04 13:15:19-- raw.githubusercontent.com/.../hostname_phaser
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.111.133, 185.199.110.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7 [text/plain]
Saving to: ‘hostname_phaser’
hostname_phaser 100%[===================>] 7 --.-KB/s in 0s
2025-01-04 13:15:19 (76.8 KB/s) - ‘hostname_phaser’ saved [7/7]
--2025-01-04 13:15:20-- github.com/.../pluto_update_ad9361.sh
Resolving github.com (github.com)... 140.82.112.3
Connecting to github.com (github.com)|140.82.112.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: raw.githubusercontent.com/.../pluto_update_ad9361.sh [following]
--2025-01-04 13:15:20-- raw.githubusercontent.com/.../pluto_update_ad9361.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.111.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 671 [text/plain]
Saving to: ‘pluto_update_ad9361.sh’
pluto_update_ad9361 100%[===================>] 671 --.-KB/s in 0s
2025-01-04 13:15:20 (11.7 MB/s) - ‘pluto_update_ad9361.sh’ saved [671/671]
Found existing installation: pyadi-iio 0.0.18
Uninstalling pyadi-iio-0.0.18:
Successfully uninstalled pyadi-iio-0.0.18
Cloning into 'pyadi-iio'...
remote: Enumerating objects: 33883, done.
remote: Counting objects: 100% (276/276), done.
remote: Compressing objects: 100% (133/133), done.
remote: Total 33883 (delta 196), reused 147 (delta 143), pack-reused 33607 (from 3)
Receiving objects: 100% (33883/33883), 78.65 MiB | 16.06 MiB/s, done.
Resolving deltas: 100% (28159/28159), done.
Already on 'main'
Your branch is up to date with 'origin/main'.
Looking in indexes: https://pypi.org/simple, www.piwheels.org/simple
Processing /home/analog/pyadi-iio
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Requirement already satisfied: numpy>=1.20 in /usr/local/lib/python3.9/dist-packages (from pyadi-iio==0.0.19) (2.0.2)
Requirement already satisfied: pylibiio>=0.25 in /usr/local/lib/python3.9/dist-packages (from pyadi-iio==0.0.19) (0.25)
Building wheels for collected packages: pyadi-iio
Building wheel for pyadi-iio (PEP 517) ... done
Created wheel for pyadi-iio: filename=pyadi_iio-0.0.19-py3-none-any.whl size=186003 sha256=818129eec03e5fa62d0a96d35a886664d0eb5fb6fb92ce6dcd9556569c42beb4
Stored in directory: /root/.cache/pip/wheels/7a/03/46/64e26b0c298ae5f42d027305c05e7893509eb3acc0f58c7ba8
Successfully built pyadi-iio
Installing collected packages: pyadi-iio
Successfully installed pyadi-iio-0.0.19
Looking in indexes: https://pypi.org/simple, www.piwheels.org/simple
Requirement already satisfied: pyqtgraph in /usr/lib/python3/dist-packages (0.11.1)
Collecting pyqtgraph
Downloading www.piwheels.org/.../pyqtgraph-0.13.7-py3-none-any.whl (1.9 MB)
|████████████████████████████████| 1.9 MB 261 kB/s
Requirement already satisfied: numpy>=1.22.0 in /usr/local/lib/python3.9/dist-packages (from pyqtgraph) (2.0.2)
Installing collected packages: pyqtgraph
Attempting uninstall: pyqtgraph
Found existing installation: pyqtgraph 0.11.1
Not uninstalling pyqtgraph at /usr/lib/python3/dist-packages, outside environment /usr
Can't uninstall 'pyqtgraph'. No files were found to uninstall.
Successfully installed pyqtgraph-0.13.7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
sshpass
0 upgraded, 1 newly installed, 0 to remove and 53 not upgraded.
Need to get 11.9 kB of archives.
After this operation, 32.8 kB of additional disk space will be used.
Get:1 raspbian.mirror.axinja.net/raspbian bullseye/main armhf sshpass armhf 1.09-1 [11.9 kB]
Fetched 11.9 kB in 1s (15.2 kB/s)
Selecting previously unselected package sshpass.
(Reading database ... 184150 files and directories currently installed.)
Preparing to unpack .../sshpass_1.09-1_armhf.deb ...
Unpacking sshpass (1.09-1) ...
Setting up sshpass (1.09-1) ...
Processing triggers for man-db (2.9.4-2) ...
--2025-01-04 13:16:45-- github.com/.../plutosdr-fw-v0.38.zip
Resolving github.com (github.com)... 140.82.113.4
Connecting to github.com (github.com)|140.82.113.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: objects.githubusercontent.com/.../64fca00a-c4f5-4e0b-9699-4d9fa5de236a [following]
--2025-01-04 13:16:46-- objects.githubusercontent.com/.../64fca00a-c4f5-4e0b-9699-4d9fa5de236a
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.111.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23276876 (22M) [application/octet-stream]
Saving to: ‘plutosdr-fw-v0.38.zip’
plutosdr-fw-v0.38.z 100%[===================>] 22.20M 27.5MB/s in 0.8s
2025-01-04 13:16:47 (27.5 MB/s) - ‘plutosdr-fw-v0.38.zip’ saved [23276876/23276876]
Done setting up SD card! A reboot is probably in order, sor run 'sudo reboot'
IF you are very sure you're only going to be operating headless or by command line and want to speed the boot / shutdown process, run:
sudo systemctl disable x11vnc.service
And then set the Pi to boot to CLI in either the GUI or CLI Raspi-config tool.
analog@analog:~ $ sudo reboot
analog@phaser:~ $ cd ~/pyadi-iio/examples/phaser
analog@phaser:~/pyadi-iio/examples/phaser $ python phaser_find_hb100.py
A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.2 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.
Traceback (most recent call last): File "/home/analog/pyadi-iio/examples/phaser/phaser_find_hb100.py", line 50, in <module>
import matplotlib.pyplot as plt
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 174, in <module>
_check_versions()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 159, in _check_versions
from . import ft2font
AttributeError: _ARRAY_API not found
Traceback (most recent call last):
File "/home/analog/pyadi-iio/examples/phaser/phaser_find_hb100.py", line 50, in <module>
import matplotlib.pyplot as plt
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 174, in <module>
_check_versions()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 159, in _check_versions
from . import ft2font
ImportError: numpy.core.multiarray failed to import
analog@phaser:~/pyadi-iio/examples/phaser $
As you can see, the code downloaded from Github (https://github.com/thorenscientific/rpi_setup_stuff/raw/main/phaser/phaser_sdcard_setup.sh) is not compatible with Kuiper Linux 2023_r2, so the code must be updated or modified to work with Kuiper Linux 2023_r2. Where on Github can I download the correct revision of the code to work with Kuiper Linux 2023_r2, or can anyone provide me with step-by-step instructions to make the necessary changes to the code?
I am looking forward to your timely reply.
Respectfully,
Scott
Dr. Scott Best
Chief Technology Officer
SiberSci, LLC