Small Platform Digital Radio

The most common configuration of a SATERN digital radio station is to use a desktop or laptop computer, a computer interface or external modem, with the FLDIGI/NBEMS software.

Much of this technology is changing pretty rapidly. For instance, the computer interface may now include an external soundcard device built into the interface. This technology offloads the work of the soundcard from the onboard sound chipset or internal sound card, to the external device – thereby reducing the workload on the computer as a whole and improving overall quality of the audio signal.

Radios that are capable of digital communication are now much smaller and lighter than ever before. You are probably familiar with the current models from various manufacturers. All are quite capable radios and the smaller size works well for the emergency communication “go-kit” philosophy, making it lighter and less power hungry.

In this series of articles we will attempt to leverage new technology in a way that will be fun, informative, and hopefully useful for mobile and portable applications.

The term “Small Platform” comes from the concept of using the smallest and lightest of products that can do the sometimes complex and CPU intensive work of digital radio. Heretofore, that required a full fledged computer – like a desktop or laptop. But often the use of these computing platforms is prohibiting. Where size and weight are to be kept to a minimum, we must look to other computing platforms for help. Computer products have emerged in the last few years that fit this category very well.

Small Computers


Arduino

Arduino is an open source computer hardware and software company, project, and user community that designs and manufactures single–board microcontrollers and microcontroller kits for building digital devices and interactive objects that can sense and control objects in the physical and digital world. The project’s products are distributed as Open Source hardware and software , which are licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL), permitting the manufacture of Arduino boards and software distribution by anyone. We have discussed the Open Source philosophy, and GNU Licensing, in multiple articles on this site. Arduino boards are available commercially in preassembled form, or as do–it–yourself (DIY) kits.

pi3
The Arduino Metro uses the Python programming language. At the heart is an ATmega328P, with 32KB of flash and 2KB of RAM, running at 16 MHz

Arduino board designs use a variety of microprocessors and controllers. The boards are equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards or breadboard (affectionately called shields), and other circuits. The boards feature serial communications interfaces, including Universal Serial Bus (USB) ports on some models, which are also used for loading programs from personal computers. The microcontrollers are typically programmed using a dialect of features from the programming languages “C” and “C++”. In addition to using traditional compiler toolchains, the Arduino project can provide an integrated development environment (IDE) based on the “Processing” language project.

The Arduino project started in 2003 as a program for students at the Interaction Design Institute Ivrea in Ivrea, Italy, aiming to provide a low–cost and easy way for novices and professionals to create devices that interact with their environment using external sensors and actuators. Common examples of such devices intended for beginner hobbyists include simple robots, thermostats, and motion detectors.

The name Arduino comes from a bar in Ivrea, Italy, where some of the founders of the project used to meet. The bar was named after Arduin of Ivrea, who was the margrave of the March of Ivrea and King of Italy from 1002 to 1014.

At that time, the students used a Basic Stamp microcontroller at a cost of $100, a considerable expense for many students. In 2003 Hernando Barragán created the development platform Wiring as a Master’s thesis project at IDII, under the supervision of Massimo Banzi and Casey Reas, who are known for work on the “Processing” language. The project goal was to create simple, low cost tools for creating digital projects by non-engineers. The Wiring platform consisted of a printed circuit board (PCB) with an Atmega 168 microcontroller chip, an IDE based on Processing and library functions to easily program the microcontroller. In 2003, Massimo Banzi, with David Mellis, another IDII student, and David Cuartielles, added support for the cheaper ATmega8 microcontroller to Wiring. But instead of continuing the work on Wiring, they forked (divided it from the original) the project and renamed it Arduino.

pi3
One of the Arduino Metro kits that you can build from scratch.

Most Arduino boards consist of an Atmel 8–bit AVR microcontroller (ATmega8, ATmega168,ATmega328, ATmega1280, ATmega2560) with varying amounts of flash memory, pins, and features. The 32–bit Arduino Due, based on the Atmel SAM3X8E was introduced in 2012. The boards use single or double–row pins or female headers that facilitate connections for programming and incorporation into other circuits. These may connect with add–on modules affectionately termed “shields”. Multiple and possibly stacked shields may be individually addressable via an I2C serial bus. Most boards include a 5 V linear voltage regulator and a 16 MHz crystal oscillator or ceramic resonator. Some designs, such as the LilyPad, run at 8 MHz and dispense with the onboard voltage regulator due to specific form–factor restrictions.

Arduino microcontrollers are pre–programmed with a startup micro–program called a bootloader that simplifies uploading of programs to the on–chip flash memory. The default bootloader of the Arduino UNO is the optiboot bootloader. Boards are loaded with program code via a serial connection to another computer. Some serial Arduino boards contain a level shifter circuit to convert between traditional RS–232 logic levels and transistor–to–transistor logic (TTL) level signals. Current Arduino boards are programmed via USB connections, implemented using USB–to–serial adapter chips such as the FTDI FT232. Some boards, such as later–model Uno boards, substitute the FTDI chip with a separate AVR chip containing USB–to–serial firmware, which is reprogrammable via its own ICSP header. Other variants, such as the Arduino Mini and the unofficial Boarduino, use a detachable USB–to–serial adapter board or cable, Bluetooth or other methods. When used with traditional microcontroller tools, instead of the Arduino IDE, standard AVR in–system programming (ISP) programming is used.

 

Raspberry Pi

The Raspberry Pi is a series of small single–board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote the teaching of basic computer science in schools and in developing countries in a similar way as the Arduino. The original model became far more popular than anticipated, selling outside its target market for uses such as robotics. It does not include peripherals (such as keyboards, mice, and cases). However, some accessories have been included in several official and unofficial bundles.

pi3
The Raspberry Pi 3 uses a Broadcom BCM2837B0 SoC with a 1.4 GHz 64–bit quad–core ARM Cortex–A53 processor, with 512 KB shared L2 cache

According to the Raspberry Pi Foundation, over 5 million Raspberry Pis were sold by February 2015, making it the best–selling British computer. By November 2016 they had sold 11 million units, and 12.5m by March 2017, making it the third best–selling “general purpose computer”. In July 2017, sales reached nearly 15 million. In March 2018, sales reached 19 million. They are made in a Sony factory in Pencoed, Wales.

Several generations of Raspberry Pis have been released. All models feature a Broadcom “system on a chip” (or SoC) with an integrated ARM compatible CPU and graphics processing unit (GPU).

Processor speed ranges from 700 MHz to 1.4 GHz for the Pi 3; on–board memory ranges from 256 MB to 1 GB RAM. Secure Digital (SD) cards are used to store the operating system and program memory in either SDHC or MicroSDHC sizes. The boards have one to four USB ports. For video output, HDMI and composite video are supported, with a standard 3.5 mm phono jack for audio output. Lower–level output is provided by a number of GPIO pins which support common protocols like I2C. The B–models have an 8P8C port and the Pi 3 and Pi Zero W have on–board WiFi 802.11n and Bluetooth. Prices range from US$5 to $35.

The first generation (Raspberry Pi 1 Model B) was released in February 2012, followed by the simpler and cheaper Model A. In 2014, the Foundation released a board with an improved design, Raspberry Pi 1 Model B+. These boards are approximately credit–card sized and represent the standard mainline form–factor. Improved A+ and B+ models were released a year later. A “Compute Module” was released in April 2014 for embedded applications.

The Raspberry Pi 2 which added more RAM was released in February 2015.

A Raspberry Pi Zero with smaller size and reduced I/O and GPIO capabilities was released in November 2015 for US$5. By 2017, it became the newest mainline Raspberry Pi. On 28 February 2017, the Raspberry Pi Zero W was launched, a version of the Zero with WiFi and Bluetooth capabilities, for US$10. On 12 January 2018, the Raspberry Pi Zero WH was launched, the same version of the Zero W with pre–soldered GPIO headers.

Raspberry Pi 3 Model B was released in February 2016 with a 64 bit quad-core processor, and has on–board WiFi, Bluetooth and USB boot capabilities. On Pi Day 2018 model 3B+ appeared with a faster 1.4 GHz processor and a 3 times faster network based on gigabit ethernet (300 Mbit / s) or 2.4 / 5 GHz dual–band WiFi (100 Mbit / s). Other options are: Power over Ethernet (PoE), USB boot, and network boot (making the SD card no longer required). Due to its’ very low power consumption, this allows the use of the Pi in hard–to–operate places (possibly without electricity).

The Broadcom BCM2835 SoC used in the first generation Raspberry Pi is somewhat equivalent to the chip used in first modern generation smartphones (its CPU is an older ARMv6 architecture), which includes a 700 Mhz  ARM11 76JZF–S processor, VideoCore IV GPU, and RAM. It has a level 1 (L1) cache of 16 Kb and a level 2 (L2) cache of 128 Kb. The level 2 cache is used primarily by the GPU. The SoC is stacked underneath the RAM chip, so only its edge is visible.

The earlier V1.1 model of the Raspberry Pi 2 used a Broadcom BCM2836 SoC with a 900 MHz 32–bit quad–core ARM Cortex–A7 processor, with 256 KB shared L2 cache. The Raspberry Pi 2 V1.2 was upgraded to a Broadcom BCM2837 SoC with a 1.2 GHz 64–bit quad–core ARM Cortex–A53 processor, the same SoC which is used on the Raspberry Pi 3, but underclocked (by default) to the same 900 MHz CPU clock speed as the V1.1. The BCM2836 SoC is no longer in production (as of late 2016).

The Raspberry Pi 3+ uses a Broadcom BCM2837B0 SoC with a 1.4 GHz 64–bit quad–core ARM Cortex–A53 processor, with 512 KB shared L2 cache.

Processors Yesterday and Today

Microprocessors have come a long way since the 1970s and ’80s. Here are some vintage RAM stats, compared to the new Raspberry Pi:

  Apple II –– 4 KB RAM
  ZX Spectrum –– 16 to 48 KB RAM
  Atari 800XL –– 64 KB RAM
  Commodore 64 –– 64 KB RAM
  Raspberry Pi –– 256 MB RAM(depending on model)

The older computers also ran around 1 to 4 megahertz (MHz), whereas the Raspberry Pi 3 runs at 1.4 GHz. And the Raspberry Pi is far from the average home PC. Today, boxes with 2–16 GB RAM and 3 GHz processor speed are common.

So where does the Pi and Arduino fit in the personal computing spectrum? About where your new smartphone would (since most smartphones use the same chips as the Pi). If you are happy with the speed of your new smartphone, you will be happy using the Pi 3 as a small computing platform.

Why?

So, why do we want to give up our powerful computers for the “toy” Pi 3 or Arduino? Glad you asked.

Aside from the novelty of the small form computer, the Pi 3 and Arduino present multiple opportunities for ham radio operators to learn something new and different about digital radio from the computer side of things. We know a lot about radios and we have discussed the modulation methods used. But very little is known by many hams about the computing platform. A number of questions need to be answered.

Can it be reduced in size and weight and still be useful?

What do I have to know to use it?

Can it be adapted for use in emcomm situations?

To answer these and other important questions we are going to establish some goals for this series and set out to achive them one by one.



Goals

  1. Build a small platform computer that can run the FLDIGI/NBEMS software for around $200 or less. We will track the costs.
  2. Configure the small computer to use as a digital station with a radio.
  3. Use in SATERN digital networks.
  4. Learn what else can it do.
  5. List drawbacks and shortcomings of the small platform computer.

Learning can be fun and we hope this series will help to make a fun project for your shack or go–kit.

Rev. 1.00 2018-04-01 AD5XJ