Arduino 2.4 GHz Spectrum Analyser (2024)

August 2014

Arduino 2.4 GHz Spectrum Analyser (1)

This article describes a simple spectrum analyser for the 2.4 to 2.5 GHz Wi-Fi band. It's based on theCypress CYWM6935 Wireless Radio Module.Although the manufacturer doesn't recommend it for new commercial projects, it is still widely available fromeBay suppliers and Farnell here in the UK.

The module has 1 MHz channel spacing which is a bit 'coarse' for a full-blownspectrum analyser but it's good enough for this project's intended purpose, namely as a quick diagnostic tool to checkfor interference causing problems to a router's Wi-Fi signal. A spectrum analyser differs from the Wi-Fi "sniffer"type Apps available for Android devices because, unlike those Apps, a spectrum analyser will plot everything it receives - not just Wi-Fi signals - without attempting to read or "decode" them. A spectrum analyser is only interested in the relative strength of the received signal, not in any data the signal may be carrying.

Although there are other radio modules for the Wi-Fi band, I chose the Cypress CYWM6935 because I wanted a small, portablestand-alone device using its own LCD display. The CYWM6935 module is easily availalable and its 1 MHz-wide steps means there are exactly 84steps in the Wi-Fi band: 2400 MHz to 2483 MHz. The Nokia 5110 LCD display is 84 pixels wide so it'sa perfect match with a horizontal scale of 1 pixel per MHz.

Breadboarding the CYWM6935 Module

One slight difficulty with the CYWM6935 Module is that it's fitted with a 6 way x 2 row 2mm header which makes it difficultto breadboard. The following photos may be useful for anyone who wants to make their own 2mm to 0.1" adapter. I pushed theheader pins through their plastic carrier until they were almost flush on the top side. The 2mm socket fits comfortablybetween the header pin's standard 0.3" DIL spacing.

Arduino 2.4 GHz Spectrum Analyser (2) Arduino 2.4 GHz Spectrum Analyser (3) Arduino 2.4 GHz Spectrum Analyser (4)

Circuit Diagram of the CYWM6935-based Spectrum Analyser

Arduino 2.4 GHz Spectrum Analyser (5)

The radio module uses an SPI interface to access its registers so Arduino pins D13, D12 and D11 have to be used for the hardwareSPI interface - SCK, MISO and MOSI respectively. It's convenient for the PCB layout to use adjacent Arduino pins (D10, D9 and D8)for the radio's active low inputs: Power Down (nPD), Select Signal (nSS) and nRESET.

In practice, the radio module's nPDpin could just be tied to Vcc though a 10K resistor but I chose to connect it to an Arduino output in case I wanted to experiment further with the module's POWER_DOWN mode.

I had intended to power down the Arduino by putting it in POWER_DOWN sleep mode which wouldalso power down the display and the radio. Unfortunately, I couldn't get the radio module's power-down current less 0.45mA (despitethe datasheet claiming <1µA), so I settled for a conventional power on/off slide switch instead.

The function of each of the radio's pins is shown in Table 1 in the Radio Module's documentation. A full list of all the CYWM6935 chip's registers is shown in theCYWUSB6935 Chip's Datasheet.

I connected the Nokia 5110 84x48 LCD display to the ATmega328's analogue pins, configured as digital outputs, purely for convenience in laying out theprinted circuit board as the project doesn't need any analogue inputs.

The MODE push button, connected to Arduino input D7, simply changes the displayed scale from 2.4 ~ 2.483 GHz toWi-Fi channel numbers 1 ~ 14. It also switches on or off the option to display the peak signal strength of each 1 MHzRF channel in addition to the instantaneous values. It's purely 'cosmetic' in the current design and doesn't change the receiver's measurement parameters at all. There's not a lot more you can display in the limited space on the Nokia 5110's 84x48 screen.

I powered the circuit with an AA-sized 3.7v rechargeable lithium battery nominally rated at 1000 mAh. As a fully-charged lithium battery is 4.2v and the CYWM6935 radio module is, reputedly, not very tolerantof excessive voltage, I included a 3.3v LDO regulator to power the entire circuit. The MCP1702-330E regulator has a very low quiescent current (typically 1.6 µA) with a dropout voltage around 25mV at the sort of current our circuit takes (about 50mA including the LCD backlight), so very little of the battery's charge is wasted by using the regulator.

The Printed Circuit Board

The Nokia 5110 Display

Note that the pinout of the Nokia 5110 displays varies depending on the supplier so the PCB may need some modification. Most of the pins are connected to ATmega328 outputs so some manoeuvring is possible by re-defining the pins in the Arduino sketch.Vcc, GND and LIGHT's 270R series resistor are the only 'hard-wired' connections for which the PCB would need modifying.

The type of display can be distinguished by looking at the tracks on the back of the board. I designed the PCB for the type of display shown on the left, below. I'd suggest getting the display before designing the PCB.

Arduino 2.4 GHz Spectrum Analyser (6) Arduino 2.4 GHz Spectrum Analyser (7)

I designed the PCB layout using Circuit Wizard. You can download the Circuit Wizard layout here.Or a pdf version here.

(Thebreadboard adapter layout can be downloaded here.)

Arduino 2.4 GHz Spectrum Analyser (8)

I used the laser printer etch resist method to make the printedcircuit board. Most of the holes are 0.8mm diameter except for the socket for the CYWM6935 radio module, which are 0.5mmdiameter.

It's best to begin by soldering in the four wire links and the two resisors, followed by the various sockets and the rest of the components. Note that the wire link underneath the ATmega328 fits in a convenient space between the PCBand the socket, so the socket does fit flush to the board.

Arduino 2.4 GHz Spectrum Analyser (9)Arduino 2.4 GHz Spectrum Analyser (10)Arduino 2.4 GHz Spectrum Analyser (11)

The socket for the radio module has 2mm pin spacing so needs a small (1mm) bit on the soldering iron and a reasonably steady hand.
The two tactile buttons are soldered to a small "daughter board" which is mounted to the main board copper side up.

Arduino 2.4 GHz Spectrum Analyser (12)Arduino 2.4 GHz Spectrum Analyser (13)

Assembly

Arduino 2.4 GHz Spectrum Analyser (14)Arduino 2.4 GHz Spectrum Analyser (15)

Unusual Components

The following table shows sources for the less common components.
Cypress CYWM6935 Wireless Radio ModuleFarnell; eBay
6 way x 2 row 2mm Female header socketToby Electronics
Nokia 5110 LCDDeal Extreme; eBay
ATMEL ATmega328 with Arduino Uno bootloadereBay, HobbyTronics, Hobby Components, etc

Details of programming the ATmega328 microcontroller are shown on Page 2...

Back to Index |Page 1 |Page 2
Arduino 2.4 GHz Spectrum Analyser (2024)

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Francesca Jacobs Ret

Last Updated:

Views: 5695

Rating: 4.8 / 5 (68 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Francesca Jacobs Ret

Birthday: 1996-12-09

Address: Apt. 141 1406 Mitch Summit, New Teganshire, UT 82655-0699

Phone: +2296092334654

Job: Technology Architect

Hobby: Snowboarding, Scouting, Foreign language learning, Dowsing, Baton twirling, Sculpting, Cabaret

Introduction: My name is Francesca Jacobs Ret, I am a innocent, super, beautiful, charming, lucky, gentle, clever person who loves writing and wants to share my knowledge and understanding with you.