The KM6LYW Radio DigiPi Project




 Download
*
  Ver 1.9-1
   * 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



DigiPi in FT8 mode connected to Yaesu 991 via USB and Android tablet over wifi

DigiPi installed on Pi Zero with Fe-Pi Audio Z v2 board and adafruit screen