Thread Tools
Nov 13, 2016, 08:17 AM
Registered User
Thread OP

Very cheap Arduino-based 2.4 GHz band monitor

Using about $10 of components bought from eBay, you can build one of these:

Cheap Arduino 2.4 GHz band scanner - OLED version (3 min 4 sec)

It uses a 0.96-inch 128x64 I2C oled graphics display module, and an nRF24L01+ module. The displays are about $5, the RF modules less than a dollar each if bought in fours or fives. Arduino Pro Minis are about $3.

Arduino sketch is attached. You can see circuit diagram here: Mode Zero Forum Search on that forum for other threads about this project.
Last edited by ceptimus; Jul 29, 2018 at 07:34 AM.
Sign up now
to remove ads between posts
Nov 13, 2016, 04:22 PM
Professional amature

Thanks for sharing this!!
Nov 14, 2016, 02:45 AM
Registered User

I know what my next build is going to be!
Nov 14, 2016, 05:21 AM
Registered User
How you see FH transmissions on this tool ?
And how this helps for our radios to avoid the congested parts of the band ?
Nov 14, 2016, 05:40 AM
Registered User
Thread OP
Hi renatoa. With a frequency hopping or spread spectrum signal, you can just see what parts of the band the signal is occupying and how the transmission power is distributed through the band.

It doesn't help our radios avoid congested parts - most of the modern systems are smart enough to do that themselves (or they work in such a way that a sufficient signal can still get through even when the band is congested).

Really it's just for interest - it's not meant to be a super-useful tool. It's interesting to try different transmitters and different transmitter antennas and see how far away from the monitor they need to get before the monitor shows that it's not 'hearing' the signal so well. It's interesting to see how much interference your microwave oven (which works at 2.45 GHz, right in the middle of the band) generates. It's good for demonstrating to other flyers why the DSM2 system is inferior to most of the others. It's just a fun thing to build and play with - if you want a proper tool for monitoring and analysing activity on the 2.4GHz band in detail, you need something better (and much more expensive) than this.
Nov 14, 2016, 05:48 AM
Registered User
crazy4volvo's Avatar
Originally Posted by renatoa
How you see FH transmissions on this tool ?
There's a description @ singlechannellersreunited: "The module only actually gives one bit of 'signal strength' information - signal present or not - so the level my sketch displays is done by taking a rolling average of lots of scans. It works okay for most 2.4 GHz signals as the usual modulation schemes used on this band means that the signals at each frequency slot come and go - the displayed signal is really not related to power but the fraction of time that the nRF24L01 module sees a signal at that frequency."
And how this helps for our radios to avoid the congested parts of the band ?
It probably helps to make up your mind - to fly or not to fly .
Nov 14, 2016, 08:26 AM
Registered User
indeed, if too many powerful wifi routers around
Asking because you should be careful when flying a wifi controlled platform, as Parrot Bebop, in a very congested RC environment, like a RC meeting with more than 10 radios on in 20 meters radius... mine was been sedated in that environment, just takeoff and signal lost 20 meters away, then triggered RTH. So wondering if such tool could help... or what other tool...
Nov 14, 2016, 08:46 AM
Registered User
Thread OP
You can download a free app for your smartphone that will display how WiFi is using the band - but these apps only understand and display actual WiFi signals - every one that I've seen ignores the sort of signals you get from normal model transmitters.

This little gadget will give you some indication of how the band is being used by all 2.4 GHz devices (WIFi included) - but most model transmitters try to use most of the band so you'd probably get just as good a guess at the likely impact on your WiFi model by simply counting how many model transmitters are switched on.
Dec 01, 2016, 04:31 PM
Phil_G's Avatar
I made one using ceptimus's sketch on a Nano, works great!
Here it is with a Nikko Velocitrax toy controller:
Dec 02, 2016, 01:07 PM
Registered User


This is something I have on my build list and have been looking up on and off for the last year or so, I have all the parts to build a CC2500 based system that will give much better results than the 1 bit nRF24L01 as you get a proper RSS indication.

This is not a new idea and there are already several implementation, I will post some of the links I have collected.

This is about the best project Ive seen although he didn't release any code but its shows you what can be achieved and its relevance to our hobby.

Here is an almost ready to go project I recently found

There is lots of good info and links here, especially the article, I think I have the code for that some where

There are several links on the TI site but search for them something like or

On the TI site there is some tooling SW (RFStudio) you can download, that will produce a header file with all the chip configuration in it, this is a must have if you don't want to spend days with your head in the datasheet.

There is also a spectrum analyzer for 433 Mhz on the openLRSng which runs on an RFMB22 which I have tested and runs very well, you can look that up else where.

There are many other 2.4Ghz version too

If I get some time over Christmas I will try and make a start, Im certainly following what you do and will contribute if I get time.

... Simon
Last edited by Simon Castle; Dec 02, 2016 at 03:00 PM.
Dec 02, 2016, 02:36 PM
Registered User
Thread OP
That's interesting Simon. There are some CC2500 modules on eBay for about 1.50 each. I'll order some and see if I can adapt my sketch to use those instead of the nRF24L01+ chip - I only started with the nRF24L01+ because I already had a couple of them hanging around doing nothing.
Dec 20, 2016, 08:34 PM
Registered User
Thread OP
CC2500 modules have arrived. I'll take a look at them over the Christmas holiday.
Dec 21, 2016, 08:04 PM
Registered User

My Start

OK so I made a start just to test the HW.

I'm using a pro-mini so that I can power it at 3.3V from the USB/serial adapter and not bother with any level shifting (YES I know I'm overclocking it at 16Mhz, please don't preach)

Any how I just cobbled the code together to see how it works, in the attachment I managed to catch my DSM2 transmitter with 2 channels close together as its only showing the first 84 out of 205 spread over the range of the chip as taken from the Spectrum example I had kicking around from somewhere.

I have one of those 1.3" OLeds in the post so will use that in the end, rather than this 84x48 Nokia display

I want to have two modes of operation, the first as a regular spectrum analyser with the maximum number of channels spread over the entire working range and the second mode similar to the FlyElectric project where its configure for a 1Mhz channel spacing mapping on to our (84) RC Transmitter channels.

Have fun.

.... Simon
Last edited by Simon Castle; Dec 23, 2016 at 07:01 AM.
Dec 23, 2016, 04:00 AM
srnet's Avatar
Originally Posted by Simon Castle
I'm using a pro-mini so that I can power it at 3.3V from the USB/serial adapter and not bother with any level shifting (YES I know I'm overclocking it at 16Mhz, please don't preach)
No need to overclock them, just use the 3.3V version of the Pro Mini, they run at 8Mhz.

The 3.3V ones are around 1.50 delivered on eBay.
Dec 24, 2016, 06:41 PM
Registered User
Yep Srnet you are absolutely right, its just that I dont have an 8 Meg one although I should just get one in stock for such occasions, especially as they almost come free in packs of cornflakes these days.

Read the DOCs again and downloaded the latest RFStudio, and started playing with that.
Updated a couple of templates for the register export to suit my taste.

Just in time the OLED came today so I've put that to work in a little example, I got an I2c version but its based around a SH1106 chip which requires u8glib, which was all a bit of messing around before I could plot a graph. I chose this version because it was cheap (possibly a mistake) and I didn't want to share the SPI bus with the cc2500.

It looks like the best way to configure the chip is with a 333.333 KHz channel separation, that way you can scale the whole 2.4g range over the 256 channels. By taking every 1/3rd channel you can then get the 1MHz channels as used by DSM2 etc.

You can actually set the base channel to 2399 so that the 4th channel is then at 2400 allowing to scan a little outside the range.

... Simon
Last edited by Simon Castle; Dec 24, 2016 at 06:52 PM.

Quick Reply

Thread Tools