Over-The-Air Firmware
Introduction
This pages outlines the details of the software running on the master receiver/transmitter “backpack” as well as all of the remote sensors. The software is composed of a common library as well as individual firmware modules.
The crucial code aspects are further automatically unit tested by compiling them directly with GCC on the host computer (only verified to work under Linux but should work on Cygwin also).
Follow the following links to the individual pieces:
Further, there are two initial sets of sensor/remote device firmwares implemented (links to code):
Getting the Software on the Chip
As outlined in the hardware section, a lot of the devices are based on cheap small attiny2313 microcontrollers. This page will go into detail about the firmware framework as well as how to build your own controller firmware, upload it, run it.
Loading the firmware onto the controllers isn’t quite as easy as uploading it to an Arduino via USB, but it’s not rocket science either. I recommend the following resources to get started
- A few attiny2313’s 20Mhz (Mouser, Sparkfun). They’re $2.50 each, get a few of them.
- A USB-based programmer for the attiny’s. I use the USBtinyISP from ladyada.net and love it. It’s runs about $25.
- A breadboard, a few LEDs, resistors (1k, 10k, 100k for starters), NPN transitors (e.g. 3904’s)
I recommend LadyAda’s tutorials on how to use the USBtinyISP to program the chips.
You will need a development environment also. This can either be Windows or Linux (I run Ubuntu and everything’s basically quickly installed via packages). Again, check out LadyAda’s pages for details on how to set it up.
(*_cmd_handler)(struct Command *)
Hi,
I have been looking @ your Project, and think it has great potential..
Please can you tell me how I can use the backpack as RF Transceivers for the Arduino?
I don’t require the sensor aspects of this project but use if for commands to and from my Rover Unit!
Thanks
It’s been a while since I looked the code, but in principle it should be fairly straightforward to extend it to be a full transceiver. You might also simply want to look into XBees which would probably save you a lot of time..