AVR Butterfly Evaluation Kit ...... User Guide

Table of Contents

Section 1 Introduction ...... 1-5 1.1 Resources Available on the AVR Butterfly Kit ...... 1-6

Section 2 How to Operate the Pre-programmed Application...... 1-7 2.1 Included Firmware ...... 1-7 2.2 Joystick Input ...... 1-8 2.3 Menu System ...... 1-9 2.4 Bootloader...... 1-11

Section 3 Using the AVR Butterfly ...... 1-15 3.1 Connectors...... 1-15 3.2 Programming the AVR Butterfly...... 1-15 3.3 JTAG...... 1-19 3.4 LCD Display ...... 1-20 3.5 Joystick ...... 1-20 3.6 Sensors...... 1-21 3.7 Connect to PC...... 1-23 3.8 USI ...... 1-24 3.9 External DataFlash ...... 1-25 3.10 Piezo element ...... 1-26 3.11 Battery...... 1-26

Section 4 Troubleshooting Guide ...... 1-27

Section 5 Technical Specifications ...... 1-29

Section 6 Technical Support...... 1-31

Section 7 Schematics ...... 1-33 7.1 Bill of Materials...... 1-40

iii AVR Butterfly User Guide

4271C–AVR–04/05 -iv AVR Butterfly User Guide

4271C–AVR–04/05 Section 1 Introduction

The AVR Butterfly evaluation kit is designed to demonstrate the benefits and key fea- tures of the AVR . It is a stand alone microprocessor module that can be used in numerous applications: ! The AVR architecture in general and the ATmega169 in particular ! Low power design ! The MLF package type ! Peripherals – LCD controller –Memories - Flash, EEPROM, SRAM, external DataFlash – Communication interfaces - UART, SPI, USI – Programming methods - Selfprogramming/ Bootloader, SPI, Parallel, JTAG – Analog to Digital Converter (ADC) –Timers/Counters - Real Time Clock (RTC) - Pulse Width Modulation (PWM) It also serve as a development kit for the ATmega169, and can be used as a module in other products.

Figure 1-1. AVR Butterfly

AVR Butterfly User Guide -5

4271C–AVR–04/05 1.1 Resources The following resources are available on the Butterfly kit. Available on the ! ATmega169 (MLF-package) AVR Butterfly Kit ! LCD-on-glass display with 120 segments, for demonstrating the ATmega169 LCD controller. ! Joystick, 4-directions with centre push, as user input ! Piezo element, to play sounds ! 32kHz Xtal for the RTC ! 4 Mbit DataFlash, for data storage ! RS-232 level-converter, for communicating with off-board units ! Negative Temperature Coefficient (NTC) thermistor, to measure temperature ! Light Dependent Resistor (LDR), to measure light intenisty ! 3V button cell battery (600mAh) to provide operating power ! JTAG emulation, for debugging ! USI-interface, for additional communication interface ! Supported by AVR Studio 4. ! Pre-programmed with a demonstration application, including bootloader ! No external hardware is required to reprogram the AVR Butterfly

The ATmega169 in the kit controls the external peripherals, and can also be used to do voltage readings from 0 to 5 volts. The kit can be reprogrammed a number of different ways including serial programming through the JTAG port. Most users will prefer to use the preloaded bootloader with AVR Studio to download new code.

For more information about the ATmega169, see the datasheet at www..com.

-6 AVR Butterfly User Guide

4271C–AVR–04/05 Section 2 How to Operate the Pre-programmed Application

The AVR Butterfly comes with a preprogrammed application. This section will go through the basics of this application. The firmware can be downloaded from the AVR Butterfly web-site, http://www.atmel.com/products/AVR/butterfly.

2.1 Included These modules are preprogrammed with the AVR Butterfly: Firmware ! Bootloader code ! Application code – State machine – Features included - Name-tag - Clock (date) - Temperature measurements - Light measurements - Voltage readings - Play tunes/melodies - Auto power save - Adjust LCD contrast – More functions can be added later on - Calculator - Reminder function - Alarm (daily alarms, kitchen timers, etc…) - Play melodies and displaying the text (Karaoke-function) - With the 4Mbit dataflash one can store large amount of data. (Some examples: AVR Info Bank (Basic of all AVR-parts); your local bus-table; melodies, etc.)

Note: The application can be upgraded without any external hardware, due to the inte- grated level-converter and the Self-programming feature.

AVR Butterfly User Guide -7

4271C–AVR–04/05 2.2 Joystick Input To operate the AVR Butterfly a joystick is used as user input. It operates in five direc- tions, including center-push, see Figure 2-1.

Figure 2-1. Joystick Input

Using the joystick one can move around in the menu shown in Figure 2-2, and edit val- ues, entering name, etc. Here are examples on how to enter your name.

2.2.1 Entering Your Name 1. Press the joystick up (“SCROLL UP”) to wake the AVR Butterfly. If “AVR BUT- Using the Joystick: TERFLY” is notscrolling over the display, press the joystick to the left (“EXIT SUB-MENU”) until it does. 2. Press the joystick down (“SCROLL DOWN”) three times, so the string “NAME” is displayed. 3. Press the joystick to the right (“ENTER SUB-MENU”). If this is the first time a name is entered, the string “ENTER NAME” will be displayed, otherwise the name already entered will be displayed and you have to press the joystick to the right (“ENTER SUB-MENU”) once more. 4. When “ENTER NAME” is displayed press center push (“ENTER”). If this is the first time you enter a name, the character “A” should be blinking in the right side in the display, otherwise the last character of the already entered name will blink. 5. Press the joystick up (“SCROLL UP”) or down (“SCROLL DOWN”) to get to the wanted character. Press the joystick to the right (“ENTER SUB-MENU”) to add a new character or press the joystick to the left (“EXIT SUB-MENU”) to remove a character. 6. When you have got all the characters, up to maximum 25, press center push (“ENTER”) to save this name. The name will now be displayed in the display. If the name is more than 6 characters long it will scroll over the display, otherwise it will be displayed static.

-8 AVR Butterfly User Guide

4271C–AVR–04/05 2.2.2 Entering Your Name 1. Connect a serial cable from the PC to the AVR Butterfly as described in Section Using a Terminal: 3.7 “Connect to PC”, Open a terminal on your PC (e.g. HyperTerminal) and con- figure the terminal to 19200 Baudrate, 8 Databits, none Parity and one stop bit. 2. Go through point 1, 2 and 3 above. 3. When the “ENTER NAME” is displayed press the joystick down (“SCROLL DOWN”), and “DOWNLOAD NAME” will be displayed 4. Press center push (“ENTER”) to activate the UART, and the text “WAITING FOR INPUT ON RS232” will be displayed. 5. Type your name in the terminal window on the PC (up to 25 characters) and save the name by pressing enter on your PC-keyboard. The name you typed should now be displayed in the AVR Butterfly display.

Note: The Auto Power Off feature is default enabled. It will turn off the LCD after default 30 minutes. This timeout can be changed or turned off. To wake the AVR Butterfly from SLEEP, press the joystick in the UP-position.

2.3 Menu System A menu system is established to be able to shift between the different modules in appli- cation in a efficient way.

AVR Butterfly User Guide -9

4271C–AVR–04/05 Figure 2-2. Application Menu

-10 AVR Butterfly User Guide

4271C–AVR–04/05 Figure 2-2 shows the menu system of the application that comes with the AVR Butterfly. The column to the left displays the main menu: “AVR Butterfly”, “Time”, “Music” etc… To shift between the alternatives in the menu, press the joystick UP or DOWN. To enter a sub-menu, press the joystick to the RIGHT. To exit a sub-menu, press the joystick to the LEFT. To enter/adjust a value, press ENTER. E.g. when “Adjust clock” appears in the LCD, press ENTER to enter the adjust function.

2.4 Bootloader The AVR Butterfly comes with a bootloader which uses the self-programming feature in the ATmega169. The bootloader combined with the integrated RS-232 level-converter makes it possible to upgrade the application without any external hardware. It is based on the Application Note AVR109: Self Programming AVR, but uses the new buffer load mode for more efficient data downloading. AVR Prog, which is included in AVR Studio4, is used as PC frontend. The data is transmitted through the RS-232 interface. Connect a serial-cable from the PC to the AVR Butterfly as described in Section 3.7 “Connect to PC”.

Figure 2-3. AVR Prog in AVRStudio4

2.4.1 Upgrade the A jump to the boot section can be done from the application, “Options>Boot- ATmega169 loader>Jump to Bootloader”, see Figure 2-2, or just reset the ATmega169 by shortcut pin 5 and 6 on J403 the ISP connector, (after a reset the ATmega169 will start in the boot section). See Figure 3-3 for the pinout of the ISP-connector. Nothing will be dis- played on the LCD while in boot section. Press and hold the joystick in the ENTER- modus while starting AVR Prog. When AVR Prog starts, release the joystick. Find the *.hex file you want to program with the “Browse” button, and press “Program”. See that “Erasing Device”, “Programing” and “Verifying” goes “OK”, this is done automatically. After upgrading the application, press the “Exit”-button in AVR Prog in order to leave programming mode in the ATmega169 bootloader.

AVR Butterfly User Guide -11

4271C–AVR–04/05 Figure 2-4. AVR Prog

2.4.2 Jump to the From the Boot Section a jump to the application is done by pressing the joystick in the Application Sector UP-position.

2.4.3 Fuses and Lock Bits For the firmware to operate correctly these fuses and lock bits on the ATmega169 are the only ones to be programmed:

Extended Fuse (0xFF) – None Fuse High Byte (0x98) – JTAGEN (JTAG Interface Enabled) – SPIEN (Serial Programming Enable) – BOOTSZ1 (1024 words Boot Size) –BOOTSZ0 – BOOTRST (Boot Reset vector Enabled)

-12 AVR Butterfly User Guide

4271C–AVR–04/05 Fuse Low Byte (0xE2) – SUT0 (65 ms Start-up Time) – CKSEL3 (Internal RC Oscillator) – CKSEL2 – CKSEL0 Lock Bit Byte (0xEF) – BLB11 (SPM is not allowed to write to the Boot Loader section)

Note: For all fuses and lock bits, “1” means unprogrammed and “0” means pro- grammed.Using the AVR Butterfly

AVR Butterfly User Guide -13

4271C–AVR–04/05 -14 AVR Butterfly User Guide

4271C–AVR–04/05 Section 3 Using the AVR Butterfly

This section describes in detail how to use the AVR Butterfly evaluation kit.

3.1 Connectors Some of the I/O-pins on the ATmega169 are available on the connectors of the AVR Butterfly. These connectors are for communication, programming and input to the ADC of the ATmega169.

Figure 3-1. Connectors

3.2 Programming the In addition to using the pre-programmed bootloader with AVR Studio, the ATmega169 AVR Butterfly on the AVR Butterfly can be programmed using SPI, High-voltage Parallel Programming and the JTAG interface. 3.2.1 In-System Programming

AVR Butterfly User Guide -15

4271C–AVR–04/05 Figure 3-2. In-System Programming

To program the ATmega169 using ISP Programming mode, connect a 6-wire cable between the ISP6PIN connector on the STK500 board and J403 the ISP connector on the AVR Butterfly as shown in Figure 3-2. This device can be programmed using the Serial Programming mode in the AVR Studio4 STK500 software. Instead of soldering in a ISP-header, one can make contact just by pressing the header to the footprint. Make sure that pin 1 on the STK500 match with pin 1 on the AVR Butterfly. See Figure 3-3 for the pinout of the ISP Connector.

Figure 3-3. ISP Connector, J403

1 2 PB3 VCC_EXT PB1 PB2 RST GND ISP

Notes: 1. More information about the STK500 can be found in the STK500 User Guide, which is available at the Atmel web site, www.atmel.com. See STK500 User Guide for information on how to use the STK500 front-end software for ISP Programming. 2. Do not use the AVRISP for In-System Programming, unless if the kit is pow- ered from an external power source.

-16 AVR Butterfly User Guide

4271C–AVR–04/05 3.2.2 High-voltage Parallel It is possible to program the ATmega169 through the High-voltage Parallel Program- Programming ming interface. However this requires to move two resistors on the PCB. High-voltage Parallel Programming is only meant to be used in the worst case scenario, where both SPI and the JTAG interface are disabled.

To make the parallel programming work, R203 must be placed where the R204 should be, and R404 must be placed where the R403 should be according to Figure 3-4. See the Assembly Drawing in the 7 Complete Schematics

Figure 3-4. Ohm Resistors

Connect RESET, BSEL2 and XTAL1 from the STK500 to respectively pin 6, pin 8 and pin 10 on the JTAG (J402) connector on the AVR Butterfly. See Figure 3-5. The JTAG connector must be mounted on the back side of the AVR Butterfly.

Figure 3-5. Reset, BSEL2 and XTAL1 cables

Connect PROG DATA and PROG CTRL from the STK500 to respectively PORTB and PORTD on the AVR Butterfly. Make sure that pin 1 on the STK500 connects to pin 1 on the AVR Butterfly.

AVR Butterfly User Guide -17

4271C–AVR–04/05 Figure 3-6. PORTB and PORTD

See the Schematic and the Assembly Drawing in the 7 Complete Schematics for further details. The device can now be programmed using the High-voltage Programming mode in AVR Studio STK500 software. During programming there will be some noise from the piezo element, and some flicker- ing on the LCD, this because PORTB and PORTD are connected to theses modules. Figure 3-7 shows the pinout for the I/O port headers PORT B and PORT D.

Figure 3-7. PORT B and PORT D

1 2 1 2 PB0 PB1 PD0 PD1 PB2 PB3 PD2 PD3 PB4 PB5 PD4 PD5 PB6 PB7 PD6 PD7 GND VCC_EXT GND VCC_EXT PORTB PORTD

Note: When the AVR Butterfly is configured in High-voltage Parallel Programming mode, the JTAG interface will not work, neither will the external crystal, causing the pre-programmed application that comes with the AVR Butterfly to not oper- ate correctly.

-18 AVR Butterfly User Guide

4271C–AVR–04/05 Note: More information about the STK500 can be found in the STK500 User Guide, which is available at the Atmel web site, www.atmel.com. See the STK500 User Guide for information on how to use the STK500 front-end software in High-volt- age Programming mode.

3.3 JTAG Figure 3-8 shows how to connect the JTAG ICE probe to the AVR Butterfly.

Figure 3-8. JTAG connector

Note: The JTAG connector must be mounted on the back-side of the AVR Butterfly. The JTAG connector is used for the ATmega169 built in JTAG interface. The pinout of the connector is shown in Figure 3-9 and is compliant with the pin out of the JTAG ICE available from Atmel. Connecting a JTAG ICE to this connector allows On-chip Debug- ging of the ATmega169. More information about the JTAG ICE and the On-chip Debugging can be found in the AVR JTAG ICE User Guide, which is available at the Atmel web site, www.atmel.com. Note: Pin 7, NC(VCC) is the Vsupply pin for the JTAG. This pin is not connected because the JTAG would draw power from the battery on the AVR Butterfly. Pin 8, NC(BS2) and the pin 10, GND(XTAL1) can be modified serve as the BS2 and XTAL1 pin during High-voltage Parallel Programming. For more details see 3.2.2 High- voltage Parallel Programming.

Figure 3-9. JTAG Connector

1 2 TCK GND TDO VCC TMS RST NC(VCC) NC(BS2) TDI GND(XTAL1) JTAG

Note: It is highly recommended to apply external power (3,1 – 4,5V), when using the JTAG to save the battery. See Figure 3-10 for how to connect external power.

AVR Butterfly User Guide -19

4271C–AVR–04/05 Make sure to disable the OCD-fuse after a debugging session, due to power consumption. The OCD-fuse will be disabled if pressing on the “Stop Debug- ging” button in AvrStudio4, before disconnecting the JTAG ICE probe from the AVR Butterfly.

Figure 3-10. External Power

External power can be applied at pin 9 and 10 at both PORTB and PORTD, see Figure 3-7 for the pinout. If the JTAG are not in use, the four JTAG pins can be used as input for the ADC chan- nels ADC[4:7]. See the ATmega169 datasheet for more information, available from www.atmel.com

3.4 LCD Display The LCD display on the AVR Butterfly is the same as used on the STK502 available from Atmel. The connections between the ATmega169 and the LCD are also the same. See the STK502 User Guide at www.atmel.com for more information about the LCD dis- play, and the LCD bit-mapping. For more information on how to write software for the LCD-display see application note “AVR064: STK502 – A Temperature Monitoring System with LCD Output” and applica- tion note “AVR065: LCD Driver for the STK502 LCD”. Note: Touching the LCD-pins will affect the segments on the LCD.

3.5 Joystick The AVR Butterfly has a miniature joystick for input from user. It operates in five direc- tions, including centre-push. The common line of all directions is GND. This means that internal pull-up must be enabled on the ATmega169 to detect the input from the joystick.

-20 AVR Butterfly User Guide

4271C–AVR–04/05 Figure 3-11. Joystick Schematic

3.6 Sensors The AVR Butterfly has two on-board sensors which makes it possible to measure both temperature and light. In addition is has a voltage-divider that is used to measure volt- ages from 0 to 5V.

3.6.1 Temperature Sensor The temperature sensor can be found at the back side of the AVR Butterfly. See Figure 3-12.

AVR Butterfly User Guide -21

4271C–AVR–04/05 Figure 3-12. Temperature Sensor

An NTC (Negative Temperature Coefficient)-thermistor is used to measure the tempera- ture. An NTC-thermistor is characterised by the fact that when the temperature goes down the resistance goes up. Using a voltage divider and reading the voltage over the thermistor through the ADC-channels on the ATmega169, the temperature in can be calculated. Equation for calculating the temperature in Celsius is shown in Figure 3-13.

Figure 3-13. Temperature Equation

β Temperature = ------– Tzero ADC ⎛⎞ln⎛⎞------+ ------β ⎝⎠⎝⎠()1024 – ADC Tamb

β = 4250 ADC = Value in the ATmega169 ADC Data Register – ADCL and ADCH

Tzero = 273°K

Tamb = 298°K (273° + 25°) The temperature in Fahrenheit can be found from Figure 3-14

Figure 3-14. Fahrenheit VS Celsius

()F – 32 ⎛⎞------= C ⎝⎠1.8

The AVR Butterfly is capable of measuring the temperature from –10ºC/+14ºF to +60ºC/140ºC with an accuracy of ±1ºC.

-22 AVR Butterfly User Guide

4271C–AVR–04/05 3.6.2 Light Sensor The light sensor is located at the front of the AVR Butterfly, over the LCD. See Figure 3-15.

Figure 3-15. Light Sensor

An LDR (Light Dependent Resistor) is used to measure the light. An LDR is character- ised by the fact that when the light decreases the resistance goes up. Using a voltage divider and reading the voltage over the LDR through the ADC-channels on the ATmega169, the light can be calculated.

3.6.3 Voltage Reader The AVR Butterfly is capable of reading voltages from 0V to 5V. The input must be con- nected to the pins shown in Figure 3-16. Using a voltage divider and reading the voltage over the resistors through the ADC-channels on the ATmega169, the applied voltage can be calculated. The accuracy is about 0,1V.

Figure 3-16. Voltage Readings

Note: Do not apply voltages above maximum 10V

3.7 Connect to PC The AVR Butterfly has an on-board level-converter for the RS-232 interface. This means that no external hardware is required to reprogram the AVR Butterfly using the self pro- gramming feature in the ATmega169. Figure 3-17 shows how to connect a serial-cable to the AVR Butterfly. The integrated RS232 level converter operates down to 2.0V sup- ply voltage.

AVR Butterfly User Guide -23

4271C–AVR–04/05 Table 3-1. UART

AVR Butterfly UART COM2 Pin 1 (RXD) Pin 3 Pin 2 (TXD) Pin 2 Pin 3 (GND) Pin 5

Figure 3-17. UART Connector

3.8 USI The AVR Butterfly has connections for the USI-interface. Figure 3-18 shows the pin-out for the USI. Through the USI interface other modules can be connected, and the AVR Butterfly can serve as a top-module card.

Figure 3-18. USI Connector

-24 AVR Butterfly User Guide

4271C–AVR–04/05 Table 3-2. USI

AVR Butterfly USI Pin 1 (USCK/SCL) Pin 2 (DI/SDA) Pin 3 (DO) Pin 4 (GND)

3.9 External An external dataflash is provided with the AVR Butterfly. This is the 4-megabit serial DataFlash DataFlash from Atmel, type AT45DB041B. More information about the DataFlash can be found in the datasheet available at the Atmel web site: http://www.atmel.com/products/DataFlash/ The DataFlash is connected to the SPI interface. This means that in addition to commu- nicate with the ATmega169 on the AVR Butterfly, it can also be accessed externally through the ISP connector. Note: If the DataFlash is to be accessed externally, the ATmega169 on the AVR But- terfly must be set to disable its own SPI interface to avoid contention on the interface.

Figure 3-19. DataFlash

Figure 3-20. DataFlash Schematic

AVR Butterfly User Guide -25

4271C–AVR–04/05 3.10 Piezo element A piezo element is used to be able to play sounds on the AVR Butterfly. The piezo is connected to PORTB5 on the ATmega169. And using the PWM, one can get the differ- ent frequencies required to play tunes.

Figure 3-21. Piezo Element

3.11 Battery Model: CR2450 Nominal Voltage: 3.0 Volts Nominal Capacity: 550 mAh (@0.2 mA Discharge Current, +23ºC) Standard Discharge Current 0.2 mAh Maximum recommended current under continuous discharge: 3 mA Maximum recommended current under pulse discharge: 15 mA Note: DO NOT recharge, short-circuit, disassemble, deform, heat or place the battery near a direct flame. This battery containsflammable materials such as lithium and organic solvent and performing any of the above actions could cause it to ignite explode or become damaged. The battery is protected by a schottky diode, this will prevent recharging of the battery if external power is applied to PORTB or PORTD on the AVR Butterfly.

-26 AVR Butterfly User Guide

4271C–AVR–04/05 Section 4 Troubleshooting Guide

Table 4-1. Troubleshooting Guide Problem Reason Solution The LCD is not enabled in the AVR device. Check the LCD initialization. (1) Nothing is displayed on the LCD. Verify that the clock prescaling correspond The update frequency is not correct. with the clock-source. (1) Some segments on the LCD seems to Your fingers are touching the LCD pins or Hold the AVR Butterfly on the edge of the disappear PORTD PCB, without touching the LCD pins ISP cable not connected properly to the Connect the ISP cable according to Figure ISP-footprint 3-2

Serial Programming does not work Please refer to the ATmega169 datasheet for the Serial Programming Voltage limits. STK500 target voltage error. Adjust the target voltage on the STK500 board accordingly. Please refer to Section 3.2.2 “High-voltage Cables not connected properly Parallel Programming” for correct parallel programming set-up. Parallel programming does not work Please refer to the ATmega169 datasheet for the Parallel Programming Voltage STK500 target voltage error. limits. Adjust the target voltage on the STK500 board accordingly.

Notes: 1. See the Application Note “AVR065 LCD driver for the STK502 LCD” on how to control the LCD-display, or the Application Note “AVR064 STK502 – A temperature monitoring system with LCD output” Or program the applica- tion that comes with the AVR Butterfly

AVR Butterfly User Guide -27

4271C–AVR–04/05 -28 AVR Butterfly User Guide

4271C–AVR–04/05 Section 5 Technical Specifications

System Unit Physical Dimension ………………………………...... …45 x 67 x 14 mm Weight...………………………………………………………………...... 28 g

Operation Conditions Temperature…………………………………………………...... …...0ºC - 50ºC If using external power……………………………………...... ……3,1V - 4,5V

Temperature measurement accuracy………………………………...... …..±1ºC Voltage reading accuracy…………………………………………...... ….±0,1V

AVR Butterfly User Guide -29

4271C–AVR–04/05 -30 AVR Butterfly User Guide

4271C–AVR–04/05 Section 6 Technical Support

For Technical support, please contact [email protected]. When requesting technical sup- port, please include the following information: ! Which target AVR device is used (complete part number) ! Target voltage and speed ! Clock source and fuse setting of the AVR ! Programming method ! Hardware revisions of the AVR tools, found on the PCB ! Version number of AVR Studio (This can be found in the AVR Studio help menu). ! PC operating system and version/build ! PC processor type and speed ! A detailed description of the problem

AVR Butterfly User Guide -31

4271C–AVR–04/05 -32 AVR Butterfly User Guide

4271C–AVR–04/05 Section 7 Schematics

On the following pages the complete schematics and assembly drawing of the AVR But- terfly revision A are shown.

AVR Butterfly User Guide -33

4271C–AVR–04/05 Figure 7-1. Schematics, 1 of 4 D C B A of 8 A 14 Revision: PAGE: 30-Apr-2003 09:34:10 A0301.3.1000.A 7 78 AVR Butterfly TITLE: Date: MCU.Sch Document number: ATMEL Norway Vestre Rosten 79, 7075 TILLER NORWAY 6 6 TOSC1 TOSC2 COM[3..0] LCD[32..3] COM[3..0] LCD[32..3] 5 5 COM3 LCD27 LCD28 LCD29 LCD4 LCD6 LCD25 LCD26 LCD5 LCD8 LCD22 LCD23 LCD7 LCD10 LCD20 LCD21 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 GND VCC U100 ATMEGA169V-1MC

(COM3)PA3 (SEG0)PA4 (SEG1)PA5 (SEG2)PA6 (SEG3)PA7 (SEG4)PG2 (SEG5)PC7 (SEG6)PC6 (SEG7)PC5 (SEG8)PC4 (SEG9)PC3

(COM2)PA2

(SEG10)PC2 (SEG11)PC1 (SEG12)PC0 (SEG13)PG1 (SEG14)PG0 PD7(SEG15)

LCD9

C100 100N_16V_X7R COM2 49 32

(COM1)PA1 PD6(SEG16)

LCD14 COM1

50 31 1 2

(COM0)PA0 PD5(SEG17)

LCD12 COM0

51 30

VCC PD4(SEG18)

LCD11

52 29

GND PD3(SEG19)

LCD13

53 28

(TDI/ADC7)PF7 PD2(SEG20)

PF7 LCD18

54 27

(TDO/ADC6)PF6 PD1(INT0/SEG21)

PF6 LCD16

55 26

(TMS/ADC5)PF5 PD0(ICP/SEG22)

PF5 LCD15

56 25

4 4 (TCK/ADC4)PF4 XTAL1(TOSC1)

PF4

57 24

(ADC3)PF3 XTAL2(TOSC2)

58 23

(ADC2)PF2 GND

59 22

(ADC1)PF1 VCC

PF1

60 21

(ADC0)PF0 RESET

PF0

61 20

AREF PG4(T0/SEG23)

LCD17

62 19

AGND PG3(T1/SEG24)

LCD19

63 18

AVCC PB7(OC2)

64 17 C104 100N_16V_X7R

GND

1 2 LCDCAP PE0(RXD) PE1(TXD) PE2(AIN0/XCK) PE3(AIN1) PE4(SCL/USCK) PE5(SDA/DI) PE6(DO) PE7 PB0(SS) PB1(SCK) PB2(MOSI) PB3(MISO) PB4(OC0) PB5(OC1A) PB6(OC1B) 1 2 3 4 5 6 7 8 9 C103 10 11 12 13 14 15 16

VCC GND

100N_16V_X7R 1 2 GND PF[7..4] 2 3 3 PE0 PE1 PE2 PE3 PE4 PE5 PE6 PE7 LCDCAP PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 (voltage reader) (voltage sensor) (temperature L100 BLM-21A102S PB[7..0] C106

1

R100 10K

10N_50V_X7R 1 2 1 2

VCC GND

C105 1U_16V_X7R

2 1 PF1 PF0 VCC GND PE2 AVR_RxD PF[7..4] Sensor_2 PB[7..0] RST_FLASH RESET

C102 100N_16V_X7R

1 2 GND PE[6..4] 2 2 PE3 RESET AVR_TxD VCP PE[6..4]

C101 100N_16V_X7R

1 2 GND VCP 1 1 D C B A

-34 AVR Butterfly User Guide

4271C–AVR–04/05 Figure 7-2. Schematics, 2 of 4 D C B A of 8 A 24 PAGE: Revision: PE3 TOSC1 TOSC2 P_XTAL1 PB[7..0] PB[7..0] PB5 P_XTAL1 PE2 PB[7..0] 1

R204 0R MOUNTED NOT

1 2 R202 0R GND 2 1 5-Mar-2003A0301.3.1000.A 11:01:58 7 78 PB4 PB6 PB7 PE2 PE3

R201 0R

2 5 1 4 3 6 R203 0R 1 2 2 A B C D AVR Butterfly 1

Center Common

Q200 BC847B MOUNTED NOT 1 2

2 4 way joystick with joystick 4 way press function 3 Document number: ATMEL Norway Vestre Rosten 79, 7075 TILLER NORWAY Peripherals.Sch Date: TITLE: VCC GND SW200 SKRHABE010 XC201 IQD32.768KHZ XC200 KMT-1603 4 3 6 6 Piezo element 5 5

R210 3K3 R213 NSL 19M51

C200 100N_16V_X7R 1 2 1 2

VCP GND

1 2 VCC GND Connects COL1 to COL2 on the LCD 2 R200 0R

1

R207 100K

1 2 VCC COM1 COM0 LCD29 LCD28 LCD27 LCD26 LCD25 LCD24 LCD23 LCD22 LCD21 LCD20 LCD19 Sensor_2 Light Dependent Resistor 32 31 30 28 27 25 24 23 21 18 29 26 22 20 19 34 33 BP2 BP1 GND 4 4 1/2F/2E/2P 2/3F/3E/3P 4/4H/4G/4N 5/5H/5G/5N 1F/1G/1E/X2 1A/1J/1N/1D X1/1B/1C/S6 S1/2H/2G/2N 2A/2B/2C/2D S2/3H/3G/3N 3/COL1/S7/7 S3/4F/4E/4P S4/5F/5E/5P 7A/7B/7C/7D S5/COL2/S8/8 PB3 8 5 7 6 LCD display

SO WP R212 1M5 R209 300K

GND VCC 1 2 1 2 GND Dataflash BP3 BP4 1K/1L/1M/6 2K/2J/2L/2M 3K/3J/3L/3M 3A/3B/3C/3D 4K/4J/4L/4M 4A/4B/4C/4D 5K/5J/5L/5M 5A/5B/5C/5D 9/6F/6E/6P S9/6H/6G/6N 6K/6J/6L/6M 6A/6B/6C/6D 10/7F/7E/7P S10/7H/7G/7N 7K/7J/7L/7M SI SCK RESET CS U200 H4042-DL U201 AT45DB041B-SC-2.5 V_in 1 2 3 4 5 6 7 8 9 1 2 3 4 10 11 12 13 14 15 16 17

PB2 PB1 D200 BZX399-C1V8

2 V_in reading Voltage 1 GND 3 3 COM2 COM3 LCD4 LCD5 LCD6 LCD7 LCD8 LCD9 LCD10 LCD11 LCD12 LCD13 LCD14 LCD15 LCD16 LCD17 LCD18 PB0 PF1

R206 100K

1 2 VCC COM[3..0] LCD[32..3] R211 NCP18WF104J03RB

R208 100K

1 2 1 2 VCP GND

R205 100K

1 2 VCC 2 2 PB[7..0] PF0 PB[7..0] RST_FLASH Negative Temperature Coefficient (NTC) resistor. COM[3..0] LCD[32..3] 1 1 C B A D

AVR Butterfly User Guide -35

4271C–AVR–04/05 Figure 7-3. Schematics, 3 of 4 D C B A of 8 A 34 PAGE: Revision: 28-Jan-2003 12:34:59 A0301.3.1000.A 7 78 AVR Butterfly Document number: ATMEL Norway Vestre Rosten 79, 7075 TILLER NORWAY RS232.Sch Date: TITLE: 6 6 C300 1U_16V_X7R

R308 4,7K

Q300B BC847BPN 4 3 1 2 1 2 VCC 5

R307 4,7K

2 1 1 R306 4,7K 2 5 5

D300 BAT74

1 4

2 2 3 GND R305 4,7K 1 4 4 2

Q300A BC847BPN

R304 4,7K

2 1 6 1 VCC 3 3 2 2 R302 0R R303 0R 1 1

R300 VC080514A300 R301 VC080514A300

1 2 1 2 GND GND 2 2 RXD TXD AVR_TxD AVR_RxD 1 1 C B A D

-36 AVR Butterfly User Guide

4271C–AVR–04/05 Figure 7-4. Schematics, 4 of 4 D C B A of 8 A 44 Revision: PAGE: 19-Feb-2003 08:18:49 A0301.3.1000.A 7 78 AVR Butterfly TITLE: Date: Connectors.Sch ATMEL Norway Vestre Rosten 79, 7075 TILLER NORWAY Document number:

TXD

C400 100N_16V_X7R C402 100N_16V_X7R V_in

1 2 2 PB[7..0] 1 GND GND LCD[32..3] VCC_EXT VCC_EXT V_in PB[7..0] LCD[32..3] PE[6..4] VCC_EXT VCC_EXT RXD 6 6 PE[6..4] 2 4 6 8 10 2 4 6 8 10 reader) (voltage GND GND GND PORTB PORTD J400 MOUNTED NOT J401 MOUNTED NOT 1 3 5 7 9 1 3 5 7 9 PE4 PE5 PE6 1 2 3 4 1 2 3 1 2 PB0PB2PB4PB6 PB1 PB3 PB5 PB7 LCD15LCD18LCD11LCD14 LCD16 LCD13 LCD12 LCD9 J405 PH_2,54_4 X 1 MOUNTED NOT J406 PH_2,54_3 X 1 MOUNTED NOT J407 PH_2,54_2 X 1 MOUNTED NOT GND GND USI pins UART Voltage reader 5 5 Coin Cell Battery

P_XTAL1 COM[3..0] BT400 CR-2450

1 2 4 4 COM[3..0] These two pins are for These parallel programming COM0 P_XTAL1 2 J404 KEY-3008-TR

R403 0R MOUNTED NOT 1 2 GND 1 C401 100N_16V_X7R

2 1 2 GND (BS2)

R404 0R

VCC VCC_EXT

2 Battery- clip 1 GND R401 0R GND 1 3 3

R400 33R MOUNTED NOT

GND 2 1 VCC_EXT 2 4 RESET 6 2 2 4 6 8 10

C403 100N_16V_X7R VCC

GND

MOSI

1 2

VCC GND JTAG J402 MOUNTED NOT 3 1 3 5 7 9 MISO SCK RESET Disable the Vsupply to the JTAG D400 BAT54C J403 ISP_CONNECTOR MOUNTED NOT

R402 0R MOUNTED NOT

2 1 3 5 1 1 VCC PF4 PF6 PF5 PF7 PB3 PB1 PB2 2 2 PF[7..4] PB[7..0] VCC RESET PB[7..0] PF[7..4] VCC_EXT 1 1 D C B A

AVR Butterfly User Guide -37

4271C–AVR–04/05 Figure 7-5. Assembly Drawing, Top Side

-38 AVR Butterfly User Guide

4271C–AVR–04/05 Figure 7-6. Assembly Drawing, Back Side

AVR Butterfly User Guide -39

4271C–AVR–04/05 7.1 Bill of Materials

Table 7-1. Bill Of Material_ Used Part Type Designator Value Manufacturer Design specific

8 0R R200 R201 0R

R202 R203

R302 R303 R401 R404

3 0R R204 R402 0R NOT MOUNTED

R403

1 1M5 R212 1M5 * 2 1U_16V_X7R C105 C300 1u MURATA *

1 3K3 R210 3k3 *

5 4,7K R304 R305 4k7 * R306 R307

R308

1 10K R100 10k * 1 10N_50V_X7R C106 10n *

1 33R R400 33R NOT MOUNTED

4 100K R205 R206 100k * R207 R208

10 100N_16V_X7R C100 C101 100n *

C102 C103 C104 C200

C400 C401

C402 C403 1 300K R209 300K *

1 AT45DB041B-SC-2.5 U201 4Mb ATMEL *

1 ATMEGA169V-1MC U100 ATMEL * 1 AVR BUTTERFLY A0301.3.1000.A PCB500 *

1 BAT54C D400 PHILIPS *

1 BAT74 D300 PHILIPS *

1 BC847B Q200 PHILIPS NOT MOUNTED

1 BC847BPN Q300 PHILIPS *

1 BLM-21A102S L100 MUR *

1 BZX399-C1V8 D200 PHILIPS *

1 CR-2450 BT400 3V MAXELL *

1 H4042-DL U200 * 1 IQD32.768KHZ XC201 32,768kHz IQD Crystals *

1 ISP_CONNECTOR J403 SCOTT ELECT. NOT MOUNTED

1 KEY-3008-TR J404 KEYSTONE *

-40 AVR Butterfly User Guide

4271C–AVR–04/05 Table 7-1. Bill Of Material_(Continued) Used Part Type Designator Value Manufacturer Design specific

1 NCP18WF104J03RB R211 100K MURATA *

1 NSL 19M51 R213 SILONEX * 1 PH_2,54_2 X 1 J407 SCOTT ELECT. NOT MOUNTED

1 PH_2,54_3 X 1 J406 SCOTT ELECT. NOT MOUNTED

1 PH_2,54_4 X 1 J405 SCOTT ELECT. NOT MOUNTED 3 PH_2,54_5 X 2 J400 J401 SCOTT ELECT. NOT MOUNTED

J402

1 SKRHABE010 SW200 ALPS * 1 KMT-1603 XC200 KINGSTATE *

2 VC080514A300 R300 R301 *

1 U562246 M500

AVR Butterfly User Guide -41

4271C–AVR–04/05 Atmel Corporation Atmel Operations 2325 Orchard Parkway Memory RF/Automotive San Jose, CA 95131, USA 2325 Orchard Parkway Theresienstrasse 2 Tel: 1(408) 441-0311 San Jose, CA 95131, USA Postfach 3535 Fax: 1(408) 487-2600 Tel: 1(408) 441-0311 74025 Heilbronn, Germany Fax: 1(408) 436-4314 Tel: (49) 71-31-67-0 Fax: (49) 71-31-67-2340 Regional Headquarters Microcontrollers Europe 2325 Orchard Parkway 1150 East Cheyenne Mtn. Blvd. Atmel Sarl San Jose, CA 95131, USA Colorado Springs, CO 80906, USA Route des Arsenaux 41 Tel: 1(408) 441-0311 Tel: 1(719) 576-3300 Case Postale 80 Fax: 1(408) 436-4314 Fax: 1(719) 540-1759 CH-1705 Fribourg Switzerland La Chantrerie Biometrics/Imaging/Hi-Rel MPU/ Tel: (41) 26-426-5555 BP 70602 High Speed Converters/RF Datacom Fax: (41) 26-426-5500 44306 Nantes Cedex 3, France Avenue de Rochepleine Tel: (33) 2-40-18-18-18 BP 123 Asia Fax: (33) 2-40-18-19-60 38521 Saint-Egreve Cedex, France Room 1219 Tel: (33) 4-76-58-30-00 Chinachem Golden Plaza ASIC/ASSP/Smart Cards Fax: (33) 4-76-58-34-80 77 Mody Road Tsimshatsui Zone Industrielle East Kowloon 13106 Rousset Cedex, France Hong Kong Tel: (33) 4-42-53-60-00 Tel: (852) 2721-9778 Fax: (33) 4-42-53-60-01 Fax: (852) 2722-1369 1150 East Cheyenne Mtn. Blvd. Japan Colorado Springs, CO 80906, USA 9F, Tonetsu Shinkawa Bldg. Tel: 1(719) 576-3300 1-24-8 Shinkawa Fax: 1(719) 540-1759 Chuo-ku, Tokyo 104-0033 Japan Scottish Enterprise Technology Park Tel: (81) 3-3523-3551 Maxwell Building Fax: (81) 3-3523-7581 East Kilbride G75 0QR, Scotland Tel: (44) 1355-803-000 Fax: (44) 1355-242-743

Literature Requests www.atmel.com/literature

Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL’S TERMS AND CONDI- TIONS OF SALE LOCATED ON ATMEL’S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDEN- TAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Atmel’s products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life.

© Atmel Corporation 2005. All rights reserved. Atmel®, logo and combinations thereof, AVR®, and AVR Studio® are registered trademarks, and Everywhere You AreSM are the trademarks of Atmel Corporation or its subsidiaries. Microsoft®, Windows®, Windows NT®, and Windows XP® are the registered trademarks of Microsoft Corporation. Other terms and product names may be trademarks of others.

Printed on recycled paper.

4271C–AVR–04/05