Send data via IPv4 up to 300 kilometers with easy-to-assemble hardware
I have been a hobbyist and maker for almost 15 years now. I like inventing things and diving into low-level things. In 2013, I was looking at a protocol called NBP, used to create a data network over amateur radio links. NBP was developed in the 2000s as a potential replacement for the venerable AX.25 protocol [PDF] that’s been in use for digital links since the mid-1980s. I believed it was possible to create an even better protocol with a modern design that would be easier to use and inexpensive to physically implement.
It took six years, but the result is New Packet Radio (NPR), which I chose to publish under my call sign, F4HDK, as a nom de plume. It supports today’s de facto universal standard of communication—the Internet’s IPv4—and allows data to be transmitted at up to 500 kilobits per second on the popular 70-centimeter UHF ham radio band. Admittedly, 500 kb/s is not as fast as the megabits per second that flow through amateur networks such as the European Hamnet or U.S. AREDN, which use gigahertz
frequencies like those of Wi-Fi. But it is still faster than the 1.2 kb/s normally used by AX.25 links, and the 70-cm band permits long-distance links even when obstructions prevent line-of-sight transmissions.
Initially, I considered using different frequency bands for the uplink and downlink connections: Downlinks would have used the DVB-S standard, originally developed for digital satellite television. Uplinks would have used a variation of FSK (frequency-shift keying) to encode data. But the complexity involved in synchronizing the uplink and downlink was too high. Then I tried using a software-defined radio equipped with a field-programmable gate array (FPGA). I had some experience with FPGAs thanks to a previous project in which I had implemented a complete custom CPU using an Altera Cyclone 4 FPGA. The goal was to do all the modulation and demodulation using the FPGA, but again the method was too complex. I lost almost two years chasing these ideas to their dead ends.
Then, in one of those why-didn’t-I-think-of-this-earlier moments, I turned to ISM (industrial, scientific, and medical) chips. These are transceivers designed to operate in narrow radio frequency bands that were originally allocated for noncommunication purposes, such as RF heating. However, the ISM band has become popular for communications as well because typically a license is not required for its use. In Africa, Europe, and North Asia, there is an ISM band lying inside the 70-cm ham radio band at 434 megahertz, so commercial ISM chips are available for this frequency.
I chose to build my hardware around the Si4463 [PDF] ISM transceiver: It’s cheap, flexible, and available in many modules and breakout boards, and it can handle a raw data rate up to 1 megabyte per second. It’s designed for short-range applications, so the radio part of the chip is not optimal, but it works. In order to reach reasonable distances, you need an amplifier to provide more RF power. For my NPR plan, I needed an amplifier that can also switch very rapidly between transmitting and receiving. I found some widely available external 20-watt amplifiers for handheld radios designed for the European-developed Digital Mobile Radio (DMR) standard, which was ratified in 2005. In the DMR standard, radio equipment must be able to handle a complete transmit/receive cycle within 60 milliseconds. I established a minimum of an 80-ms-long cycle time for NPR with this bound in mind.
The ISM transceiver is connected to an Mbed Nucleo STM32 L432KC microcontroller, which uses an Arm Cortex CPU.
This microcontroller is in turn connected to an Ethernet interface, and it takes care of all the details of running the NPR protocol. Any connected PC or network sees the radio link as just another IPv4 connection with no need to install specific NPR software. The NPR modem can be configured over this link or via a USB connection. The total cost of the hardware is about US $80, and a partner, Funtronics, will be making kits available for purchase online. If you want to build a modem yourself from scratch, detailed instructions and the NPR protocol software are available from my Hackaday project page.
The NPR protocol is based on a hub-and-spoke model, in which a central modem links several client modems. Currently there can be as many as seven modems, although I plan to expand this to 15. The theoretical maximum distance between a client modem and the central modem is 300 kilometers. This limit arises because NPR uses a managed time-division multiple access (TDMA) technique, in which the central modem and the clients each transmit on the same frequency but at different times, with the central modem dictating when each client can transmit, and making scheduling adjustments to account for time delays due to distance. The complete transmit/receive cycle is between 80 ms and 200 ms, depending on the exact type of modulation and data rate chosen.
The creation of the NPR protocol was a very fun part of the project for me: deciding how data should be packed and arranged inside radio frames and how the NPR modems should interact with each other. But after two more years it was time to stop working alone, so I shared NPR with my local ham radio community in France. By the end of 2018, we began testing it in real-world conditions. We have already achieved distances over 80 km, and I am now getting help from the global amateur community, especially in Germany. Currently, NPR is primarily being used to access existing local high-speed amateur radio networks from places that cannot have the line-of-sight radio links required for 2.4- and 5.6-gigahertz signals.
Although it’s usable, I would be the first to admit that NPR is a young technology and probably not totally mature. In addition to increasing the number of clients that can be supported by a central modem, I have a number of enhancements in mind, such as adding support for QoS (quality of service) prioritization, so that NPR could be used to transmit digital voice; allowing Ethernet frames to be transported directly; and separating downlink and uplink frequencies.
This article appears in the November 2019 print issue as “Ham Radio Does Distant Data Networking.”