Software Defined Radio


A versatile dev board with everything you need to design custom IoT protocols & gateways

$11,280 raised

of $10,000 goal

112% Funded! Order Below

Limited items in stock. Order below.

$99 - $699

View Purchasing Options

Recent Updates

You'll be notified about news and stock updates for this project.

Embedding SDR in IoT

iotSDR provides a platform that allows SDR developers and enthusiasts to design innovative algorithms and cutting-edge products. While wide-band SDRs are more versatile, narrow-band transceivers perform better for many IoT-related applications. Accordingly, iotSDR hosts two narrow-band Microchip AT86RF215 transceivers that provide their own base-band cores and have the ability to handle their own I/Q signal streaming. The result is an extremely powerful tool for anyone who is looking to simplify the task of developing, testing, and deploying high-complexity frameworks.

A Powerful FPGA and a GNSS Chip to Round It Out

iotSDR’s Microchip transceivers are backed by a Zynq SoC—which provides an FPGA and a processing system in a single package—as well as a MAX2769 GNSS chip capable of streaming live signal records. That GNSS chip can be used for custom GPS, Galileo, BieDou, and GLONASS receiver development, and is perfect for projects in the location-based services (LBS) domain such as those related to navigation and surveying.

Use Existing Software, Design a Protocol, or Build a Gateway

You can drive the hardware described above using a wide variety of popular open source software, including the Xilinx PYNQ Python framework, Jupyter Notebooks, and GNU Radio.

And if your work is further down the stack, don’t worry. iotSDR still has you covered. If you want to design and implement a physical layer IoT protocol, for example—a protocol like LoRa, SigFox, WightLess, Bluetooth, BLE, 802.15.4, ZigBee, or something of your own design—this board is for you. It’s also a great place to start if you want to build a custom IoT gateway along the lines of The Things Network, LPWAN, or Google’s Thread.

Radio has long been a pillar of modernization and technology, and this remains true in the era of software-defined radio. The Internet of Things, in particular, stands to benefit from the latest advancements in SDR technology. With iotSDR, you can be part of the community that makes that happen.

Features & Specifications

Block Diagram

Comparison Table

iotSDRUSRP B2x0XTRX ProLimeSDRHackRF OnebladeRFLimeSDR Mini
RF Chipset AT86RF215, MAX2769 AD9364 or AD9361 LMS7002M LMS7002M MAX5864, MAX2837, RFFC5072 LMS6002M LMS7002M
FPGA ZYNQ XC7Z010 / XC7Z020 Xilinx Spartan 6 XC6SLX75 Xilinx Artix7 50T Altera 40KLE Cyclone 4 64 Macrocell CPLD Altera 40KLE/115KLE Cyclone 4 Altera MAX 10
Tuning Range 389.5-510, 779-1020, 2400-2483.5, and 1575.42 MHz 70 MHz to 6 GHz 30 MHz to 3.7 GHz 30 MHz to 3.8 GHz 1 MHz to 6 GHz 300 MHz to 3.8 GHz 10 MHz to 3.5 GHz
Bus/Interface Gbit Ethernet and USB 2 USB 3 PCIe x2 and USB 3 adapter USB 3 USB 2 USB 3 USB 3
Boots Linux Yes -- -- -- No -- --
DuplexDual-channel full duplex Full MIMO Full MIMO Full MIMO Half Full SISO Full SISO
Max Sampling Rate4 MSPS (16.368 MSPS MAX2769) 61.44 MSPS 120 MSPS SISO, 90 MSPS MIMO 61.44 MSPS 20 MSPS 40 MSPS 30.72 MSPS
ADC/DAC Resolution13-bit (2-bit MAX2769) 12-bit 12-bit 12-bit 8-bit 12-bit 12-bit
Max RF Bandwidth4 MHz (8 MHz MAX2769) 56 MHz 120 MHz 61.44 MHz 20 MHz 28 MHz 30.72 MHz
Channels2 1 (2 for B210) 2 2 1 1 1
Transmit Power14 dBm+ 10 dBm+ 0 to 10 dBm (frequency dependent) 0 to 10 dBm (frequency dependent) 0 to 10 dBm, -10 dBm+ (15 dBm @ 2.4 GHz) 6 dBm 0 to 10 dBm (frequency dependent)
On-board ProcessorDual-core Arm Cortex A-9 No No No LPC4320F No No
Frequency Stability±2 ppm ±2 ppm ±0.1 ppm (<±0.01 ppm w/ GPS lock) ±2.5 ppm ±20 ppm ±1 ppm ±2.5 ppm
GPS SynchronizationAdd-on (under $500) Add-on ($636) On-board No No No No
Dimensions76 x 102 mm 97 x 155 mm 30 × 51 mm 60 x 100 mm 75 x 120 mm 87 x 131 mm 32 x 69 mm
IEEE-802.15.4 PHY coresTwo cores No No No No No No
GPS FEYes No Yes No No No No
GPIOYes (24 pins) Yes Yes Yes Expansion Headers Yes Yes
Multi-board SynchronizationClock and data Clock and timestamps Clock and timestamps Clock Clock Clock and timestamps Clock
Price$399 ($599 with XC7Z020) $686 - $1,119 $490 $299 $299 $415 $139

IEEE 802.15.4 Baseband Cores

iotSDR hosts dual Microchip AT86RF215 transceiver chips, each of which supports separate, hard-coded baseband cores for the sub-1 GHz and 2.4 GHz bands, compliant with IEEE 802.15.4g-2012 and ETSI TS 102 887-1. An output power of 14 dBm and receiver sensitivities down to -123 dBm result in an outstanding link budget of up to 137 dB. The device offers a high flexibility by supporting a variety of data rates with three modulation schemes:

Simultaneous operation at sub-1 GHz and 2.4 GHz enables new capabilities and provides the right cost structure for smart metering, smart lighting, home energy gateways, and other industrial and automation equipment.

Supported PHYs (IEEE 802.15.4g-2012, IEEE 802.15.4- 2011, and proprietary modes)

Python Drivers

We will provide and maintain a high-level Python interface to these baseband cores. That interface will support driver calls that allow you to select different modulation schemes (MR-FSK, MR-O-QPSK, and MR-OFDM) or build custom point-to-point or multi-point networks.

We are also working with these baseband cores to implement a multi-network, IPv6-based, 6LoWAPN gateway, which we will make available when it is ready. 6LoWPAN provides an upper-layer system for use with low-power wireless communications for IoT and M2M. Originally intended for 802.15.4, it is now used with many other wireless standards. We will include the linux-wpan stack and wpan-tools, running on the ZYNQ processor, to handle the creation and configuration of the 6LoWPAN network.

The board also features a GNSS L1-band chip that can stream live L1 band signal records from all available constellations. That stream can be processed in the FPGA, streamed to popular open source GNSS-processing software, or recorded for later use. The MAX2769 chip that provides this functionality has displayed excellent front-end performance. Our open source iotSDR companion package includes libraries support the storage of I/Q data and the quick acquisition of data using a Jupyter notebook.

Having a stream of GNSS signals alongside iotSDR’s IoT transceivers opens up many possibilities, including high-precision positioning solutions—such as real-time kinematics or precise point positioning—and timing solutions like GPS-disciplined oscillators. With direct access to satellite signals, a large FPGA, dual-core processors, and the power of open source PYNQ libraries and Jupyter notebooks, iotSDR is ideal for GNSS researchers looking to test hypotheses in the field of timing, positioning, navigation, and localization.

iotSDR Accessories

The following accessories are available to order for use with your iotSDR. If you’d like to receive the full accessory kit that was offered during the crowdfunding campaign, order the following parts and quantities:

Software Support

The PYNQ Python Framework

Python is one of today’s most popular languages for software development, and it stands to reason that you might want to leverage Python’s ease-of-use, efficiency, and modularity when developing IoT applications. With that in mind, we are happy to report that iotSDR is compatible with the PYNQ Framework.

PYNQ is an open source project from Xilinx that simplifies the process of developing capable, exciting IoT applications by allowing designers to use the Python language and libraries when working with the reconfigurable ZYNQ SoC at the heart of iotSDR. It allows Python-based applications to run in conjunction with the high-speed deterministic cores on the FPGA fabric.

PYNQ includes a number of hardware libraries, called overlays, that allow you to program the SoC’s FPGA logic. Overlays are open source logic designs which can be loaded as needed to provide acceleration in the execution of Python programs. And of course, if you need an overlay that does not yet exist, you can create your own and share it with the community.

Jupyter Notebooks

In addition to overlays, Jupyter notebooks are another key element of the PYNQ framework. These interactive notebooks allow you to develop and run self-documenting Python applications and are extremely useful for researchers and educators who need to create, simulate, test, share, and publish theoretical concepts by running live code on actual hardware.

iotSDR also works with JupyterLab, which comes in handy when managing multiple projects. JupyterLab is a web-based interactive development environment (IDE) for Jupyter notebooks, code, and data. It is quite flexible and features a user interface that can be configured for a wide range of workflows in data science, scientific computing, and machine learning.

Voilà with Plotly

Voilà turns Jupyter notebooks into standalone web applications. Unlike the usual HTML-converted notebooks, each user connected to a Voilà tornado application gets a dedicated Jupyter kernel that can execute callbacks and update interactive widgets.

Combined with Plotly graphical widgets, this allows for the observation of real-time continuous waveforms, which we have found to be rather exciting. And once you have created an interactive IoT application, you can convert it to a standalone web application with the click of a button.

GNU Radio & the iotSDR Support Package

GNU Radio is the defacto SDR development framework and has been hugely influential in shaping the sector as it exists today. We did not feel that iotSDR was a complete platform until it became part of GNU Radio’s open source ecosystem.

You can set up a rapid application development environment by combining GNU Radio with the suite of remote-programming and streaming tools included in the iotSDR support package. Using both pieces of software together, you can quickly and easily build an iotSDR application stack with access to an extensive collection of DSPs and related blocks, as well as GUI environments that allow for all manner of applications and simulations, including Bluetooth, LoRa, and IEEE 802.11ah (Wi-Fi HaLow).

Goodies for the IoT Transceivers

By way of example, the iotSDR support package includes modules that facilitate the instantiation, configuration, and operation of bidirectional data streams using iotSDR’s dual Microchip AT86RF215 transceivers. And, as shown in the video below, GNU Radio Companion can be used to provide a graphical programming interface:

The iotSDR support package was built to provide transciever functionality and includes both a transmitter module and a receiver module (which operate as a source block and as a sink block, respectively). They can be configured to either channel.

Goodies for the GNSS Chip

For the GNSS enthusiasts out there, the iotSDR support package contains the GNSS receiver block for GNU Radio, which is capable of performing realtime sampling to decode satellite PN codes buried in noise. The GNSS receiver block also makes it easy to log samples—either locally on an SD card or remotely on the GNU Radio host—for post-processing and analysis.

Remote APIs

The ability to control your SDR board from a remote device is more than just a way to show off for your friends. It also facilitates development by giving you access to a familiar environment and to the resources of a host computer. iotSDR provides a more advanced implementation of this functionality than any other board in its class. Specifically, it leverages Google gRPC calls that allow you to develop on iotSDR itself or from a Linux, Windows, or Mac host environment. And the only difference is a single line of code: the "connect" call.

iotSDR also supports language-agnostic programming on the host. The freedom to choose between Go, C++, Java, Python, C#, Ruby, PHP, or something else entirely can be a huge advantage in terms of speed, modularity, and versatility.

Support & Documentation

iotSDR will be fully open-source. That includes the FPGA HDL code and design documents that you can use to carry out maintenance, make improvements, develop hardware and software features, or improve the applications you develop.

iotSDR Software Repository

Our repo is now live and can be accessed at https://github.com/embedinn/iotSDR. It contains Jupyter Notebooks with sample code code for TX/RX, dual TX, and dual RX through the ATREB chips and also stream capturing of the GNSS front-end. The Getting Started section of the Readme is the best place to begin. We think you will appreciate the ease with which you can program iotSDR using Python and Jupyter Notebooks.

The repo has many other resources, as well, and we will be adding even more (including GNU radio support!) soon. If you have any questions, we encourage you to contact us at info@embedinn.com or through our discord channel: https://discord.gg/HCZM6msqS6.

Fulfillment & Logistics

All iotSDR modules and accessories are shipped from Crowd Supply’s warehouse for final distribution to backers worldwide. Please see Crowd Supply’s guide on Ordering, Paying, Shipping: All the Details for more information about delivery, VAT payments, etc.

In the Press

Ask a Question

Produced by embedINN in Islamabad, Pakistan.

Sold and shipped by Crowd Supply.

iotSDR 7010

One iotSDR dev board with a Zynq XC7Z010 FPGA

$399 $8 US Shipping / $18 Worldwide

iotSDR 7020

One iotSDR dev board with a Zynq XC7Z020 FPGA

$699 Free US Shipping / $18 Worldwide

iotSDR Accessories

Two 2.4 GHz antennas, two 916 MHz sub-GHz antennas, two 430-435 MHz sub-GHz antennas, one GPS antenna, one USB Type A to Micro B cable (1 m), and one Ethernet cable (1 m)

$99 $8 US Shipping / $18 Worldwide

Ethernet Cable (1 m)

From the Crowd Supply Basics project.

A one-meter CAT5E shielded Ethernet cable with a wire gauge of 24 AWG and RJ45 plugs on both ends.

$4 $8 US Shipping / $18 Worldwide

USB 2.0 Cable: Type-B (Micro) to Type-A (3 ft, ~0.9 m)

From the Crowd Supply Basics project.

$4 $8 US Shipping / $18 Worldwide

Active GPS Antenna

From the Crowd Supply Basics project.

A low-noise active GPS antenna suited for the GPS L1 band. Accepts 3-5V DC and outputs RF via an SMA(m) connector. Optional adhesive mounting.

$11 $8 US Shipping / $18 Worldwide

916 MHz Helical Monopole Antenna

From the Crowd Supply Basics project.

Order two for use with iotSDR.

916 MHz ISM Right Angle SMA Connector (LoRaWAN, HaLow, IoT Low-Profile Whip) by Linx Technologies

$8 $8 US Shipping / $18 Worldwide

LCW Dipole Antenna

From the Crowd Supply Basics project.

Order two for use with iotSDR.

2.4 GHz Dipole Tilt Swivel Antenna with SMA connector by Linx Technologies. Length: 83.1 mm

$4 $8 US Shipping / $18 Worldwide

430-435 MHz SMA Male Antenna

From the Crowd Supply Basics project.

Order two for use with iotSDR.

One single 433MHz Swivel Stick Dipole – SMA-M Stick Antenna by Pulse. (Image includes two antenna to show swivel capability.)

$6 $8 US Shipping / $18 Worldwide

microSD Card

From the Crowd Supply Basics project.

An industrial-grade memory card with extended endurance.

$10 $8 US Shipping / $18 Worldwide

About the Team


Islamabad, Pakistan

Embedding things in reality.

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects