iceRadio SDR


From the Hackaday blog:

Ice, Ice, Radio Uses FPGA

Building a software defined radio (SDR) involves many trades offs. But one of the most fundamental is should you use an FPGA or a CPU to do the processing. Of course, if you are piping data to a PC, the answer is probably a CPU. But if you are doing the whole system, it is a vexing choice.


The FPGA can handle lots of data all at one time but is somewhat more difficult to develop and modify. CPUs using software are flexible–especially for coding user interfaces, networking connections, and the like) but don’t always have enough horsepower to cope with signal processing tasks (and, yes, it depends on the CPU).

Screenshot from 2017-01-23 18-49-55.png

[Eric Brombaugh] sidestepped that trade off. He used a board with both an ARM processor and an ICE FPGA at the heart of his SDR design. He uses three custom boards: one is the CPU/FPGA board, another is a 10-bit converter that can sample at 40 MSPS (sufficient to decode to 20 MHz), and an I2S DAC to produce audio. Each board has its own page linked from the main project.Z


The iceRadio project page has additional details:

Design files and source code are available on GitHub:


iceRadio SDR

Open Source AIS Transponder

Automatic identification system (AIS) is an automatic tracking system used on ships.  Peter Antypas designed a low-power AIS transponder:

images1 Open Source AIS Transponder (Class B)

This is the first ever (that I’m aware of) attempt at creating an open source AIS transponder


On the hardware side, the design is based on two Silicon Labs 4463 transceiver ICs and an STM32F302CBT6 ARM Cortex M4 microcontroller. One of the SiLabs ICs acts as a transceiver, while the other IC works as a receiver only. In receiver mode, each IC tunes to a different channel. When a transmission is scheduled, the ICs swap channels if the transceiver is not listening on the next transmit channel. This configuration may be construed as a violation of the AIS specification, but it makes for a much simpler PCB layout and negates the need for a 3-position RF switch.


There are two programs that need to be installed on the flash. The bootloader and the main application.

petera650 has shared the boards on OSH Park:

RF side of AIS transponder


Order from OSH Park

Logic / digital side of AIS transponder


Order from OSH Park

Open Source AIS Transponder

Put That Amateur Radio License to Use on 915 MHz

Amateur radio enthusiasts in the US will be interested in Faraday, an open-source digital radio that runs on 915 MHz, which amateur radio enthusiasts may know better as the 33 cm band. You can transmit on 915 MHz without a license (in the US), taking advantage of the Industrial, Scientific, and Medical (ISM) exemption.

via Put That Amateur Radio License to Use on 915 MHz — Hackaday

Put That Amateur Radio License to Use on 915 MHz

Drone Racing 5.8GHz Diversity Receiver


Shea Ivey created this receiver for FPV (First Person View) Drone Racing:

DIY project to create your own 5.8ghz FPV diversity basestation – based off the rx5808 receiver module.


Project includes basic Arduino Nano implementation to advanced custom PCB board and introduction to digital switches 4066 chip.


sheaivey has shared the board on OSH Park:


Order from OSH Park

Drone Racing 5.8GHz Diversity Receiver

DIY Vector Network Analyzer

What to do when a piece of test equipment is too expensive?  Henrik Forstén decided to design and build his own:

Cheap homemade 30 MHz – 6 GHz vector network analyzer

Vector network analyzer (VNA) are used to measure scattering parameters of high frequency circuits

Since I can’t afford even a used VNA I decided to make one myself with a budget of 200€, tenth of what they cost used and about 1/100 of what they cost new

The design files and source code are available on GitHub:



DIY Vector Network Analyzer

GPS RF Front-end Board

[Written by OSH Park engineer Jenner Hanni on Wickerbox Electronics]


Portland State University’s Maseeh College of Engineering and Computer Science runs an innovation program that awards small thousand-dollar grants to students working on interesting projects. In 2011 there were a handful of GPS-related projects that needed a way to work directly with the raw I/Q data coming from the GPS satellites before any processing or correlating had been done.


Commercial off-the-shelf GPS receivers are cheap and ubiquitous but they don’t expose that data. One of my mentors, Andrew Greenberg, developed an open source GPS receiver for his Masters thesis (PDF) in 2005 and suggested I take a look at doing the same thing with current hardware. I said I would if he would help, so together we built a board, built a revision, and are in the process of figuring out what modifications will be needed for a third.

The board isn’t a full GPS receiver. Instead, it’s an “RF front end” board that has a MAX2769 Universal GPS Receiver chip to read the GPS signals and pass them out over something that looks a lot like SPI but isn’t. We chose to place an STM32F407 microcontroller running the ChibiOS embedded operating system on the board to support streaming the data out over Ethernet and USB. We exposed the raw pins over a header between the MAX2769 and STM32F407 to allow a user to skip the microcontroller entirely. We also included an SD card to log the data.

The board does not currently support a battery so it must be powered over USB or Ethernet at all times.

This project is open hardware and software licensed under the 3-clause BSD license and maintained on the Portland State Aerospace Society’s Github account. You can find the bill of materials and Eagle schematics at psas/gps-rf-board and the software as part of psas/stm32.

It’s been a big group effort in the push to get it talking; Andrew, K, Theo, and Kenny at least have helped out with software and modwire soldering, and I might have missed someone.

Board Layout Overview

The board has four layers and was ordered from OSH Park.


We can power the board from Rocketnet Ethernet (up to 20V) or over USB (about 5V) so we used an LMZ12001 switching regulator with an input voltage range from 4.5V to 20V to output 3.3V for the digital side of the board. We then used two ultra-low noise MAX8510 LDO linear regulators to provide 2.85V on separate digital and analog supply lines for the RF side of the board.


The MAX2769 is a tiny 28-pin universal GPS Receiver with a 1.4dB noise figure. The datasheet says we don’t need external SAW filters but we used them anyway. The chip has two LNA inputs and the eval kit is set up for to support both passive and active antennas. We used the MAX2769 Eval Kit as a reference but it was a particularly difficult schematic to work with.

Our board has a single antenna attachment point with a couple of optional circuits that the user chooses by where you populate capacitors and resistors. Option #1 is whether or not to have an LNA1 and its ANTBIAS-pin power circuit. Option #2 is whether to put into LNA1 or LNA2 on the chip.


We use a 100-pin ARM Cortex-M3 STM32F407 running the Portland State Aerospace Society’s version of ChibiOS to program the MAX2769 and to support USB, Ethernet, and an SD card. We also break out raw data signals at pin test points.

Ethernet requires the Portland State Aerospace Society’s Rocketnet connector for programming, data streaming, and power.

A micro-USB connector is available for programming, data streaming, and power.

The micro-SD card is available for data logging.

The serial breakout is two 1×11 0.1” headers which we also used for debug. We ran traces between the two breakouts because we were unsure about some of the pinouts from the MAX2769 and wanted to be sure we could cut traces and easily run modwire.


This is the board installed on the avionics module that carries the flight computer, sensor packages, and battery packs. The green board on top is the commercial Crescent GPS unit. The purple board down below is the JennerGPS. They’re both connected to the splitter in the middle, which runs off to the cylindrical patch antenna on the skin of the rocket.

Current Status

The v2 board was flown on the Portland State Aerospace Society’s LV2.3 airframe for Launch 11 on July 20th, 2014, in Brothers, Oregon, to an altitude of 15,000 feet. The hardware was complete but the software on the board was not entirely ready for launch and, anyway, the entire GPS system failed so no data was retrieved.

More information on the launch is available at the PSAS Launch 11 page.

Launch 12 in 2015 carried a third version of the GPS RF front-end board designed and laid out by Andrew Greenberg, and GPS packets were successfully captured.

The Github repository has all the schematics. The current version described here is v2, but the newest version is v3. PSAS welcomes collaboration, but you’ll wan to contact PSAS directly through the main GPS repository. The best way to contribute is to come to a meeting.

It was super helpful to reference Swift Navigation’s Piksi GPS Receiver which uses the MAX2769 chip with an STM32F407 and FPGA.

The first version of this board was funded by the MCECS Innovation Program.


This project was released under the BSD “3-clause” license. See here for more information.

GPS RF Front-end Board