NURDspace Project | |
---|---|
Participants | |
Skills | |
Status | |
Niche | |
Purpose | |
Tool | |
Location | |
Cost | |
Tool category |
{{{Name}}}Property "Tool Name" (as page type) with input value "{{{Name}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process. Property "Tool Image" (as page type) with input value "File:{{{Picture}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process. {{{Picture}}} {{#if:{{{Tool}}} | [[Tool Owner::SmokeyD | }} {{#if:{{{Tool}}} | [[Tool Cost::{{{Cost}}} | }}
I am building a Radio Spectrum Analyzer which measures signal strenght in the 2.4GHz band, using a CYWM6935 module and Atmega 328 MCU. I want to set it up in several steps:
Atmega328 on a breadboard
There are quite a few good "Arduino on a breadboard" tutorials out there. I suggest you take a look at
These were the components I bought (or borrowerd here on the nurdpspace):
- 1x Atmega328 MCU with Arduinno bootloader
- 3x 2.2 KOhm resistor
- 3x 1 KOhm resistor
- 2x 10 KOhm resistor
- 1x reset switch
- 1x red LED
- 4x jumpers
- 2x 18pF ceramic disc capacitors
- 1x 16MHz crystal oscillator
- 1x CYWM6935 wireless USB radio module
- Any breadboard. I bought a small one since I thought I would have plenty of space, but I was mistaken, and would recommend a large one. The larger the better really.
- FTDI cable
- A plate full of spaghetti. Aka: solid core red wire
- A few cases of beer
- A few pizzas
The first step will describe the basic setup of an arduino on a breadboard (or rather an atmega328 on a breadboard). For all you who have done this a million times arelady, just skip ahead.
Connecting the CYWM6935
To connect the CYWM6935 module to the breadboard, I created my own cable. I found a 2.5" Harddisk adaptor plug, which fortunately has pins on one side with the spacing for my flat cables like floppydisk cables, and on the other side has holes with a smaller spacing, exactly the size of the CYWM6935. Using this plug, a flatdable, some simple PCB and a few jumpers, I soldered something together that allowed me to connect the radio module to the breadboard.
I split a floppy cable that was lying around, so it had 10 wires left. On one side I left the connector in place. On the other side I cut off the connector and stripped the wires. I soldered each of these free wires to a PCB. On each of the lanes for these wires, a jumper pin was soldered, so I ended up with a 10-pin connector which fits the breadboard. There is one thing you should know about this connection (and could be done better). If you connect the wires this was, the order of the pins on the breadboard correspond to the CYWM6935 pins in a weird order. Their order is: 2,1,4,3,6,5,8,7,10,9. If you want the pins on the breadboard side, to correspond to the CYWMUSB6935 module in the correct order, you should twist around each pair of wires. This is how the cable looks now.
Connecting this plug to it, you can plug in the CYWM6935 module directly.
Programming the Atmega328
Creating desktop software for visualization
I chose to create a Java GUI using JFreeChart to read the data from the Arduino using an FTDI cable on a serial port (or actually USB) and visualize that in the GUI. The program can be found on Github.
This is a screenshot from the app. It allows you to reset the maxima by clicking the button.