Tagged: ARM

ExaGear x86 Emulator for ARM To be Discontinued

ExaGear is an x86 emulator for ARM computing devices. In the past we posted about ExaGear as together with WINE, it was an affordable solution that allowed Windows SDR apps to run on ARM devices like the Raspberry Pi 3. With ExaGear and WINE we were able to get Windows only SDR programs like Unitrunker, WinSTD C, DSD+, MultiPSK, PC-HFDL, Orbitron and Sondemonitor to run smoothly. In another previous post, DE8MSH was also able to use ExaGear to get Speclab running on his Raspberry Pi 3.

Unfortunately it appears that ExaGear is to be discontinued from February 28 onwards although they note that all previously purchased licences will continue to work. No reason has been given other than noting that it is their business decision. For now the downloads and ability to purchase licences is still active until February 28, so if ExaGear was a product you were interested in, you have just over a week to obtain it.

ExaGear to be discontinued
ExaGear to be discontinued

Running Windows & x86 SDR Decoding Apps on the Raspberry Pi 3: Unitrunker, WinSTD-C, WXtoIMG, DSDPlus and more

There is a great advantage to running SDR decoder apps on a single board PC like a Raspberry Pi 3. For example instead of committing a whole PC to become a dedicated decoder, a cheap Pi 3 can be used instead. However, unfortunately many decoder apps are written for the x86 CPU architecture and/or Windows, making them impossible to run on ARM and/or primarily Linux devices like the Raspberry Pi 3.

That is unless you use an emulator combination like Eltechs Exagear and Wine. Exagear is an emulator that emulates an x86 environment on a device like a Raspberry Pi 3 which uses an ARM CPU. Wine is a Windows compatibility layer that allows you to run x86 Windows apps on an x86 Linux installation. So by combining Exagear together with Wine it is possible to run Windows apps on ARM Linux devices.

Exagear is not free (although there is a free trial). It currently costs $22.95 USD for a Pi 3 licence, and $16.95 USD for a Pi 2 licence and $11.45 for a Pi 1/Zero licence. They also have versions for Odroid, Cubieboard, BananaPi, Jetson and many other ARMv7 and ARMv8 devices like the super cheap and powerful Orange Pi’s. There are free alternatives out there like QEMU, however when we tested QEMU it was far too slow on the Pi 3 to even run notepad responsively, let alone a decoder. Exagear on the other hand seems to run apps at near native speeds, without much lag at all. So in this respect the price seems to be worth it.

We decided to test the Exagear + Wine combination on a Pi 3 and were successful in running a number of apps including Unitrunker, WinSTD-C, WXtoImg, DSDPlus, PC-HFDL, MultiPSK, Orbitron and Sondemonitor.

Trunking setup with Unitrunker on a Raspberry Pi 3

With Unitrunker we were able to set up a full trunk tracking system using two RTL-SDR dongles, rtl_fm, rtl_udp and a custom script to control rtl_udp.

Unitrunker running on a Raspberry Pi 3
Unitrunker running on a Raspberry Pi 3

In the future we may put up a full double checked tutorial with images, but for now a roughly written tutorial is presented below. The tutorial is fairly involved and assumes decent Linux experience. The tutorial starts from a fresh install of Raspbian.

The basic idea of operation is based around the fact that the RTL-SDR cannot be used directly within Wine (or so it seems). So the control signal audio is routed from rtl_fm running on one dongle into Unitrunker on Wine using alsa loopback. Then we use the old Unitrunker remote.dll method to generate a sdrsharptrunking.log file which is a text file that contains the current frequency that the voice receiver should tune to. A simple shell script continuously reads this file and extracts the frequency, and then commands an instance of rtl_udp running with the second dongle to tune to that frequency.

Continue reading

Demonstrating the ARM Radio

Back in November 2015 we posted about the ARM Radio, a minimalist direct sampling software defined radio that runs almost entirely on an ARM processor on a STM32F429 discovery board. It can tune from about 8 kHz up to 900 kHz, which covers the VLF, LF and some of the MF bands. 

Now over on YouTube amateur radio hobbyist W9RAN has uploaded a video where he demonstrates an ARM Radio that he built. He shows the radio in operation with it clearly receiving some NDB’s and some AM broadcast stations.

ARM Radio demo BY W9RAN

ARM Radio: A Cheap SDR built out of an ARM Processor and not much more

A software defined radio can theoretically be made out of little more than a microprocessor with an onboard ADC and some DSP code. This is exactly what Alberto di Bene (I2PHD) achieved by connecting an antenna directly to the on board 12-bit ADC on a STM32F429 Discovery board.

To make it actually work as an SDR he also wrote some code to utilize the development board’s ARM processor which processes the ADC input into a radio signal, demodulates it and then turns it into audio via the boards DAC and speaker. The radio can tune from 8 kHz up to about 900 kHz.

The only real extra hardware in Alberto’s system is a low pass filter for anti-aliasing and impedance transformation, and a reconstruction filter to get sound to the speakers from the DAC. He also used the boards LCD screen to implement a full GUI tuning system.

A PDF document detailing his work can be downloaded here.

ARM Radio and its GUI interface.
ARM Radio and its GUI interface.
The ARM Radio with the low pass filter and reconstruction filter shown.
The ARM Radio with the low pass filter and reconstruction filter shown.