This document is not up to date and requires revision.
Note: Tested with Raspberry OS based on Debian 12 (bookworm). You may use the Source - Linux guide when using Ubuntu for Raspberry.
Please keep in mind that your Raspberry may not have enough CPU power to run FreeDATA effectively. Running the FreeDATA-Server headless and connect with GUI from anoher computer should work fine even on older Raspberries. Using a Raspberry Pi 4 or 5 (4GB) will have enough performance for running both server and GUI.
Add user to dialout group to access serial devices without root
sudo adduser $USER dialout
logout, then log back in
sudo apt install libhamlib-utils libhamlib-dev libhamlib4 fonts-noto-color-emoji
sudo apt install git build-essential cmake npm
sudo apt install nodejs
sudo apt install python3 portaudio19-dev python3-pyaudio python3-pip python3-colorama
cd
python3 -m venv ~/venv
~/venv/bin/pip install --upgrade pip wheel
git clone https://github.com/DJ2LS/FreeDATA.git
cd FreeDATA
~/venv/bin/pip install -r requirements.txt
cd gui
npm i
cd ..
To make sure you are using the latest version of codec2, just download and compile it.
cd modem/lib
git clone https://github.com/drowe67/codec2.git
cd codec2
mkdir build_linux
cd build_linux
cmake ..
make -j4
cd
If you want to install codec2 system-wide, please run
sudo make install
Make sure that the Hamlib rigctld daemon is running before starting the modem and gui. Usage: Hamlib
cd ~/FreeDATA/modem
source ~/venv/bin/activate
./tools/run-server.sh
In the second terminal, run the GUI:
cd ~/FreeDATA/gui
npm start