If you're designing a product these days, there's a good chance it's going to be "connected" in some way.
In this day and age, nearly every new gadget gets a connection to the cloud — whether it really needs it, or as is usually the case, could likely do without one.
With Cisco predicting M2M IP traffic to grow to more than 25 exabytes per month in next year (2022), 6% of the global internet traffic would be purely down to the IoT devices that now adorn our domiciles — and this means things like the smart kitchen scales — it's not talking about Netflix, no no no.
25 exabytesof data a month, just from things like lightbulbs, switches and other such devices. That's 25,000,000 terabytes. Even scaled to more familiar factors, it's still quite a difficult amount of data to comprehend.
So, it's safe to say, there's a well established market for connected devices, and more and more commonly, we are seeing that connection is a wireless one, rather than wired.
While there is indeed a market for cellular M2M products, ones that have to sling a signal some significant distance, or deal with different cell towers as they do their rounds in whatever application they are serving, the majority of these connections — in the home/consumer market — are going to be ones that are more local in nature, working with Wi-Fi, Bluetooth, ZigBee, or any number of the 2.4GHz wireless protocols, or indeed, any of a range of sub-GHz band radio systems.
The thing is, wireless links can be tricky. Yeah, sure, most of the time, it's going to be some pretty solid BLE reference stack that you can be somewhat confident of. But there's a difference between pair of MVP demonstrators that get cobbled together, and an ecosystem of products that have to co-exist cleanly within a limited spectrum allocation.
So, how do you go about getting some insight into what's being whistled over Wi-Fi, or bellowed out over the BLE radio?
Well, of course, there are usually a few ways to shave a yak.
If you're using Nordic, for example, they provide some good tools to capture and analyze radio traffic. That might be all you need, if you're only doing a light bit of BLE — it works, and it can give you network-level insight into the otherwise invisible radio waves.
At the other end of the spectrum (ha, unintentional puns are always the best — I'm keeping that), there are incredible, all-purpose devices such as the HackRF One — a behemoth of a SDR baseboard, capable of sniffing and shouting over swathes of spectrum.
Although hugely capable, the HackRF One could be considered overkill for the odd bit of ZigBee snooping, where as perhaps a vendor supplied sniffer might not be as low-level as you require...
Roll on the UWx Group, a research group in the Networks and Mobile Systems Lab, operating out of the University of Washington's CSE department.
The folks over at UWx appear to have seen the clear benefits to a lightweight alternative to the HackRF One — and have released a design for a smaller sibling SDR platform — one that focuses it's frequency range on the bands most likely to be encountered in the IoT-device connectivity space.
Despite its tiny size, this radio platform packs a punch, owing to a capable selection of components that make up its core functional blocks.
The general approach looks to be based around the use of an AT86RF215, dual-band sub-1GHz/2.4GHz transceiver IC, from Microchip.
This highly-configurable and capable transceiver allows for complete control of the I/Q phase modulation of the RF signal being transmitted, and equally importantly, can provide the demodulated I/Q outputs from a signal sampled from the airwaves.
Working with this sort of data bandwidth, the computational power required to calculate all the complex mathematical operations involved in the modulation of the transmitted, and demodulation of the received signal quickly becomes a non-trivial problem.
Sure, a finely-tuned ASIC can make short work of most modulation techniques, but it's a tall call for even the beefiest of MCU devices.
To that end, we can see that the complex operations required for (de)modulation have been sensibly offloaded to a FPGA device, allowing the tinySDR to take on a new radio persona simply by uploading the requisite bitstream from the boards host MCU.
With a hefty Lattice Semiconductor ECP5 series (LFE5U-25F) FPGA present on the tinySDR PCBA, driving the AT86RF215 through a fast LVDS interface, there's likely plenty of headroom for handling any protocol to be found in this frequency space.
With example bitstreams and complimentary host MCU code, there are already examples that show the use of the FSK modulation capabilities of the AT86RF215, enabling it to generate arbitrary BLE packets.
A separate example project demonstrates the implementation of a LoRa modulator, capable of supporting differing bandwidths, and varying spreading factors — perfect for discovering the full potential of the low-power, long-range that LoRa can offer when correctly implemented!
We mentioned the host MCU, that provides the higher level functions of the baseboard —such as configuring the FPGA with the required modem bitstream. While we don't often see too many MSP43*-based projects, the MSP432P401R from Texas Instruments used in this design, is pretty spot on for what is needed application-wise.
Boasting a 32-bit Arm Cortex-M4F core, it's got a hefty 256KB of Flash, and a decent 64kB of RAM to work with — perfect for loading and configuring the FPGA bitstream, and co-ordinating tasks with the secondary radio module — a Semtech SX1276.
With the 2.4GHz radio aptly handled by the AT86RF215, the SX1276 is targeted at the 137 MHz to 1020 MHz frequency range. This seems a great pick for the sub-GHz frequency bands that are covered by the tinySDR.
The tinySDR project is fully open source, with the GitHub repo containing all the needed data — from bitstreams to board project files.
Admittedly, the board files are in the Altium Designer file format, but the production files are ready to roll. If you want to grok more than the Gerber set, there's a handy online Altium viewer that will let you look through the board schematic and PCB with ease.