RasPad notes

Introduction

I was alerted to the RasPad by a favourable review in the RTL-SDR.COM blog.  It houses a Raspberry Pi 4, 10-inch display, and battery in a convenient case.  Rather than repeat their details, I refer you to their site.  I assume you have some basic familiarity with the Raspberry Pi and the command used for setting it up.

 

Initial Setup

Although there is a special build of the Raspberry Pi OS available, I used the DragonOS Pi64 Distro (as did the RTL-SDR.COM blog) as it contains a number of useful Amateur Radio programs which are already compiled.  You just need to write this to a micro-SD card (32 GB I suggest) and the device should start right away.

  • I suggest you connect a keyboard and mouse to two of the USB ports before booting, as there is no on-screen keyboard, and I found the mouse a little awkward, possibly not displaying its pointed exactly where I pressed.  The pointer at the bottom of the screen was below the mouse press.
      
  • Boot time can be extended due to not using the standard OS for the RasPad.
     
  • When you first boot you see a box "ubuntu" at the screen centre.  Press this button and enter the password "dragon" using the on-screen keyboard.  This keyboard does no appear to be available later.
     
  • Remember to expand the file system to fill the SD card.  This is via the standard sudo raspi-config command.  
     
  • I suggest you enable SSH and VNC in the Interface options.
     
  • You may be able to configure the network and Bluetooth devices here, but I missed that step.
     
  • I may have missed a trick in using other options of this command when setting up.
     
  • You can set the Wi-Fi by right-clicking the network icon at the bottom right of the screen.
     
  • Once Wi-Fi is connected I tended to use the Real VNC client on my main PC rather than the attached keyboard and mouse.
     
  • There was no obvious way to set up Bluetooth.  I wanted to have the option of using a Bluetooth keyboard/touchpad with the RasPad to avoid trailing wires etc., but to get better mouse control than the touch-screen.  There is no on-screen keyboard available with the distribution I was using.

Bluetooth

There do seem to be some options either missing, or too well hidden for me to find!  Bluetooth is one of them, so I followed the steps here:

  • sudo apt install bluez bluez-utils
    I recall the bluez-utils were missing, so I moved on to:
      
  • sudo apt install blueman
     
  • sudo systemctl enable bluetooth.service
     
  • sudo systemctl start bluetooth.service
     
  • At this point the next step was: "Connection to Devices Using Blueman".  An icon for Blueman was nowhere to be seen.  However, in /bin I found a "blueman-manager" which I could double-click and "Execute".  Use the file manager, Computer, File System, bin.
     
  • At this point the usual Bluetooth pairing command can be used, an I got my iHobort keyboard/touchpad installed and recognised.  I would hope that anything similar would also be OK.
     

Using the Radio Software

I only tested two of the many programs available.  Initially I got no sound at all, but this seems to have been resolved simply by visiting the (Applications/Sound & Video/PulseAudio Volume Control). This may have been a spurious requirement, but worth checking if needed.

Cubic SDR

Tested and works with both an RTL-SDR and with an Airspy Mini.  I still haven't got used to having to click on the waterfall to get the radio to start!  The output is shown as hw:bcm2835 HDMI ...., completely different to that is SDR++.

SDR++ 

Tested and works with an RTL-SDR and an Airspy HF+ Discovery.  However, although it seems to be working, there's no audio!  In the section "Sinks" under Radio the setting is Audio, then "Built-in Audio Stereo" at 48000 SPS.  In the Volume Control there are two devices named "Built-in Audio Stereo", so perhaps SDR++ isn't allowing me to choose the one which works.  One is "Analog output" and the other "Headphones".

 

Building from source using standard Raspberry Pi OS - very long posts!

SDR++

Based on: http://m1kta-qrp.blogspot.com/

 

CubicSDR

Based on: https://github.com/cjcliffe/CubicSDR/wiki/Build-Linux

###### Get prerequisites
sudo apt-get install git build-essential automake cmake
sudo apt-get install libpulse-dev libgtk-3-dev
sudo apt-get install freeglut3 freeglut3-dev

###### Build and install SoapySDR
git clone https://github.com/pothosware/SoapySDR.git
cd SoapySDR
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release
make -j4
sudo make install
sudo ldconfig
cd
# To test:
SoapySDRUtil --info   ### test

###### Build and install liquid-dsp
git clone https://github.com/jgaeddert/liquid-dsp
cd liquid-dsp
./bootstrap.sh
CFLAGS="-march=native -O3" ./configure --enable-fftoverride 
make -j4
sudo make install
sudo ldconfig
cd

###### Build static latest wxWidgets (3.1.5)
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.5/wxWidgets-3.1.5.tar.bz2
tar -xvjf wxWidgets-3.1.5.tar.bz2 
cd wxWidgets-3.1.5/
mkdir -p ~/Develop/wxWidgets-staticlib
./autogen.sh 
./configure --prefix=`echo ~/Develop/wxWidgets-staticlib` --with-opengl --disable-glcanvasegl --disable-shared --enable-monolithic --with-libjpeg --with-libtiff --with-libpng --with-zlib --disable-sdltest --enable-unicode --enable-display --enable-propgrid --disable-webview --disable-webviewwebkit CXXFLAGS="-std=c++0x"
make -j4 && make install
# (many minutes - perhaps half an hour)
# (no "ldconfig" is suggested on this Web site, not a shared library)

###### Build CubicSDR
cd
git clone https://github.com/cjcliffe/CubicSDR.git
cd CubicSDR
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DwxWidgets_CONFIG_EXECUTABLE=~/Develop/wxWidgets-staticlib/bin/wx-config
# But for the RPi4 and (no) HamLib support:
# rm -f -r build if you mess this up first time.
# I got: CMake Warning: Manually-specified variables were not used before using -DLIBRARIES by the project: OTHER_LIBS
# Web suggested: -DOTHER_LIBS="-latomic", but it seems you need: -DOTHER_LIBRARIES="-latomic"
cmake ../ -DCMAKE_BUILD_TYPE=Release -DOTHER_LIBRARIES="-latomic" -DwxWidgets_CONFIG_EXECUTABLE=~/Develop/wxWidgets-staticlib/bin/wx-config
make
cd x86/
./CubicSDR   ### test, no sources yet
# Back to the build directory
cd ..
sudo make install

###### SoapyRTLSDR (similar to other Soapy modules):
sudo apt-get install librtlsdr-dev
git clone https://github.com/pothosware/SoapyRTLSDR.git
cd SoapyRTLSDR
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
sudo make install
sudo ldconfig

SoapySDRPlay (similar to other Soapy modules):

At this point you need the SDRplay API installed.  You can download an installer from: https://www.sdrplay.com/downloads/ by selecting the RSP-DX (or whatever) and then the Raspberry Pi OS (ARM Raspberry Pi OS).  On the second option [API 3.07 (for 32bit OS)] at the time of writing, and you can then download a file of approximately 186 kB.  Now there seem to be no further instructions (how helpful!) but I found this document, section 3 - API Installation - where section 3.4 says that the downloaded file needed to be made executable and run as root:

chmod +x filename.run
sudo ./filename.run 
sudo ldconfig 

git clone https://github.com/pothosware/SoapySDRPlay.git
cd SoapySDRPlay
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
sudo make install
sudo ldconfig
SoapySDRUtil --info

 

Issues with DragonOS image

The standard Raspbian OS works correctly, but of course you then need to compile much of the software yourself.

  • Sound missing in SDR++ with DragonOS image, needs the headphones to be disabled in the Volume Control (sound Mixer), or the speakers to be disabled and re-enabled.
      
  • Touch screen needs better calibration - I don't know how to do this.
     
  • It's quite slow to startup.
     
  • Bluetooth seems touchy.
      

 

David Taylor, GM8ARV
2021-Oct-17

 
Copyright © David Taylor, Edinburgh   Last modified: 2021 Oct 17 at 06:03