Important: Use only Compass Linux images. They contain support specific to the UDRC™. Source is available for review on GitHub.
During initial startup do not modify the basic Raspberry Pi setup. For example, do not overclock the Raspberry Pi, it is not needed as performance is more than adequate, and doing so can change clocking values on busses used by the UDRC™ causing it to either not function or be unstable. If you make any changes not listed in these instructions, and your UDRC™ does not function, return to the original settings.
Use the Mini Din-6 connector to attach a radio with a 9600 baud packet port. Many radios have a Mini Din-6 socket specifically for this purpose, use a straight through male to male Mini Din-6 cable. If you selected Mini Din-6 when ordering the UDRC, use that cable. If you need a specialized cable to go to another radio, you can build one or see Cable and Connectors on the NW Digital Radio blog.
The values set by the script should be sufficient, but controls exist in the alsamixer program to adjust LO/PCM (modulation for TX, use LO as the main control) and ADC (receive), after selecting the UDRC as the sound device. Use them judiciously and save changes with the command
sudo alsactl store
You may wish to save the initial script and change the db values you pick in alsamixer.
Adding a GPS to your Raspberry Pi is easy and can be made available to various programs like Direwolf, Xaster, and YAAC. These programs typically can take GPS data directly from an attached GPS or use GPSD, a program that makes a GPS data available via a network socket.
In our example we will use a common USB attached GPS, like the reasonably priced GlobalSat BU-353.
Plug the USB GPS into one of the 4 USB ports on your Raspberry Pi. If it is the only serial device it will typically be a /dev/ttyUSB0. If you have other USB serial devices, it may be at some other /dev/ttyUSBx (where x is a digit).
Configure gpsd by editing /etc/default/gpsd - for /dev/ttyUSB0 the file will contain
# Default settings for the gpsd init script and the hotplug wrapper. # Start the gpsd daemon automatically at boot time START_DAEMON="true" # Use USB hotplugging to add new USB devices automatically to the daemon USBAUTO="true" # Devices gpsd should collect to at boot time. # They need to be read/writeable, either by user gpsd or the group dialout. DEVICES="/dev/ttyUSB0" # Other options you want to pass to gpsd GPSD_OPTIONS=""
Then start gpsd
sudo systemctl start gpsd
sudo systemctl enable gpsd # So that it will start and restart automatically
If your GPS has acquired satellites sufficient for a fix, you can see what it is reporting by running the client program
Use the 'q' key to stop cgps.
Using GPSD for Your Real Time Clock
Once gpsd is running you can also use it update your system clock by editing /etc/ntp.conf and adding these lines
# Server from shared memory provided by gpsd
server 127.127.28.0 minpoll 4 maxpoll 4
fudge 127.127.28.0 time1 +0.350 refid SHM stratum 15
sudo systemctl restart ntp ntpq -prcv #to see that it is listed as SHM
This is useful when you don't have a network time server available such as when running a mobile tracker.