Rob and I have recently been talking about doing some wireless projects. A friend loaned us a Cypress CYM6935 module which is an evaluation module for the CYWUSB6935 chip and today we attempted to hook it up. We chose an Arduino board simply for convenience though connecting the module to it actually took the bulk of our time today since the 2mm pitch pin headers on the module won’t fit into a breadboard. Also, the Arduino runs at 5V and the Cypress chip can’t tolerate voltages that high so we had to drop the 5V signals from the Arduino down to 3.3V. Fortunately I had a Futurlec 5V to 3.3V level shifter board on hand so that problem was easily solved.
Once we got the module wired into the Arduino we had to figure out how to communicate with it. Thankfully, that work has largely been done already and we borrowed code written by Lars Englund (available here) to test the communications with the chip. This code was written for an ATMega8 so a few of the port definitions needed to be changed to make it run on the Arduino’s ATMega168, but this was fairly painless.
It should be noted to avoid possible confusion that, while we used the Arduino board, we did not use the Arduino programming environment to compile and run Lars’s code. His code is not compatible with the Arduino framework and would require significant porting. (this is not a criticism of the code but rather a disclaimer intended for those who may find this post. It’s not commonly understood that the Arduino hardware is perfectly happy functioning without its development environment).
Anyways, once we got the code to compile and talk back to us via the USART and once we got the Cypress module wired up to the board, we were pretty much done. Much to our surprise the software found the chip and was able to talk to it on the first try. Honestly, we had expected to be chasing stupid wiring mistakes for another few hours so this was a pleasant shock.
That’s pretty much where we left it. We got the software to recognize the chip and talk to it and we called it a productive day. Now what’s left to do is get it to scan the wireless spectrum and send that data back to the host computer for analysis and display.