![]() | ||
The AVR Butterfly, about the size of a credit card, is an inexpensive self-contained, battery-powered single-board microcontroller. It runs the ATMEL AVR ATmega169PV Microcontroller IC. The board includes a liquid crystal display (LCD), joystick, speaker, serial port, real-time clock (RTC), internal flash memory, and sensors for temperature and voltage. The board is the size of a name tag and has a clothing pin on back so it can be worn as such after the user enters their name onto the LCD.
Contents
The AVR Butterfly comes preloaded with software that demonstrates many of the capabilities of the AVR microcontrollers. Factory firmware can scroll your name, display the sensor readings, and show the time. The AVR Butterfly also has a piezo speaker that can reproduce sounds and music.
LCD
The AVRButterfly demonstrates LCD driving by running a 14 segment, six alpha-numeric character display. However, the LCD interface consumes many of the I/O pins.
CPU & Speed
The Butterfly's ATmega 169 CPU is capable of speeds up to 8 MHz, however it is factory set by software to 2 MHz to preserve the button battery life. There are free replacement bootloaders available that will launch programs at 1, 2, 4 or 8 MHz speeds. Alternatively, this may be accomplished by changing the CPU prescaler in the application code.
Features
Software
The Butterfly comes preloaded with software that demonstrates many features of the ATmega169, including reading of the ambient light level and temperature and playback of musical notes. The device has a clothing-pin attached to the back, so it may be worn as a nametag — the "name" may be entered via the joystick or over the RS232 port, and will scroll across the LCD.
Reprogramming
The Butterfly can be freely reprogrammed using the same toolchains as for many other AVR controllers, for example using the Atmel AVR assembly language or the free integrated development environment (IDE) Atmel Studio for programming in C.
A pre-installed bootloader program allows the board to be re-programmed with a standard RS-232 serial port (requiring no special hardware). The board also has ISP and JTAG ports for in-circuit programming and debugging. All of these interfaces are implemented only as open soldering points, so the addition of some hardware is necessary to make them usable.
Butterfly projects
Many fully usable projects have been built using the Butterfly as a base platform, often with few or no additional parts: