No content found

A little background: I’ve designed what is, among other things, a little tiny VHF radio modem for goTenna, a Brooklyn hardware startup. It’s a very demanding design, with tight limits on battery life, size, shape, range, power — everything you can think of is at the edge of what can be done. The point of goTenna is that you can pair the device with your smartphone so you can send short-burst communications (e.g. text messages, geo-locations) smartphone-to-smartphone (via goTenna, of course) without ever having to plug into central connectivity. Yep, that’s right: totally off-grid, 100% decentralized communications using the phone you already have on you all the time! (And goTenna goes on pre-order today: learn more about goTenna and buy a pair for $149.99 here!) In the process I’ve learned a lot of new techniques. I hope to share them with you, budding RF engineer! Today, we discuss measuring a radio’s sensitivity.

In any radio link, range is determined by two simple factors — transmit power and sensitivity. The better each is, the better the range. Both are measured in dBm, and changing either one has, per dBm, approximately the same effect. A 15 dBm improvement in transmit power is going to achieve the same range improvements as a 15 dBm improvement in receive sensitivity. So, when we’ve exhausted any improvements we can make by increasing transmit power the time comes to improve sensitivity.

To maximize and tweak our device we need to be able to measure the effect of those tweaks. What we did was create a BER (bit error rate) test. First we created a fixed pseudorandom sequence that was the same in both our transmitter and our receiver. When this signal is strong, the receiver will match up the incoming bits with its own internal copy of the sequence. If they all match the error reports back as zero. With a weaker signal the number of instances of bits not matching up increases, and so then does the BER number. In other words, BER is the number of error bits divided by the total number of bits transmitted. As long as the BER is under a threshold – in our case 1% – we know that the link is good, and whatever numbers we’re getting at that point are the numbers that characterize the equipment under test.

Measuring extremely low power signals is not easy. Our target sensitivity of -123dBm is one hundredth of a femtowatt. That’s absurdly little energy! While we can observe that with our test equipment, the numbers get more and more inaccurate as we read lower power levels. Instead what we will do is accurately measure the power at the transmitter directly and reduce it with a high quality attenuator. We subtract the attenuator value (as read from the dial) from our known output power, and the resulting value in dBm is presumed to be what’s getting to the receiver. The only error is in the attenuator itself, usually about one or two dB.


figure 0, a schematic of our setup

How about an example. Our transmitter runs at 32dBm. If we attach one end of my attenuator to the transmitter and I set my attenuator to -155dB, the power coming out the other end will be -123dBm. If the receiver reports a BER of better than 1%, then I can say that we have achieved our goal of -123dBm sensitivity. This example is an actual result we got in the lab.

Great! Looking good! We’re all geniuses. If it’s working so well, let’s try cranking that attenuator even more. At -133, still zero BER. Now -160, BER of 0. WOW! -180, still zero BER. I must be some kind of super genius RF engineer who discovered as yet unknown super sensitive circuitry! Now they can use cell phones on the ISS, all because of my amazing skills! I want my NOBEL PRIZE!

Ha ha NO.


figure 1, the setup without a box, and the analyzer in view showing stray signal


It’s stray energy tainting the measurement. In our test setup we replaced the antenna with a shielded coaxial cable. That cable connects to the attenuator, and then more cable goes to the receiver. In theory, all of the radio power should stay within the attenuator and the cables. In reality a good amount comes out of the other RF components on the transmitting device. In normal operation, the stray energy is so weak it’s not worth worrying about, as it’s overwhelmed by the energy coming from the antenna. But in our test situation, stray energy is more than enough to energize the receiving device and create false results.

We need to reduce the leaked power to lower than the levels measurable by our receiver. There’s two ways to do this; get really far away from the source of stray energy, or block the stray energy with some kind of shielding. Getting really far away is not practical in the lab. At least not in Brooklyn! So we’ll be using the “block it” option.


figure 2, the box


Imagine you’re trying to make a totally dark room. You’d seal off all the corners, and even better would make it so that those corners were intrinsically light tight. It’s mostly the same for radio waves. Just make a nice solid metal box and make sure that the seams are tightly mated and electrically connected. For a more complete seal add a flange to the outer part of the lid of your box, kind of like the lid on a heavy pot. The overlapping metal creates a tortuous path for the rf, making it harder to escape. That combined with lots of good clean metal contact makes a volume that is impervious to RF.


figure 3, coax connector on the lid


Now pop a little hole in the top and screw in a coaxial cable connector that allows tight shielding connection to the lid of our box. Place the transmitter in this box, connect it to the through connector, and close it up. Clunk! The stray power drops away completely, leaving us with a nice quiet environment in which to make some REAL measurements.


figure 4, a flat line on the analyzer, all is now well


Here’s the proof! Now there’s no sign of any stray signal while executing a test. Our numbers are now (probably) accurate! Hooray! Maybe! Probably! I’m going on a limb and hooraying.


Raphael Abrams

Raphael Abrams

Raphael Abrams is the lead hardware engineer at goTenna. He is also a co-founder of Brooklyn hardware hackspace, NYC Resistor. He has built everything from robots to lasers to… goTenna.

  • HTTP/1.1 418: Teapot

    what frequencies does the gotenna work over?

    • Molly

      goTenna is currently operating on VHF frequencies, specifically the 151-154Mhz range!

      • Kirk Davis

        What sort of modulation are you using?

        • Molly

          frequency modulation

          • Kirk Davis

            I ask because I’m curious if something like Xbee or something that is compatible with other stuff out there. In any case I added myself to the dev list. It looks like something that would be fun to play with.

        • Raphael Abrams

          Two level FSK, with gaussian filtering. When the signal is strong, the device will bump up to 4FSK for faster transmissions.

  • punknubbins

    First off let me say I am really excited about your product. But I fear that if I buy in these great little devices will end up as the most expensive pieces of hardware in my box of toys I never use. And it is a shame as I am in a rural area with pretty spotty cell coverage and this seems like a pretty great idea.

    The low bandwidth/extended range is perfect for so many things. But relying on the off chance that you wander within range of another goTenna user with connectivity seems pretty impractical at your price point. Include in that the fact that it tethers via Bluetooth and requires an app and now it becomes even less useful.

    Even at your discounted price point and selling the units in pairs. I am not sure if the market saturation would be there to support using your device in my rural area. If I pick up a pair the second unit is likely to be tether to my wife’s phone, which is likely to be within shouting range whenever we are out of cell signal range. So unless a random person “nearby” also picked up a pair I am out of luck.

    So Please, please, please, come out with a couple of lower cost options. One, a cheap base station. Throw all your miniaturization and battery restrictions out the window and make a base station that I can throw on my wired network so my area always has service. You would only need a few of these in an area to provide reliable relay services to tons of mobile users. And two, a USB version that I can attach to a raspberry pi, or other similar micro computer, with a good API so I can get my low powered sensor/control devices the ability to send/receive messages.

    I submitted the same request through the goTenna contact email. But I figured this was a more direct way of getting someone to read the suggestion. Sorry if my rant is only tangentially related to your great write up and your exceptional work.

    • Toronto

      Can you explain a little further what you are looking for.. I’m a wireless engineer. You can reach me at gmail…. Adnani @

  • massinissa

    what is the modem that is used for the two way radio communication?

    • Raphael Abrams

      We’re using a high quality commodity transceiver chip. Also a power amp for transmission, since none of the txrx chips available can put out two watts.