The KM6LYW Radio DigiPi Project
|
|
* Password is currently available to patrons on the KM6LYW Patreon Page
Why the paywall? Anything gets you access to the DigiPi image, even a dollar.
The point is not to keep the software locked up, but to ultimately throttle the
questions and support load. Plus it gives you priority access to design
decisions, code contributions and early releases. DigiPi is community driven
and open source. I assure you there are no commercial interests, other than
beer money and taking the XYL out to dinner now and then to make up for all
the time spent on this project and working with the radio community. At some
point, once development settles down, we'll make a more public release.
Please share with friends, but do not post this image online. All
of the software carries an open-source license and is freely available,
just not all in one place in a collective-work bootable image. Embedded
Trademarks, logos, and support-links are copyright "KM6LYW Radio."
Thank you for your support.
What is a DigiPi?
DigiPi is an easy-to-use amateur radio data transceiver hotspot for Raspberry
Pi. All radio data modes are easily accessible over wifi via your phone or web
browser. Make FT8, JS8Call, APRS and packet modes work like any other mobile
phone app. Hookup a DigiPi to your rig and instantly have access to radio
SMS, EMail, and texting. Ultra-light, low-power makes it indispensable for
Summit and Park operations. Let's make Ham radio relevant in the information
age! DigiPi implements all the data modes we talk about at KM6LYW Radio YouTube
channel and is available to Patrons of the channel! A radio license is generally
required to use DigiPi, please lookup a local Ham Radio club and get licensed today!
APRS WebChat interface
Send instant messages over the APRS packet network via your web browser
APRS Packet Radio Network digipeater
Repeat packets heard on 144.390 and 144.800(europe)
APRS Packet Radio network IGate
Bridge APRS Network to the Internet for email, sms, and other online services
Winlink email server
Listen for Winlink radio clients requesting to send/recieve email
Winlink email client
Pat, web-based inbox/outbox email interface
ARDOP sound modem to connect to winlink servers world-wide on HF bands
Woad Winlink Android app connects to DigiPi via wireless TNC/KISS interface
WSJTX FT8
Ultra low signal-to-noise ratio contacts via web-browser/wifi/phone
JS8 Call
Ultra low signal-to-noise ratio keyboard-to-keyboard via web-browser/wifi/phone
FLDigi
CW, PSK31, RTTY, Contessa, FSQ, Hell, IFKP, MFSK MT63, Olivia, PSK
QPSK, 8PSK, PSKR, THOR, Throb, WeatherFax
Slow Scan TV
Send/receive images via web-browser/wifi/phone
AX.25 Networking
Radio connected network protocol used for winlink/node services
IP tunnel, with actual address on the internet (44.* for amateur radio)
Node Services
Run your own bulletin board, or messaging service
Connect to other nodes, via intermediate nodes
Components
Raspberry Pi (Pi Zero 2 Wireless, Pi3, Pi4, Pi5)
Radio Interface board if required: DigiRig, DigiPi Hat, fe-pi/n7ebb.org, DRA-Pi-Zero
A USB cable for radios which support cat/rig control and audio over USB
An optional LCD display
Pre configured software on DigiPi Rapberry Pi SD card image:
Direwolf sound modem and TNC
Direwatch display driver
LinuxRMS Winlink server
Pat web-based winlik email client
Web-based mangement interface
Bluetooth rfcomm serial port
Wifi autohotspot
AX.25 Networking, IP, ax25d services
Virtual display driver to use interactive apps via web-browser/wifi/phone
WSJTX FT8
JS8Call
FLDigi
qSSTV
Linux Node service, netrom, bulletin board, Infocom games
Audio driver and mixer settings for audio hats
ARDOP modem for 300baud packet on HF bands
Rig Control (rigctld) for CAT/audio on USB-connected radios
Web-based wifi setup, log viewers,
AX.25 utilities, axcall, LinPac
Web-based ssh command prompt
Shopping list
There are two different DigiPi builds. A USB-connected build (type A), and
a PTT-circuit build (type B).
Radio's with USB ports (ic7300, yaesu991, ic705, Xiegu etc) are type A,
Just get a Raspberry Pi and a USB cable.
If your radio doesn't have a USB port (Yaesu FTM400/300/200, dual band rigs,
Baofeng, HT's, Retevis, etc) are type B. You'll need a radio interface adapter
board for push-to-talk, audio in, audio out and ground. You'll need to procure
or fabricate a cable for your particular rig which includes these four wires.
DigiRig sells prefabricated cables which can be used with TRRS jacks.
DigiPi Type A Bill of Materials (USB-connected/hamlib radios)
A Raspberry Pi, ideally a Pi Zero 2W Amazon Adafruit Chicago_Dist ($15)
Watch http://rpilocator.com during the global supply chain crisis and chip shortage.
USB OTG adapter Amazon $2
USB cable that fits your radio, typeC, Micro, typeB.
An optional Adafruit 1.3" small ST7789 TFT display Adafruit Amazon ($16)
An optional 2.8" large ILI9341 display: Adafruit ($45)
DigiPi Type B Bill of Materials (dual-band rigs with speaker, mic and ptt)
A Raspberry Pi, ideally a Pi Zero 2W, with gpio pins Amazon ($35)
Radio Interface board, one of:
Ferrite Bead around all the wires between the radio and the audio board ($5)
Configuration
A Configuration/demo video is available on the KM6LYW Radio youtube channel.
You'll need to "unzip" the image first to decompress it. On Linux, it's
unzip digipi-1.9-1.zip
Then flash it to your SD card. It'll fit on a 4G card with room to spare.
Look up how to do this. On Linux, it's
dd if=digipi-1.9-1.img of=/dev/sdX bs=4M
where sdX is the drive letter of your blank SD card (run dmesg to see).
On Windows, try this.
On Mac, try this.
Boot the Raspberry Pi with the newly flashed SD card.
Wait for the "DigiPi" wifi hot spot to appear on your phone or pc's wifi
settings. Connect to the "DigiPi" hot spot with password "abcdefghij"
In a web browser, visit "http://10.0.0.5/wifi.php"
Enter your home wifi ssid and password and reboot. Once booted on your home
network, visit the website http://digipi/.
If the host isn't found, login to your router and look for any newly connected
wifi devices, and use the associated IP address. Also check to make sure the
DigiPi hotspot no longer exists, if it still exists, this is a sign it had
trouble connecting to your home wifi. Also try "http://digipi.local/"
Now that the DigiPi is on your home network, click the "Initialize" link
at the bottom of http://digipi/.
You need to add your callsign, passwords, grid squares and other
localization items to your Pi.
Keep in mind, once you change a value, you can't use this process to change it
again. See /home/pi/localize.env for things you can change after-the-fact.
click [Initialize]
Once changes are made, reboot the DigiPi by clicking [Reboot] at the
bottom of http://digipi/. This will boot the system back into firmware
(read-only) mode.
Enjoy your DigiPi!
Community
http://discord.gg/3X9bMjjwxw (DigiPi live chat)
http://groups.google.com/u/2/g/digipi (Primary group/mailing list)
http://groups.io/g/digipi/ (old/depricated list, with some good info)
Additional information
The "pi" user password is "raspberry"
If not using a USB radio this expects a single audio device, possibly the
FE-Pi Audio Z v2, or Audio Injector Z. Edit /boot/config.txt to switch
between these two audio hats. The default is currently the FE-Pi.
The filesystem is "read only" to prevent SD card wear and so you don't
have to do a clean shutdown (just turn off the power is fine). To make
modifications, you must "sudo remount" first.
WSJTX/sstv/js8call will need to be configured within each app.
Yaesu 991 is rig 1035, device ttyUSB0, baud 38400
Icom 7300 is rig 3073, device ttyUSB0, baud 19200
Icom 705 is rig 3085, device ttyACM0, baud 115200
Once you've configured wsjtx/sstv/js8call/fldigi, be sure to press
[Save Configs] on the http://digipi/ home page to commit these
changes to the SD card so they'll be present on next boot. See the
supported rig list for more information.
The GUI apps (js8call, fldigi, ft8, sstv) can be used with a VNC client on your
phone. This can be considerably easier to use than a web browser, particularly
when it comes to typing, zooming, etc. "VNC Viewer" on Google Play
is sufficient. The VNC login parameters are:
host: "digipi:5901" or "10.0.0.5:5901" in the field
password: "test11"
Direwolf will exert a voltage on gpio pin 12 for Push-to-talk. For home brew
hardware, use this signal to short your PTT wire to ground with a fet (N7000).
If you hookukp a green led (with 220ohm resistor inline) to gpio pin 16
it will light up when direwolf detects a carrier.
If you hookup a red led (with 220ohm resistor inline) to gpio pin 26 it will
light up on transmit.
If you hookup a blue led (with 220ohm resistor inline) to gpio pin 5 it
will light up if you connect a bluetooth device like aprsdroid. I used
a 3.2K resistor with this blue led in my implementation because blue
leds are oddly bright.
If you'd like to change the hostname (and bluetooth name), edit /etc/hostname
and also add your hostname to the list next to 127.0.1.1 in /etc/hosts.
To use a bluetooth app (aprsdroid, woad) you'll need to pair the device first
sudo remount
sudo systemctl restart bluetooth
sudo bluetoothctl
scan on
# on phone/wifi device, open bluetooth settings, make visible for pairing
# watch for [NEW] Device FC:19:10:F7:55:C8 Device_name
pair FC:19:10:F7:55:C8
# click [pair] on phone
yes # on bluetoothctl prompt
# press [yes] on droid device
trust FC:19:10:F7:55:C8
quit
# the USB led/icon will illuminate momentarily on the DigiPi
shutdown -r 0
When configuring aprsdroid, in connection settings, connection type,
select "Bluetooth SPP". Select Channel "1". TNC Bluetooth Device
should be "digipi".
Buttons on the display will start the igate or digipeater services.
Adjust the volume on the receiver while "tail -f /run/direwolf.log" until
the average audio volume is around "50(x,y)."
Run alsamixer and adjust the "line" level, while listening to transmitted
packets to make sure they're not overdriven, and about the same volume
as other aprs radios in your area.
the APRS Digipeater service will repeat WIDE1-1 traffic and relay all
message-type packets sourced from the internet to targets within 160km
of your digipi. Adjust ~/direwolf.digipeater.conf to taste.
The device becomes a hotspot if you don't setup your wifi, in which case
the ssid is "DigiPi" and the default password is "abcdefghij". You'll find
the device at http://10.0.0.5/ . If you're in the field, obviously, this
will be its address.
Howto videos and screenshots