I was looking around a few years back for a micro controller to play with and came across the Atmel AVR butterfly demo board. While it has now been around for several years it is still a very useful board for learning how "modern" micro controllers work. I was amazed to be honest to see that you could program it using C and loading your program can be done using a home mode serial cable for connecting to your serial port. There is a boatloader that enables you to load your application, rather than requiring a fancy development board.
While I purchase my butterfly from Radionincs(if my memory is correct) I see that Atmel are now selling them directly from their website. Considering all the hardware you get they are also really good value at $20. I really don't think you could buy the components cheaper.
The original Atmel released code has been ported by Martin Thomas to the open source avr-gcc. This version of the code was then extended by Brokentoaster to include code for a data logger. Brokentoaster's version of the Butterfly code is hosted on Sourceforge. It is this Sourceforge version of the AVR Butterfly code that I have used.
So my current project is to use the Butterfly as a datalogger for recording wind speed. Here is a gnuplot of wind speed and temperature using my avr butterfly. The wind speed is measured in mph and the temperature was the temperature in my attic.
The AVR Butterfly using the datalogger code can record, wind speed, temperature, light, and voltage. Via the ADC inputs you could add practically any sensor.
I used Brokentoasters version of Martin Thomas's port of the Butterfly code. Martin's version is here:
ReplyDeletehttp://siwawi.bauing.uni-kl.de/avr_projects/
1) download bf_gcc_20091217.zip
2) patch -p8 <butterfly_demo_patch_for_avg_gcc_4.7.0.diff
3) make
4) avr-objcopy -j .text -j .data -O ihex main.elf main.hex
5) reset Butterfly + push down joystick and run:
avrdude -c butterfly -P /dev/ttyUSB0 -p atmega169 -U flash:r:main.hex:i -v
You can also download the original AVR code from Atmel
http://www.atmel.com/tools/avrbutterfly.aspx
To put the Butterfly in bootloader mode you can select bootloader mode from the menu and press down the joystick as you run the avrdude command.
Alternatively you can reset the Butterfly(Bottom right pins connect and disconnect) and then press down the joystick as you run the avrdude command.