When it comes to SDR, you can usually find cheap products that receive and expensive products that can also transmit. The YARD Stick One bucks that trend. It can send and receive from 300 MHz to 928 MHz, thanks to the onboard TI CC1111 chip. [Wim Ton] on Elektor put the device through its paces. While the frequency range isn’t as broad as some devices, the price is right at about $99. YARD, by the way, stands for Yet Another RF Dongle.
The frequency range isn’t as cut and dry as it might seem. According to the product’s home page: “official operating frequencies: 300 MHz – 348 MHz, 391 MHz – 464 MHz, and 782 MHz – 928 MHz; unofficial operating frequencies: 281 MHz – 361 MHz, 378 MHz – 481 MHz, and 749 MHz – 962 MHz.” The unofficial operating frequencies are not supported by the chip but appear to work in practice.
The device is made for data applications, and the support software is a Python-based interface that abstracts most of what you want to do. You can directly access the device registers if you need more control.
The YARD stick isn’t great as a generic receiver, but as the review points out, you can use it as a transmitter and then grab a cheaper dongle to use as a receiver if you need more capability. The total system cost will still be less than other solutions.
Ultimately, though, [Wim] was less than impressed. Issues with the software and limited documentation didn’t help. But the fact that the CC1111 isn’t meant for general-purpose radio use makes it difficult to put into many projects where you could use an SDR transmitter. A lot of processing happens on the chip which is fine if you know what you want to send and receive ahead of time and the chip supports what you want to do. But for randomly probing and receiving RF, you don’t always have either of those luxuries.
We like the Pluto SDR, which is fairly inexpensive and can transmit. Lime SDR seems to be another popular choice.
19 thoughts on “Review Of The YARD Stick One Radio Dongle”
I’ve gotten good use out of mine for controlling ceiling fans, heated mattresses, and other domestic appliances. I agree that the software needs some love. Maybe it’s gotten better now but the last version I used didn’t support Python 3 and would get itself wedged if the program was terminated without fully resetting the radio first.
I’ve written up my own experiences here: https://github.com/j9brown/yardly
Yeah, the YS1 needs Python2, but at least one of its libraries only supports Python3 now. I spent a bunch of time trying to chase down Python2 dependencies and eventually gave up. Also tried updating it to try to work with Python3, but eventually gave up on that too because I couldn’t assess how many files needed to be updated so I couldn’t tell if I was 10% done or 90% done after a couple hours… eventually got tired of futzing with it.
I picked one up a few months back thinking “python, fantastic!” But the article is correct, great as a transmitter, bad as a receiver. Rfcat fw does work with python3, but it is buggy and you will have to unplug/replug it pretty often.
If you know exactly what you are looking for (baud, deviation, etc) it is still great, but I too hope tools for it progress a bit more.
So it isn’t for the fact that 300 MHz – 962 MHz MHz is approximately from a yard to a foot in wavelength?
Technically it is not a SDR, but a software controlled HDR.
By that I mean that you can not transmit any modulation protocol that was not built into the CC1111 silicon. In this particular case you are limited to 2-FSK, GFSK, MSK, ASK, and OOK modulation, but a lot of existing hardware in that frequency range do use those forms of modulation.
An SDR is a radio that sends that raw signals to the computer without doing any sort of demodulation and (if it transmits at all) generates signals by taking discrete signal levels from the computer and sending those signals to the antenna without any modulation (but that typically doesn’t filtering to removing the switching frequencies of the PWM or the DAC.
I’m not familiar with this particular chip, so I don’t actually know if it does onboard demodulation/modulation, or if it uses specialized PWMs or DACs with limited frequency ranges. If it does its own modulation and demodulation though, then you are totally right that it isn’t a SDR.
Its a CC1111, very similar to a CC1101, so a transceiver
What’s a good resource for someone who wants to get into the SDR space but knows little about it? I’m specifically interested in automation – I’ve got some old RF-controlled ceiling fans that the transmitters always seem to fail on, a couple garage door openers that I’d like to be able to toggle lights on, and a few other miscellaneous (I think at least one of aircon units uses an RF remote, and that would be nice to automate based on temperature in the room rather than temperature right at the unit). Just not sure where to start with which frequencies these things tend to run on, how to sniff them out, and what gear might be appropriate for that.
Most of that is subghz. You can play around with cc1101’s and arduino. You would still need to decode the transmissions, which means you have to capture them. You can capture and analyze stuff with a $30 rtl-sdr, no need for a hackrf, flipper zero or yardstick one.
Honestly, I’m not impressed. For $30 more I can get an SDR receiver/transmitter that can do more, and $99 isn’t actually that cheap to begin with. (If the article says that $99 plus a generic SDR receiver is cheaper than other RX/TX SDRs, it is objectively wrong. The cheapest RX/TX SDR I’ve found was priced at $129, and the only RX SDRs I’ve seen below $30 are absolute garbage. If you have to buy an RX SDR separately to get good results, you are spending the same as the low end of RX/TX SDRs, not less, and those typically receive and transmit on a much wider range of bands on top of that.) It’s just marginally below the low end of the price range for transmitting SDRs. In addition, the frequency ranges it covers are pretty limited. There’s some useful stuff in there, but much of that range is illegal to transmit on without a license, and it only covers two HAM bands, so even with a license, the transmission aspect isn’t that useful, because most of it is still illegal to transmit on. I just bought an SDR receiver and two Baofang handheld radios for less than that costs, and I can get a significantly better frequency range with those.
I’ve got a better deal for you: Raspberry Pis can generate PWM signals that can switch fast enough to transmit up to 1,500MHz. (There’s no lower limit on what you can transmit with this in terms of the Pi hardware, but the lower the frequency, the bigger the antenna required, and the bigger the filtering components you will need, to remove the digital switching frequencies. The currently available software only goes down to 5kHz though, and you might have to switch from PWM to directly switching a digital pin on and off for sufficiently low frequencies.) And this isn’t just the recent Pis that are out-of-stock everywhere except where they are being scalped on Ebay. The Pi Zeros will do, and even the PiA+ (like the original line of Pis) is supported. So, you buy a Raspberry Pi 2 off Ebay (they are running between $15 and $25 after shipping; don’t bother with a Pi 3 or higher, as they are still at scalping prices; if you can find a Pi 1, you might even be able to get below $10), and use that as your transmitter and computer. (I already have a bunch of Pis and a few Pi 2s sitting around, as well as a PI 3 I’m actually going to do this with.) Buy a $30 SDR receiver (the Pi does not have an ADC, so it can’t receive). You’ve now spent $45-$55. Buy a cheap SD card for $10, along with some cheap RF filtering hardware and maybe even an amp and a basic antenna (you are looking at around $30 for all of that, less if you build your own filter). Now you’ve got an SDR with integrated computer for $85-$95, and your typical SDR doesn’t come with an antenna or an amplifier either. Oh right, did I mention that your transmit range with this setup is 5kHz to 1500MHz, and your receive range is 100kHz to 1700Mhz (based on the specs for the $30 RX SDR I’ve most recently looked at)? With no gaps. That covers all of the standard HAM bands (everything below the 2.3GHz band), as long as you can afford the antennas, amps, and filtering hardware for the bands and power levels you want to transmit on (which you would also need for a TX SDR, sans maybe the filter, which isn’t that expensive to begin with).
(On a side note, I’m totally stoked now. The last time I checked, the Pi software capped at 750MHz, but in writing this and double checking my numbers, I discovered that it now goes up to 1,500MHz, which adds two more HAM bands I was interested in transmitting on! https://www.arrl.org/files/file/Regulatory/Band%20Chart/Band%20Chart%20-%2011X17%20Color.pdf)
So yeah, the moral of this story is: I’m actually making a full radio using a Raspberry Pi and a much cheaper RX SDR, for less than this thing costs and with a much larger band range and some additional features on top of that. (I’m also building a case for it that includes a screen and a battery, so I can use it as a mobile _deck style computer. Yeah, that increases the total cost of the project, but the rest of that has nothing to do with the radio part.) Maybe I’ll give one of my Pi 1s to my son and help him build a radio once he has his HAM license (though, he might want to use the Pi 4 he already has instead of one of my old Pi 1s…).
Sorry, that was wrong link. I wasn’t trying to link the HAM band chart. Here’s the link to the Pi radio software Github repo that supports up to 1.5GHz:
All those amps and antennas and filters aren’t super cheap though. Not that you don’t have a point, but you could also get an aliexpress hackrf for ~$200 that comes with antennas and covers 1mhz to 6ghz, and is the portable portapack version with a battery. The non-portapacks go for about ~$140.
I have had no issues with my aliexpress hackrf with portapack (Not all are good though, gotta do the research)
Why would I spend $99 when I can get a cheapass DVB-T stick on Aliexpress, or a RTL.SDR stick?
Because your DVB-T stick is RX only, while a Yardstick 1 is both TX AND RX?
Has anyone measured the suppression of harmonics using this dongle. I have a hard time believing that the harmonic suppression is anyplace close to being under the legal limit.
The Yard Stick One most definitely is not the only, or even the best, receive and transmit capable SDR for around $100. It only works from 300 mhz to 928 mhz, and it’s even worse than that because it actually only works within a few discreet blocks of frequencies within that range! For basically the same price, you can buy a clone HackRF One (which is just as good as the original) and it can receive and transmit on every frequency from 1 MHz to 6 GHz.
“…the price is right at about $99.” For what it is – waaaay too ‘spevsive IMO.
add meshtastic or reticulum
Please be kind and respectful to help make the comments section excellent. (Comment Policy)