Dave, K1DLM recently prototyped a simple Raspberry Pi Video Player for use in our Ham Exposition Displays. We’ve built a number of these players to play video content at our upcoming Ham Expo Display at HamXposition at Boxboro in September. The article below shares information on the hardware and software we used to put these players together. The information should provide a useful start for many other Raspberry Pi projects.
Simple Raspberry Pi Computers have many useful applications in Amateur Radio. They can also be used to create a nice general-purpose computing platform for many applications.
The hardest part of using the Raspberry Pi video player is getting the basic hardware and software components together to create a working system. This article explains these basic steps for a simple video player application that we use as part of our Ham Radio Expo Displays. I hope that this information is useful to others who might want to use the Raspberry Pi.
This article explains how to put a Sat Tracker together.
The information and software described here are provided on an “as is” basis without support, warranty, or any assumption of liability related to assembly or use. You may use information and software image here only at your own risk and doing so releases the author and Green Heron Engineering from any liability for damages either direct or indirect which might occur in connection with using this material. No warranty or liability either explicit or implicit is provided by either AB1OC or Green Heron Engineering.
Now that we have that out-of-the-way, here are the components that you need to build your own Sat Tracker:
The Sat Tracker image includes a display driver for the specific touch display listed above and will most likely NOT WORK with any other touch display. You will also need a Green Heron RT-21 Az/El or a pair of Green Heron RT-21 single rotator controllers from Green Heron Engineering that are properly configured for your rotators.
If you have not worked with the Raspberry Pi before, it’s a good idea to begin by installing NOOBS on your SD card and getting your Raspberry Pi to boot with a USB Keyboard, USB Mouse, and an HDMI display attached. This will give you a chance to get familiar with formatting and loading your SD card with the Raspbian build of the Debian OS for the Raspberry Pi. I’d encourage you to boot up the OS and play with it some to get familiar with the OS environment before building your Sat Tracker.
Etcher Writing Raspberry Pi SD Card Image
The first step in building your Sat Tracker is to put together the hardware and write the image to your SD Card. Use the enclosed instructions or search the web to find information on how to do each of these steps:
Install the Heat Sinks on the Raspberry Pi 3 B+ Motherboard. Make sure your chipset heat sink will clear the back of the case. If it won’t, it’s fine to just install the CPU Heatsink.
Assemble your case to the point where it is built up to support the touch display
Carefully install your touch display on the Raspberry Pi Motherboard
Install the remaining pieces of your case including the nylon screws and nuts which hold the case parts together
Download the SD Card image from the link below, unzip it, and load the image onto your SD card using Etcher
Install your SD card in the slot on your Raspberry Pi Motherboard
Connect your Raspberry Pi to the outside world as follows:
Connect Two USB cables – one end to the Elevation and Azimuth ports on your Green Heron Engineering RT-21 Controller(s) and the other ends to two of the USB connections on the Raspberry Pi
Connect a wired Ethernet Cable to your Raspberry Pi via a common Ethernet Hub or Switch with a PC or Mac that has VNC Viewer Installed. You will need a DHCP server running on the same network to supply your Raspberry Pi with an IP address when it boots. Your router most likely provides a DHCP function.
Connect your USB power supply to the Raspberry Pi Motherboard and power it up
Your Sat Tracker should boot up to the desktop with GH Tracker V1.24 running. The touch display works fine for using GH Tracker but its a bit small for configuring things. To make the configuration steps easier, the image comes up running VNC Server. I like to use VNC Viewer on my PC to connect to the Sat Tracker using VNC to perform the steps that follow. Note that both the Raspberry Pi and your PC must be on the same sub-network for the VNC connection to work. I’ve also included the following commands in the Sat Tracker image which can be run from the Raspberry Pi terminal window to make the configuration process easier:
$ setdisp hdmi # Disables the TFT display & uses the HDMI interface
$ setdisp tft # Disables the HDMI interface & uses the TFT display
$ reboot # Reboots the Raspberry Pi causing
# the latest display command to take effect
If you select the HDMI interface, you will find that VNC Viewer produces a larger window enabling you to perform the following configuration steps:
First, you need to determine the IP address of your Sat Tracker. This can be done via your DHCP server or by touching the network icon (up and down arrows) at the top of the display on the Sat Tracker.
Use VNC Viewer on your PC or Mac to connect to the IP address of your Raspberry Pi. The default password is “raspberry“.
Once you are connected, open a terminal dialog on the Sat Tracker, set your display to hdmi mode via the command shown above, and reboot your Sat Tracker.
Reconnect VNC Viewer to your Sat Tracker and click on the Raspberry button (Start Menu Button) at the top left of the screen, select Preferences, and run Raspberry Pi Configuration. Select Expand Filesystem from the System Tab. This will expand the filesystem to use all of the available space on your SD Card. You can also change the system name of your Sat Tracker and your login password if you wish. When you are done making these changes, reboot your Sat Tracker.
Reconnect to your Sat Tracker via VNC Viewer and select Setup-> Rotator Configuration from the menu in the GH Tracker App. Select the TTY devices (i.e. COM Ports) associated with the Azimuthand Elevationconnections to your RT-21 Controller(s) via the two dropdown boxes. You can also configure the operational parameters for GH Tracker at this time. The ones that I use with our Alfa-Spid Az/El Rotators are shown below.
GHE RT-21 Az/El Controller Settings for Alfa-Spid Rotator
Setting
Azimuth
Elevation
Notes
Park Heading
0 degrees
90 degrees
Set via MacDoppler. Minimize wind loading and coupling to antennas below. Also enables water drainage from cross-boom tubes.
Offset
180 degrees
0 degrees
Azimuth dead spot is South. Elevation headings are from 0 to 180 degrees.
Delays
6 sec
6 sec
Minimize relay operation during computer tracking
Min Speed
2
3
Creates smooth start and stop for large array
Max Speed
10
10
Makes large movements relatively quick
CCW Limit
180 degrees
355 degrees
CCW and CW limits ensures predictable Azimuth heading for range around 180 degrees. Elevation limits permit 0 to 180 degree operation. Elevation limits shown can only be set via GHE configuration app.
CW Limit
179 degrees
180 degrees
Option
SPID
SPID
Alfa-Spid Az/El Rotator
Divide Hi
360
360
Rotator has 1 degree pointing accuracy
Divide Lo
360
360
Knob Time
40
40
Default setting
Mode
NORMAL
NORMAL
Default setting
Ramp
6
6
Creates smooth start and stop for large array
Bright
2
2
Easy to read in shack
Configure the source of tracking data to be MacDoppler (UDP) from the GH TrackerSourceMenu. We use UDP Broadcasts with MacDoppler running on the same Mac with VNC Viewer to run our rotator. Finally, press the Press to start tracking button on GH Tracker and run MacDopplerwith UDP Broadcast on and Rotators Enabled to start tracking.
MacDoppler Tracking AO-91
Once you are satisfied with the operation of your Sat Tracker, use VNC Viewer to access the terminal window on your Sat Tracker one last time, set your display to TFT, and reboot.
The most common problems that you’ll run into are communications between your Sat Tracker and your Green Heron Engineering RT-21 Controller(s). If the Azimuth and Elevation numbers are reversed in GH Tracker, simply switch the TTY devices via the Setup Menu in GH Tracker. Also, note that it’s important to have your RT-21 Controller(s) on and full initialized BEFOREbooting up your Sat Tracker.
Most communications problems can be resolved by initializing your tracking system via the following steps in order:
Start with your RT-21 Controller(s) and you Sat Tracker powered down. Also, shutdown MacDoppleron your Mac.
Power up your RT-21 Controller(s) and let the initializations fully complete.
Power up your Sat Trackerand let it fully come up before enabling tracking in GH Tracker.
Finally, startup MacDoppler, make sure it is configured to use UDP Broadcasts for Rotator Control and make sure that Rotators Enabled is checked.
The VNC Server on the Sat Tracker will sometimes fail to initialize on boot. If this happens, just reboot your Sat Tracker and the VNC Server should initialize and enable VNC access.
I hope you have fun building and using your own Sat Tracker.
I recently wrote a blog article about the DX Alarm Clock software – here is Part 2 of the Series on how I built the hardware for the DX Alarm Clock.
DX Alarm Clock Hardware Components
The DX Alarm Clock is based on a Raspberry Pi 3 computer and an Adafruit Pi-TFT Touch Screen Display. The list of components, along with links, is below. Since I built the initial DX Alarm Clock almost a year ago and technology is always advancing, some of the parts are no longer available or have better replacements available. I’ll provide information on what I used and a recommended replacement. Approximate prices are included.
Raspberry Pi 3
Motherboard: Raspberry Pi 3 ($35) – includes a 1.2 GHz 64-bit quad-core ARM CPU, Built-in WiFi, Ethernet, 4 USB Ports, an HDMI port and audio port (3.5″), and Bluetooth.
Portable Speaker: Any small portable/rechargeable speaker will do. Mine is a Kinivo, but it is no longer available. Any small speaker will do as long as it is Bluetooth or has a 3.5″ stereo connector.
Raspberry Pi Development Environment
Pi Development Environment
After constructing the Raspberry Pi case and TFT Display, the next step was to connect it to a monitor via the HDMI port, a mouse via one of the USB ports, and a Bluetooth keyboard. Then I loaded the Raspbian Operating System onto the Pi via the micro SD card. I first copied the OS to the Micro SD card using a PC or Mac and then inserted the card into the Raspberry Pi and booted from it. You can find a good tutorial on how to do this at https://www.raspberrypi.org/learning/software-guide/quickstart/.
Once Raspbian is installed, you will have a windows GUI (Graphical User Interface) environment with a web browser and several additional applications included.
This gave me a development environment that I could use to build and test the DX Alarm Clock software. I used Python language to develop the software. I used the Python IDLE development environment, which is included in the Raspbian OS.
We wanted a compact package that did not require anything but a power supply to run the final project. There are many great parts available for building a Raspberry Pi system. Here’s what we used:
Raspberry PI 3 Model B 1.2GHz 64-bit quad-core ARMv8 CPU, 1GB RAM
The assembly of the case and the hardware was straightforward. The folks at Adafruit provide a pre-built Jesse Linux image for the RPi, including the necessary driver for the Touch Screen Display.
After some configuration work and creating a few shell scripts to make it easy to boot the RPi to an HDMI display or to the Touch Display, we were ready to install the GH Tracker App. We also enabled the VNC Server on the RPi to use a VNC Client application on our MacBook Air instead of directly connecting a display, keyboard, and mouse to the RPi. Finally, we installed Samba on our RPi to allow files to be moved between our other computers and the RPi.
GHTracker Running on the Raspberry Pi
Jeff at Green Heron Engineering provided a copy of GHTracker V1.24 and the necessary serial interface library to enable its use on the RPi. Jeff is planning to make a tar file available with GH Tracker and the library in the near future. We did some configuration work on LXDE (the GUI interface for Linux that runs on the RPi), and it automatically runs GH Tracker whenever the RPi is booted up. We also optimized the GUI for the sole purpose of running GH Tracker on the Touch Screen Display. Finally, we configured the Ethernet and WiFi interfaces on the RPi to work with our home network and LTE Hotspot modem.
RPi GHTracker Test Setup
With all the software work done, it was time to test the combination with our Satellite Rotator System. The setup worked on the first try using a WiFi network connection between the MacBook Air Laptop running MacDoppler and the RPi. The USB-based serial ports, which control the Azimuth and Elevation direction of the rotators, worked as soon as they were plugged into the RPi. Also, the touchscreen interface works well with the GH Tracker App making the combination easy to use.
MacDoppler and GHTracker via VNC
The VNC Client/Server combination allows us to work with the software on the RPi right from our MacBook Air laptop. It also makes for a nice display for monitoring the GHTracker App’s operation from the Mac.
Thanks to the help from Jeff at Green Heron Engineering, this project was very easy to do and worked out well. The Raspberry Pi 3 platform is powerful and relatively easy to work with. It makes a great start for many Ham Radio projects. Also, there is a wealth of online documentation, how-to information, and open-source software for the RPi. I hope that some of our readers will give the RPi a try!
The Icom IC-9100 provides 100W on 2M and 75W on 70 cm which is more than enough power for our application. It also has some nice satellite features such as support for synchronized VFO tracking between the 2M and 70 cm VFOs in the radio. This radio also uses a single USB connection to allow computer control of the radio and the creation of a sound card interface on the host computer. A Heil Pro 7 Headset will be used for operator audio to avoid feedback due to our audio coming back from the satellite. The Icom SP-23 speaker is included to allow observers to hear satellite contacts while they are in progress.
Radio Management via MacDoppler
The MacDoppler software provides automated control of the IC-9100 including mode selection and automatic correction of both VFOs for the doppler shift. These features greatly simplify the operation of the radio, especially when satellites with SSB/CW transponders are used.
The video above shows MacDoppler’s management of the IC-9100 Transceiver during a pass of AO-73. The constant adjustments of the VFOs take care of doppler shift correction and ensure that our signal stays at a fixed position in the transponder passband of linear transponder satellites.
Preamp Sequencers and Output Monitoring
M2 Antenna Systems S3 Sequencers are used to provide control of the Advanced Receiver Research low-noise preamps on our portable tower. One of the nice features of the Icom IC-9100 is that it can be configured to provide separate keying lines for the 2M and 70cm VFOs. This allows a preamp to remain enabled on the receive VFO while the other VFO is in transmit mode with its preamp shutdown by the sequencer. This arrangement is very useful during tuning when one needs to hear your own signal coming back from a satellite. A custom-made cable assembly was made to interconnect the S3 Sequencers with the ACC socket on the IC-9100, the Weatherpack connector on the tower preamp control cable, and DC power.
We used the excellent WaveNode WN-2 Wattmeter again in our portable satellite setup. This is a modular output monitoring system that has sensors for VHF/UHF use as well as voltage, signal quality and other monitoring functions.
DC power for the setup is provided via a Powerwerx SS-30DV Power Supply and a RigRunner 40007U distribution unit. We use this power supply in all of our portable setups. It is lightweight, provides plenty of power for a 100W station and accessories, and is quiet from an RF perspective.
Equipment Packing and Protection
With the transceiver test of the station complete, we turned our attention to transporting the setup. Proper protection of the equipment during transport was provided via a large case from Pelican. We combined this with a roller bag and an inexpensive storage bin for documentation and accessories which are not very fragile. We also included our RigExpert antenna analyzer in the setup to make testing of the station during setup in a portable environment easier.
Station Packed and Ready for Transport
With all of the assembly and testing of the components of our 2.0 Portable Satellite Station complete, we packed up all the components. We used an inexpensive furniture dolly to allow us to roll the tower around to load and unload it.
We are ready to test our new station in a portable application. More on that in the final article in this series. Other articles in the series include:
Every so often, I drive Fred’s truck to work and people ask me what that big antenna on the back of the truck is for. I explain to them that it is for Ham Radio. But the reply is usually, why ham radio – isn’t that outdated technology? We have cell phones and IM, etc…what do we need Ham Radio for? So I thought I would put down my thoughts as a relatively new Ham about why I enjoy spending so much of my time with Ham Radio.
Amateur Radio for Public Service
Public Service
The number one reason we still need Ham Radio along with all the other technology we now have is for public service. When there is a disaster and cell phones, television, etc are all not working, Ham Radio operators provide the critical communication.
Ham Radio operators help locally to keep hospitals and first responders in contact with each other to help those affected by the disaster.
Hams also use our ability to communicate around the world on HF bands to help family members around the world to get in touch with loved ones affected by a disaster.
Ham Radio operators have been on the scene helping in every disaster from the earthquakes in Nepal to the recent flooding in California.
Amateur Radio Cube Satellites
Technology and the Maker Movement
I only became a Ham 5 years ago but many of my fellow Ham Radio operators got their license when they were in their early teens and used what they learned to launch their careers. Many have had very successful careers in STEM fields, all launched by their interest in Ham Radio at a young age. As technology advances, so does the technology used in our hobby. We even have a nobel laureate, Joe Taylor K1JT who is a ham. Joe has developed weak signal digital communication modes that let us communicate by bouncing signals off the moon!
As technology has advanced, so has the use of it in Ham Radio. Most Ham Radio operators have one or more computers in their shack. Many also have a software designed radio (SDR), where much of the radio functionality is implemented using Software, we use sound cards to run digital modes, which are a lot like texting over the radio, and we use the internet extensively as part of operating. We can also make contacts through satellites orbiting the earth and even the International Space Station.
Most hams love do-it-yourself technical projects, including building a station, home brewing an antenna, building a radio or other station component. In my day job, I am a program manager for software development projects, but its been a while since I have built anything. As a Ham I taught myself how to code in Python and about the Raspberry Pi and I built the DX Alarm Clock.
QSL Card from VK6LC in Western Australia
International Camaraderie
One of the coolest things about being an amateur radio operator is that you can communicate with other hams all over the world. Ham Radio is an international community where we all have something in common to talk about – our stations and why we enjoy ham radio. The QSL card above is from a memorable QSO with Mal, VK6LC, from Western Australia, who was the last contact that I needed for a Worked All Zones award. I must have talked to him for 1/2 hour about his town in Australia and his pet kangaroos!
Amateur Radio Map of the World
Geography Lesson
I have learned much about geography from being on the air and trying to contact as many countries as I can. There are 339 DX Entities, which are countries or other geographical entities and I have learned where each one is in order to understand where propagation will allow me make a contact. I have learned a great deal about world geography. Through exchanging QSL cards often get to see photos from so many areas of the world.
DXCC Challenge Award Plaque
Achievement – DXing and Contesting
DXing and Contesting provide a sense of achievement and exciting opportunity for competition. Many Hams work toward operating awards. You can get an operating award for contacting all 50 states, contacting 100 or more countries, contacting Islands, cities in Japan, countries in Asia, or anything else you can imagine. Each of these operating awards provides a sense of accomplishment and helps to build skills. Contesting builds skills through competition among Hams to see who can make the most contacts with the most places in 24 or 48 hours. Contesting also improves our operating skills and teaches us to copy callsigns and additional data accurately.
Teaching a License Class
Teaching Licensing Classes – Passing it On
Recently I have joined a team of club members who teach license classes to others who want to get licensed or upgrade their existing Amateur Radio licenses. Teaching provides a way to improve my presentation skills and also helps me to really understand the material that we teach about Amateur Radio. It is always a thrill at the end of the class to see so many people earn their licenses or upgrades.
I have been a Ham for 5 years and my favorite thing to do is chase DX. As a new Ham, it was always a thrill to work a new DXCC, but now that I have over 280 DXCCs and over 1000 band points, it is a little more difficult to find a new one. Add to that the fact that I am trying to get a DXCC in 80m and 160m., which are usually open when I am asleep. I created the DX Alarm Clock as a way to get notified that there is something new on the air when I am not down in the shack. This article will talk about how I developed the software for the DX Alarm Clock. Part 2 will talk about building the Raspberry Pi-based Hardware and loading the OS.
The DX Alarm Clock is a Python software program running on a Raspberry Pi that gathers data online about my log and what is on the spotting network and uses that data to alert me when there is a “new one” on the air.
DX Alarm Clock Architecture
The ClubLog website provides a light DX Cluster website called DXLite, which has an XML Interface. The DX Alarm Clock uses this interface to get the current spots. The software uses the Developer API from ClubLog to get a JSON matrix of all DXCC entities by band indicating whether I have worked, confirmed, or verified each band-entity. The software loops through all of the spots returned by DXLite and looks each DXCC up in the JSON ClubLog matrix. I also use the QRZ.comXML Interface to get additional information for each callsign that is spotted, like the state.
DXCC Configuration Screen
The DX Alarm Clock uses tkinter/ttk for the GUI. I used the Notebook widget to create a multi-tab GUI. There is a tab for configuring filters for DX Entity. The user can choose all New DXCCs, as well as specific bands and nodes to provide alerts for.
WAS Configuration Screen
There is another tab for configuring filters for WAS. ClubLog has no log look-up capability based on US State so the WAS filter lets you create a list of States and associated bands to provide alerts for.
Notification Configuration Screen
The Notification tab allows the configuration of what notifications the user would like to receive. The user can specify a separate email address for New DXCCs, New Band Points, and New US States. This allows alerts to be sent to email accounts or as SMS texts. You can also configure the sounds the DX Alarm Clock itself makes to “wake you up” when that ATNO or new Band Point is spotted.
The DXAlarm clock wakes up every 5 minutes and gets the latest spots from the DXLite Cluster. It checks each spot against the ClubLog log and if there is a match based on the configured filters, it sounds the alert, and then speaks the alarm, giving you the Callsign, DXCC Entity, Band, and Mode. A simple text-to-speech package called flite (festival-lite) was used to implement the speech on the Raspberry Pi.
Alert Screen
It also puts a message with these details and the Frequency, UTC Date/Time, Spotter, and Comment on the display.
Text Notification to iPhone
Additionally, it sends this information as an email to the configured email address, which results in a text or email.
Apple Watch Alert
I can even get the alert on my Apple Watch.
Filtered Spots Display
Once all spots are processed, it keeps a running list of all spots that resulted in alerts on the main screen. Spots are aged out if they do not recur over time.
DX Alarm Clock Hardware
The DX Alarm Clock just alerted me that ZC4SB is on 20m – that’s an ATNO! Got to go down to the shack and work him! Stay tuned for Part 2 of this post on the DXAlarm Clock Raspberry Pi-based hardware and on setting up the Raspberry Pi OS.