A simple way of adding wireless communication to your electronics projects is by using
wireless USB modules by Cypress. These 2.4 GHz tranceiver (both TX&RX on each module) modules have very low power consumption, over 50m range (over 200m with non-PCB antenna) and cost $10 in quantities of 1 (one). Cypress also offer samples of all their wireless products so you can test them out before you buy. I will show how to interface the
CYWM6934 and
CYWM6935 modules (they are pin compatible and
interchangeable, just different range) (it should work with the CYWM6935PAEC aswell since it's just a CYWM6935 with a power amplifier) with a
Atmel AVR mega8
microcontroller.
The modules consists of a wireless
transceiver (CYWUSB6934 or CYWUSB6935), a PCB antenna, some passive components, a crystal and a pin header for connecting to the module. Communication between the
transceiver and the
AVR is done via
SPI, which the
AVR has hardware support for. The only components needed besides the
AVR and the module is +5V and +3.3V power supplies. I used L7805CV for +5V and
LM317T for +3.3V (better to use a dedicated 3.3V regulator, but couldn't find one on short notice).
To have something fun to send over the wireless link I connected a
Dallas DS1820 temperature sensor (also available as samples) to the transmitting side (any DS18X20 sensor works, DS1820, DS18S20 and DS18B20). To read the temperature sensor I used a
collection of code from Martin Thomas. I also used some USART code from
Jaakko Ala-Paavola. The following photo shows the first test setup with two
CYWM6934 connected to one
AVR mega8 each.

After initial testing I moved the module with the temperature sensor to a separate board for range testing. Pinouts for the modules can be found in their datasheets and pin connections to the AVR can be found in the source code (wireless_tx.c and wireless_rx.c).
My code for interacting with the wireless module is available on
Google code:
http://code.google.com/p/cywusbHave fun!