I’ve started work on a prototype USB RF Transceiver dongle using the MRF49XA and an Atmel AT90USB series micro controller. Along with the change in hardware, I’ve made a change in the packet format as well. The old packet format was based on the MRF49XA sample code from Microchip, ported to the AVR.
The source code (still early) is available on GitHub. For now, it’s designed for use with the Atmel AT90USBKey (user’s guide). The schematic I used for connecting the USBKey to the transceiver is essentially a direct mapping of the attached schematic (below). The only real difference is that the Atmel chip is slightly different. Notice in the above image that almost all of the interface wires go to port B on the AVR. This proved rather convenient as it was easy to construct the wiring harness using rainbow ribbon cable, which I highly recommend. A little heat shrink tubing helped keep the wires from wiggling and breaking. There are complaints about the pin spacing used for these ports, because you can’t install standard .1″ headers. That is a bit of a disappointment, but it does work quite well with direct soldered wire. The only “stray” wire is for the interrupt request, which is installed on the wrong port in the image. On the schematic, it’s connected to pin C7, but for the USBKey it should be on pin E4.
It cannot be said how nice it is to ditch the dedicated programmer for the built-in AT90USB boot loader. Whenever you need to rev your code, just reset the controller while holding down the HWB button. You don’t even need to unplug the USB connector. The USB system will “re-enumerate” the device as a “DFU Programmer,” and you can simply download the program. Hit the reset button again and you’re back up & running!