As part of the quadracopter telemetry system I want to be able to wirelessly send flight data back to the ground station. The obvious choice would be some sort of wireless module however this solution cannot be integrated as tightly as an RF transceiver chip and some code. Then I came across the Zigduino that is a single chip processor complete with RF front end. The cost is a little high at $12 for the chip but the entire RF path is complete and I just need to layout the chip and antenna, along with a new piece of code to allow me to control the board using I2C.
The critical issue with this design is the antenna and balun circuit. Typically the chip vendor gives a reference design so this problem can be managed. For RF circuits a thinner PCB is desirable because it allows for narrower trace when impedance matching. Using the impedance calculator at http://www1.sphere.ne.jp/i-lab/ilab/tool/ms_line_e.htm and a board thickness of 0.8mm we get a track width of 1.5mm for a 50ohm match and 0.325mm for the 100ohm traces. The choice of either a PCB or chip antenna dictates the PCB size so I went with a chip antenna which is smaller and provides good antenna gain which translates into longer range communication. To match the antenna impedance to the chip I selected a matching balun rather than go with discrete SMT inductors and capacitors. The balun is small but easier to place than the 0402 discrete components. The AVR chip provides an impedance of 100ohms on its differential outputs while the antenna requires a 50ohm single ended impedance match. The balun acts as an RF network that changes the signal impedance between its input and output (in fact it is a bi-directional device). Without the impedance matching network the RF reflections would severely degrade the radio output to the point where it would not work.
The ground station consists of a USB to CDC connection to the AVR RF chip. For improved signal strength I will probably use a rubber duck antenna. The board connects to the host computer using a USB mini B connector that allows me to position the radio optimally for range testing.
I have just sent the PCB design off to be made at SeeedStudio. The boards will arrive in 3 weeks. In the interim I will order components and start coding the Zigduino changes I require for the quadracopter I2C interface. The AVR USB chip on the schematic has been added to act as a composite device providing both a serial interface and an AVR programmer that can be used to flash the AVR RF chip. I built this on top of the Gecko USB stack I developed. This solution allows me to download code to the AVR RF chip and maintain a serial CDC link at the same time. Great for prototyping.
As a final note in the longer term I would like to replace the AVR RF chip with a lower cost transceiver ~$3 that could be used with any processor. This would allow for a lower cost design and would enable me to match the RF circuit up to an ARM or AVR processor. Licence issues and proprietary BitCloud Zigbee stacks will be the biggest issue.