Nate Fisher

Loves flying, eating tacos and building hardware.

Read this first

RTL2832U and rtl-sdr on an STM32 microcontroller, Part 1

This is a series dedicated to describing the development of software-defined-radio applications on a microcontroller, utilizing the ubiquitous RTL2832-based DVB-T dongle and librtlsdr. See justification and all of the [source code for this project on GitHub][github].

Screen Shot 2016-09-13 at 11.35.54 PM.png

In this entry, I explain how the [Realtek RTL2832U DVT-B dongle][rtl2832u] is integrated with the microcontroller processor target, culminating in a successful enumeration of the device and demonstration of a few radio features. These tasks are accomplished via the integration of various codebases and porting a host-based USB library (libusb) to the new processor target. To begin, I create a bare-metal firmware image consisting of the the minimum components necessary to accomplish this task: a board support library to control the dev board hardware, the [librtlsdr][librtlsdr] library, minimally-ported [libusb][libusb]...

Continue reading →


For a More Portable RTL2832 USB Dongle

system.png

I’m super interested in the rtl-sdr project because, as a coincidence, a large portion of the the rtl-sdr project community seems to be attracted to it’s use as an aviation communications interface (see the plentiful aircraft transponder-decoding examples). A coincidence only to my personal affinities: as a pilot, avionics engineer and possessing an unreasonable passion for aviation, these applications caught my eye. Practically, of course, the correlation between the promises of SDR and aviation use-cases makes a lot of sense: aircraft operations generally rely on several RF communication modulation schemes, mostly within a spectrum accessible by inexpensive SDR hardware. Conveniently, most of these signals are within the physical capabilities of the rtl-sdr project hardware, such as: ILS localizer and glideslope, VOR/DME navigation aids, ACARS messaging, VHF Voice Communications, UAT...

Continue reading →