The STK600 is a complete starter kit and development system for the AVR® Flash microcontroller. It allows designers
a quick start in developing code on the AVR device, combined with advanced features for using the starter kit to
prototype and test new designs.
New firmware releases for STK600 are embedded with the releases of Atmel Studio. The upgrade process starts with
a connection to the STK600 board (the user will be asked to perform the procedure). Should the automatic upgrade
fail, try the manual upgrade procedure.
The Microchip Website............................................................................................................................... 118
Atmel Studio, AVR Studio 4, 5, and AVR32 Studio has support for a range of devices in all speed grades. Support for
new AVR devices may be added in new versions of the software. Latest versions of the Integrated Development
Environments are always available from www.microchip.com.
• Cables for STK600:
– Two 10-wire cables for I/O ports and Parallel mode programming
– One 6-wire cable for in-system programming
– Four 2-wire cables for UART and DataFlash connections
• USB Cable
• DC Power Cable
• Device Board with an ATmega2560 Device
• Two Sets of Screws and Nuts, and One Set of Clips
4.2 Quick Start
The STK600 Starter Kit is shipped with a device board with an ATmega2560 microcontroller.
The STK600 can source power to the microcontroller through the USB cable. Remember that the power available
through the USB cable is limited. If your application attaches several peripherals to the STK600, you should use an
external power source connected to the DC input socket on STK600. The external power supply should be 9-15V DC
with positive center connector.
The power switch turns the STK600 main power ON and OFF. The red LED is lit when power is ON, and the status
LED will turn green. The green LED beside the VTG jumper indicates that the target voltage is present.
The STK600 must be connected to a host PC with a USB cable. Connect the cable to a free USB port on the PC or a
USB hub. The USB port must be capable of supplying 500 mA. If using a USB hub, make sure it has an external
power supply.
Connect the other end of the USB cable to the USB connector on the STK600 sitting next to the DC jack.
Optionally, if STK600 is to be connected to external hardware that consumes more than 300 mA, an external DC
power supply can be connected to the DC jack on the STK600. The cable supplied with the kit can be used. Connect
the center pin to the positive voltage and the cap to ground.
See section 5. Target Socket System on how to set up the routing card and socket card.
STK600 is designed to support all AVR devices with internal Flash memory. A system based on socket and routing
cards is used to support different package types and pinouts on the STK600 board.
The picture below shows an STK600 with a mounted routing card and socket card.
STK600 Starter Kit
Target Socket System
5.2 Socket Card and Routing Card
A socket card is a general card that does not have any device-specific hardware. E.g., a TQFP-64 socket card can be
used for all devices that come in a TQFP-64 package, regardless of the pinout.
A routing card is a device-specific card. It routes signals between the STK600 motherboard and the socket card. Note
that several devices may use the same routing card if they share the same pinout.
A set of spring-loaded connectors makes the connection between the motherboard, routing card, and socket card.
Clips or screws hold the stack of cards together.
In addition to the socket and routing cards included in the kit, there are several add-on packs available to expand the
part support for the STK600. See section 3. Device Support page to get an overview of the different socket and
routing cards.
5.3 Selecting the Correct Routing and Socket Cards
Selecting the correct routing and socket card can be done by looking at the table in section 3. Device Support table.
For Atmel Studio the correct routing and socket card can also be found by selecting the correct device in the STK600
programming dialog in Atmel Studio. A notification will display the correct routing and socket card to use unless the
STK600 already has the correct cards mounted. More information on the programming dialog can be found in the
Programming Dialog pages in the Atmel Studio help.
Note that some of the devices have a part-specific socket card (i.e., a routing card that has a socket). In this case,
there is only one card to install onto the motherboard.
STK600 Starter Kit
Target Socket System
5.4 Mounting the Cards
Mounting the routing and socket cards can either be done by plastic clips or plastic screws/nuts. Both sets are
included in the STK600 package. Install either the clips or the nuts to the motherboard depending on what solution
you want to use.
5.4.1 Using Clips
5.4.1.1 Motherboard
The clips should be installed from the bottom side of the STK600 motherboard. When properly installed, two plastic
locking springs hold the clip in place.
Align the clips with the white lines on the motherboard. The routing card can now be placed above the four clips.
Make sure that the routing card has the correct orientation (i.e., the text should face upwards, and the white dot in the
corner should match the one on the STK600). Press down the routing card (i.e., compress the spring-loaded
connector on the STK600) and turn the clip 45 degrees in the clockwise direction so that it aligns with the white line
on the routing card. It is easiest to do two opposite clips before locking the last two.
Connecting the socket card is done in the same way as the routing card. Make sure that the clips align with the white
line outside the clip holes on the routing card, then mount the socket card. The white spot on the socket card should
align with the one on the routing card. Press down the socket card (i.e., compress the spring-loaded connector on the
socket card) and turn the clip 45 degrees in the clockwise direction until it aligns with the white line outside the clip
hole. It is easiest to do two opposite clips before locking the last two.
Note: Always rotate the clips within the 45 degrees window. Do not turn them around. That could cause the routing
card below to unlock from the clip.
Insert the nuts into the STK600 motherboard from the bottom side. When properly installed the two locking springs
should hold the nut in place.
STK600 Starter Kit
Target Socket System
5.4.2.2 Routing and Socket Card
Place the routing card above the motherboard and make sure that the white spot in the corner matches the white
spot on the motherboard. The small plastic taps on the ends of the spring-loaded connectors should mate with the
holes in the routing card. When the routing card is in the correct position, place the socket card onto the routing card
with the white spot matching the one on the routing card. Make sure that the plastic taps on the connectors on the
socket card mates with the routing card as well.
Insert the four screws and tighten them firmly into the nuts.
STK600 is designed to support a wide range of devices with different packages and pinouts. Many compromises
have been taken to make this possible with one motherboard. The signal integrity is not optimized due to this.
STK600 is not a reference design in any way, but a kit that serves as a socket programmer with some additional
peripheral hardware to get started with the AVR device. Serial communication at the highest frequencies may not
work.
The VTG voltage is the supply voltage to the target AVR microcontroller. It is connected to the AVR device VCC pin.
VTG can either be generated by STK600, or be supplied from an external source.
The on-board VTG source is set from Atmel Studio. The VTARGET jumper must be mounted to use this source. The
on-board supply can be adjusted from 0.9 to 5.5V in steps of 0.1V.
VTG can also be set to 0V, but due to hardware limitations, the on-board generated VTG cannot be set between 0
and 0.9V.
Note: Always check the AVR device data sheet for operating voltage range before adjusting VTG.
See the help section for the Atmel Studio Programming Dialog for information on how to adjust VTARGET.
6.2.1.1 Powering STK600 from USB
When the STK600 is powered through the USB cable, approximately 300 mA can be delivered to the target section.
STK600 Starter Kit
Hardware Description
6.2.1.2 Powering STK600 from an External DC Source
If an external DC jack input is used, approximately 1A can be delivered to the target section.
6.2.2 External VTG
If the VTARGET jumper is removed, the VTG must be supplied from an external source. Connect the external source
to one of the VTG pins on any of the PORT headers. Always connect common ground (GND) when using an external
VTG voltage.
When using an external source, the user must ensure that the VTG is higher than any of the AREF voltages.
Note:
The kit must always be powered when using an external VTARGET supply. If the VTG voltage is supplied from an
external source while the main power switch is in the OFF position the kit may become damaged.
6.2.3 Status LEDs
6.2.3.1 VTARGET LED
A green LED next to the VTARGET jumper will be lit when there is a voltage of 0.9V or higher available on the VTG
net.
6.2.3.2 STK600 Status LED
If a short circuit is detected when using the on-board VTG supply, the STK600 status LED will blink red.
6.3 Analog Reference Voltages
The A/D converter of the AVR device needs a reference voltage to set its converting range. STK600 can supply two
of these voltages; AREF0 and AREF1.
For all tinyAVR and megaAVR devices, only the AREF0 is connected through the routing card, for AVR XMEGA
devices, AREF0 is connected to AREFA and AREF1 is connected to AREFB.
For AVR XMEGA devices the AREF pins are also general purpose I/O pins. Hence, to use the pins as GPIO, the
AREF jumpers must be removed.
Note: For routing card “STK600-RC100X-13” revision A and revision B the AREF1 is connected to PA1. These
cards are marked “A0607.3.1213.A” and “A0607.3.1213.B”.
If the AREF0/AREF1 jumpers are mounted, the on-board Analog Reference Voltage sources are connected to the
target AREF pins of the AVR device. The on-board Analog Reference Voltages can be adjusted from the PC software
in the range 0 to 5.5V, but not above VTARGET. The resolution and accuracy is 10 mV.
The AREF0 and AREF1 generated voltages can also be connected to the analog comparator.
The target AREF signals of the AVR device are accessible on the AUX header. The figure below shows the
connection of the AREF signals, the target section, and the AREF sources.
6.3.1 Using External Voltage Reference
When the AREF0/AREF1 jumper is disconnected, the ADC reference voltage can be supplied from an external
source by connecting to the AREF0/AREF pins on the AUX header.
When using an external source for AREF, VTARGET must be controlled at a higher voltage level than AREF. This
can easily be controlled by reading the VTG value from the programming dialog in Atmel Studio before setting AREF.
Note: The AREF0 and AREF1 voltages, which are visible in the PC software, are the STK600 generated voltages.
Externally applied AREF voltages cannot be read from Atmel Studio.
6.3.2 Using the Internal Voltage Reference
The AREF0/AREF1 jumper must be removed if the internal voltage reference of the AVR device is used.
6.3.3 Using AREF as Analog Input
AREF0 and AREF1 can also be used as analog inputs to any of the ADC channels.
For tinyAVR and megaAVR devices, where only AREF0 is connected to the device via the routing card, AREF1 can
be connected to an ADC channel by connecting a cable from AREF1 on the AUX header and to the port pin header
corresponding to the ADC channel. (Check the device data sheet for which port pin header to connect to.)
If the AVR device's internal voltage reference or an external voltage reference is used, the AREF0/AREF1 jumper
must be removed. If this is the case, AREF0 or AREF1 can be used as analog inputs by connecting a cable from pin
1 on the AREF0/AREF1 header to the port pin header corresponding to the ADC channel.
6.3.4 AREF Decoupling Capacitor
The routing card has a decoupling capacitor on AREF. This is marked with a silk print on the PCB. For some AVR
devices, the AREF pin is a pin which also is part of the high-voltage programming interface. On these routing cards,
the AREF capacitor is not mounted, as it would make it impossible to use the high-voltage programming interface. A
capacitor can be soldered to achieve better noise performance. A typical value is 10 nF. The footprint for the
capacitor is SMD size 0603.
6.3.5 Short Circuit Protection
The internal AREF voltage generators have short circuit protection. If the STK600 measures the AREF0/AREF1 to be
0.3V or more below the set-point, AREF will be shut off. When this happens, the status LED will blink red. The
AREF0 and AREF1 will also be shut down by the Master MCU if a short circuit is detected on VTarget (in addition to
shutting down VTarget). In this case, the status LED will blink red.
6.4 RESET Control
The STK600 controls the RESET signal to the target AVR device. Under normal operation, the RESET line is held in
an inactive high state (pull-up to VTG).
STK600 Starter Kit
Hardware Description
6.4.1 The RESET Jumper
The RESET jumper connects the RESET pin on the target AVR device to the STK600. When the RESET jumper is
mounted, the STK600 controls the RESET signal. When the RESET jumper is not mounted, the RESET signal is
disconnected. This latter is useful for prototyping applications with an external reset system.
The RESET jumper must always be mounted when high-voltage programming an AVR device. If using an external
reset system, it must allow the reset line to be controlled by the STK600 during programming.
6.4.2 The RESET Button
STK600 has a reset button that resets the target AVR device when being pushed. The button has no function if the
RESET jumper is not mounted.
6.4.3 RESET Signal on AUX Header
The target RESET signal of the AVR device is accessible on the AUX header. This pin can be used to apply an
external RESET signal. When applying an external reset signal, the reset jumper must be removed.
6.4.4 12V Programming Voltage
During high-voltage programming, STK600 applies 12V to the RESET line of the AVR device. Thus, an external reset
circuit not capable of handling this must be disconnected before high-voltage programming the AVR device.
6.4.5 External RESET Decoupling
When connected to an external system, there is often an external pull-up resistor and a capacitor connected to the
reset line. A typical reset connection is shown below.
If the external pull-up resistor is too strong (i.e., << 4.7 kΩ), STK600 may not be able to pull the RESET line low.
See also section 7.9.1 Reset Line when programming an external target.
6.5 Port Connectors
All I/O port pins on the target AVR device mounted on the STK600 are available on port pin connectors. These are
labeled PORTA, PORTB, PORTC, etc.
Depending on the AVR device in use, different ports will be available.
The picture below shows PORTA. Here, all port pins PA0 to PA7 are available, in addition to the target voltage VTG
and GND.
STK600 Starter Kit
Hardware Description
The other port connectors are identical, only with different signal names.
Cables can be mounted between the port connectors and the other peripherals on the board, or to external hardware.
6.5.1 AUX Port Connector
The AUX connector is located in the port connector area. The figure below shows the pinout for the connector.
The signals, which are described in the below sections, are available.
6.5.1.1 AREF0
Analog Reference voltage. This pin is connected to the AREF pin on devices having a single separate analog
reference pin. For devices with two AREF pins, this pin is connected to the AREF+ pin. The AREF0 voltage is
controlled from the PC software if the AREF0 jumper is mounted.
6.5.1.2 AREF1
Analog Reference voltage. This pin is connected to the AREF- pin on devices having two separate analog reference
pins. The AREF1 voltage is controlled from the PC software if the AREF1 jumper is mounted.
6.5.1.3 XTAL1
The XTAL1 signal on the AVR device is routed to this pin. If the CLOCK switch is set to the INT position, this pin can
be used to apply an external clock signal.
The XTAL2 pin on the AVR device. If the CLOCK switch is set to the INT position, this pin can be used for an external
crystal with the XTAL1 pin.
6.5.1.5 RESET
The RESET pin on the AVR device is available on this pin.
6.5.1.6 32 KHz
A 32.768 kHz clock signal is available on this pin. It can be connected to a device's TOSC1 pin in order to implement
a real-time clock. Place a jumper between the 32 KHz pin and the neighboring TOSC1 pin.
6.5.1.7 TOSC2 and TOSC1
For AVR devices with a timer that can be clocked from an external low-frequency crystal, these two pins are
available. The TOSC1 pin can easily be connected to the AUX portʼs 32 KHz pin (32.768 kHz clock signal) by a
jumper.
6.6 LEDs and Switches
STK600 has eight LEDs and eight switches that can be connected to I/O pins on the AVR device. The LEDS and
SWITCHES connectors are found in the port connector area.
STK600 Starter Kit
Hardware Description
6.6.1 LEDs
The LEDs are labeled LED0 to LED7. The corresponding pins on the LEDS header have the same labels.
The LED hardware is shown in the figure below. The transistor circuit ensures the LED brightness is independent of
the target voltage.
To light one of the LEDs, the corresponding pin found on the LEDs header must be pulled to GND.
To control the LEDs from the AVR device, connect a cable between the LEDS header and one of the PORT headers.
Use a 10-wire cable to connect to all eight LEDs or a two-wire cable to control one or two LEDs.
Just like the PORT headers, the LEDS header has GND and VTG on pin 9 and 10. When using a 10-wire cable,
make sure the pin 1 indication on the cable (red wire with a triangular arrow pointing on pin 1) aligns to pin 1 on both
the LEDS header and PORT pin header.
The I/O port connected to LEDn will not source any significant current when LEDn is driven high but sink a current of
approximately 18 mA when LEDn is pulled to GND.
6.6.2 Switches
The switches are labeled SW0 to SW7 and are available on the SWITCHES header. The switch hardware is shown
below:
STK600 Starter Kit
Hardware Description
When pressing one of the switches, the corresponding SW pin on the SWITCHES header will be pulled low. When
the switch is released, the switchʼs 10 kΩ pull-up will pull the line to VTG. The 150Ω resistor prevents a large current
flowing to ground in case of wrong wiring.
Connect a cable between the SWITCHES header and one of the PORT headers. Use a 10-wire cable to connect to
all eight switches or a two-wire cable to connect to one or two switches.
Note: On most AVR device pins configured as input, you can enable an internal pull-up, removing the need for an
external pull-up on the push button. In the STK600 design, an external 10 kΩ pull-up is present to give all users a
logical 1ʼ on SWn when the push button is not pressed, even if the internal pull-up is not enabled.
6.7 Clock Settings
STK600 includes several clock options for the target AVR device.
A switch selects between the following three options:
• Programmable clock generator
• Crystal oscillator (with a socket for a crystal)
• XTAL1 Pin tri-stated (to be used with the AVR deviceʼs internal RC oscillator)
6.7.1 Programmable Clock Generator
The programmable clock generator is set from the PC software. The frequency can be set from 1.1 kHz to 66 MHz
with 0.5% accuracy.
To use the programmable clock generator as a clock source, set the CLOCK switch to EXT position.
6.7.2 Crystal Oscillator
The on-board crystal oscillator will work with ceramic resonators or crystals between 4 and 24 MHz (AT-cut,
fundamental, and parallel resonant crystals). Place a crystal in the crystal socket (located next to the PROGRAM
button).
To use the crystal oscillator as a clock source, set the CLOCK switch to the XTAL position.
If the target AVR device runs on the internal oscillator, the XTAL1 pin can be disconnected from the clock sources on
STK600.
To disconnect the XTAL1 pin, set the CLOCK switch to the INT position.
6.7.4 Real-Time Clock
The STK600 also features a 32.768 kHz oscillator, which can be used to make a real-time clock. The output from the
oscillator is available on the 32 KHz pin on the AUX header. This clock can be routed to the TOSC1 pin on the target
AVR device by placing a jumper between the 32 KHz and TOSC1 pin on the AUX header.
STK600 Starter Kit
Hardware Description
See also section 6.5 Port Connectors for more information about the AUX header.
6.7.5 Other Considerations
6.7.5.1 High-Voltage Programming
When programming the target AVR device in High-Voltage Programming mode, the clock settings are overridden,
and the device is clocked directly from the STK600 controller. The clock selection switch can be set to any position.
6.7.5.2 On-chip Crystal Oscillator
In a real-life application where the crystal can be placed close to the AVR deviceʼs XTAL1 and XTAL2 pins, there is
no need for an external oscillator circuit. The long clock signal lines and socket system connectors on STK600 makes
it difficult to drive a crystal with the on-chip oscillators. This is resolved by having a crystal oscillator on STK600. The
oscillator is designed to operate over the full target voltage range.
6.7.5.3 Shared XTAL1/Port Pin
Some AVR devices have an XTAL1 pin, which can also be used as a regular I/O port pin. The routing card for these
devices will connect the device pin to both the XTAL1 net and a port pin header on the STK600. Hence, to use the
pin as an I/O port the clock selection switch must be set to position INT to disconnect the clock drivers on STK600
from the pin.
6.8 User RS-232 Interface
The STK600 includes RS-232 hardware that can be used for communication between the target AVR microcontroller
in the socket and a PC serial port. STK600 has a 9-pin DSUB connector that can be connected to a PC with a
straight serial cable (not a null modem cable).
To use the RS-232 interface, the AVR deviceʼs UART pins must be connected to the appropriate pins on the “RS-232
SPARE” pin header. Use a 2-wire cable to connect the AVR deviceʼs RXD and TXD pins to the pin header. The
“RS-232 SPARE” pin header is found in the target header section, while the DSUB marked “RS-232” is located on the
other end of the card.
Optionally, one can connect the RTS (Request To Send) and CTS (Clear To Send) signals to two free I/O ports. The
RTS and CTS signals are used for flow control. The connection is shown below.
If the RTS and CTS lines are not controlled by the AVR device, a jumper shorting the RTS and CTS pins on the
“RS-232 SPARE” header can resolve communication problems, if the PC side expects these handshake lines to be
active.
6.8.1 Flow Control and RTS/CTS Signaling
Flow control is used to avoid data loss in transmission when one party is unavailable to receive data. When a DTE
(such as a PC) wants to stop the data flow into it, it negates RTS. Read a negated “Request To Send” as “request
NOT to send to me” (stop sending). When the PC is ready for more bytes, it asserts RTS and the flow of bytes to it
can resume. Flow control signals are always sent in a direction opposite to the flow of bytes that is being controlled.
DCE equipment (i.e., AVR) works the same way but sends the stop signal out the CTS pin (negated CTS: “(you are)
NOT Cleared To Send”).
6.9 DataFlash Nonvolatile Memory
An AT45DB041B 4 Mb DataFlash is included on the STK600 for nonvolatile data storage. This is a high-density Flash
memory chip with Serial Peripheral Interface (SPI). A detailed data sheet of the DataFlash can be obtained from the
Microchip website.
The DataFlash can be connected to the I/O pins of the microcontroller sockets. The 4-pin header marked
DATAFLASH can be used for connecting the SPI of the DataFlash to the I/O pins on the target AVR microcontroller in
the socket. Two-wire cables are included with STK600 for connecting the DataFlash to the I/O pins. The connection
of the I/O pins is shown in the figure below.
The connection of the DataFlash to the AVR device hardware SPI is shown in the block schematic below.
More information about how to use the DataFlash can be found on http://www.microchip.com/.
6.10 Expansion Connectors
STK600 has two expansion connectors. All AVR device I/O ports, programming signals, and control signals are
routed to the expansion connectors. The expansion connectors allow easy prototyping of applications with STK600.
The connectors to be used on an expansion board are manufactured by FCI and have P/N: 61082-101402LF. See
also www.fciconnect.com for more information.
The connectors must be placed with exactly 119 mm from center to center. The expansion board must have a
maximum width of 55 mm to avoid collision with components on the mainboard.
The pinout of the expansion connectors is shown in the table below.
STK600 has a USB connector that the target AVR devices with USB interface can utilize. The connector is a Mini-AB
connector that supports on-the-go functionality. The routing card for the device connects the USB connector to the
appropriate pins on the AVR device.
STK600 Starter Kit
Hardware Description
6.11.1 VBUS Generation
When the target AVR device is acting as an on-the-go master, it must supply VBUS voltage to the USB device it is
controlling. To do so, place a jumper on the pin header (J901) next to the USB connector. The FET is controlled by
the UVCON signal, also routed to the target AVR device.
When not using the VBUS generation feature, the jumper must be removed.
Controller Area Network (CAN) is a broadcast, differential serial bus standard typically used in the automotive
industry. The CAN features high immunity to electromechanical noise and arbitration-free fixed priority.
STK600 features the ATA6660 CAN transceiver. A male DB9 connector and a 10-pin header are provided for bus
connection.
If a network termination is needed (CAN baud rate higher than 100 kbps), the TERMʼ jumper can be mounted to
insert a 120Ω resistor between CAN-H and CAN-L.
SLOPE CTRLʼ is provided to adjust the CAN signal slopes and prevent unsymmetrical transients on the bus lines.
The center pin on SLOPE CTRLʼ is connected to the ATA6660 RS pin. This must be held below 0.87·VTG, which is
the standby threshold voltage for AT6660.
Mount a jumper to either side of SLOPE CTRLʼ to prevent AT6660 from going to standby.
The CAN transceiver is connected to the MCU through the two-pin (RX and TX) CANʼ header near the switches on
STK600. The target MCU can be any AVR device (bit-banging or USART), but more typically it is one of the
AT90CAN series, which support the CAN protocol in hardware.
Note: From STK600 PCBA revision 16 the ATA6660-TAQY has been replaced with ATA6560-GAQW. These devices
are pin-compatible except that pin 5 of ATA6560 is NSIL (Silent mode control input, active low) and pin 8 is STBY
(Standby mode control input). In other words, R815 should NOT be mounted on PCBA revision 16 or later (it is by
default not mounted in production). Both NSIL and STBY are internally pulled high. The default mode is then
Standby. The SLOPE CTRL header can be used to switch ATA6560 to normal mode by putting a jumper between pin
1 and 2 (pulling STBY low).
Local Interconnect Network (LIN) is a broadcast serial network comprising one master and many (up to 16) slaves.
The LIN bus is typically used in the automotive industry as a smaller and less expensive sub-network of a CAN bus to
integrate intelligent sensor devices or actuators.
STK600 features the ATA6661 LIN transceiver. A 3-pin header serves to connect to the bus. With the ATA6661 an
AVR device on the STK600 can implement a LIN master or a LIN slave.
STK600 Starter Kit
Hardware Description
The M LINʼ jumper provides the master node pull-up, required if the application running on STK600 is the LIN bus
master.
The 3-pin LIN connector must provide V-battery (BATʼ) 12V>BAT>5V, and GND. BATʼ must be supplied from an
external source. For further reference, see the ATA6661 data sheet.
The LIN transceiver is connected to the MCU through the 6-pin LINʼ header near the switches on STK600. The target
MCU will usually implement the LIN protocol in software through a USART interface. The NSLPʼ pin must be actively
driven high to keep the ATA6661 from a sleep mode.
Note: Due to the ATA6661 design, it is mandatory to enable the internal pull-up on PD2 (RxLIN) when LIN is used
(cf. AT90CAN128 Data Sheet, section “I/O Ports”).
Note: From STK600 PCBA revision 12 the ATA6661-TAQJ was replaced by ATA6663-TAQY and from PCBA
revision 16 it was replaced by ATA6663-GAQW. These three devices are all pin-compatible and with the same
functionality.
STK600 has two push buttons and three LEDs for special functions and status indication. The following sections
explain these features. The figure below shows the placement of these functions.
STK600 Starter Kit
Hardware Description
6.14.1 PROGRAM Push Button
Future versions of Atmel Studio may upgrade the master MCU on STK600. Atmel Studio will then detect old software
versions of STK600 and update the Flash program memory of the master MCU. To do this, the user is required to
push the PROGRAM button when powering on STK600. Atmel Studio issues instructions on how to perform the
upgrade during the upgrade process.
6.14.2 Main Power LED
The red power LED is directly connected to the STK600 main power supply. The power LED is always lit when power
is applied to STK600.
6.14.3 Target Power LED
The target power LED is lit when the voltage applied to the target AVR device is 0.9V or higher.
6.14.4 Status LED
• ORANGE: Busy programming
• ORANGE/RED blinking: Upgrade mode
• RED: No board detected
• GREEN: READY
• ORANGE blinking: Wrong combination of routing and socket card
• RED blinking: VTarget or AREF short-circuited
• RED blinking high frequency: Too much current drawn from the power supply. If powered from USB, try to
connect an external supply to the DC jack.
During programming, the LED has an orange color. When the target AVR device is successfully programmed, the
LED will turn green.
In-System Programming of tinyAVR and megaAVR devices can be done using the AVR device internal SPI (Serial
Peripheral Interface) to download code into the Flash and EEPROM memory. ISP programming requires only VCC,
GND, RESET, and three signal lines for programming. No high-voltage signals are required. The ISP programmer
can program both the internal Flash and EEPROM, fuses, lock-bits, and calibration bytes.
STK600 Starter Kit
Programming
Note: The ISP frequency (SCK) must be less than 1/4 of the target clock. The ISP frequency is set by the STK600
programming dialog in Atmel Studio.
Note:
ISP programming will NOT work if one or more of the following cases is true:
• SPIEN: SPI Enable fuse is un-programmed
• RSTDISBL: Reset Disable fuse is programmed (for devices with this fuse)
• DWEN: DebugWIRE Enable fuse is programmed (for devices with this fuse)
Refer to the AVR device data sheet for information about the fuses.
Use high-voltage programming to re-enable the ISP interface from the situation listed above. Either HVPP or HVSP
depending on what is supported by the AVR device.
7.1.1 Hardware Setup for On-board Programming
1.Mount the routing and socket card and the target device. See the Socket System section on how to do this.
2.Connect a 6-wire cable between the two 6-pin ISP headers on the STK600. See the picture below.
3.Ensure that the VTARGET jumper is mounted and that the voltage is within the operating range for the target
device.
See the Programming Dialog pages in the Atmel Studio help file for information on the STK600 programming dialog.
The pinout of the 6- and 10-pin ISP headers are shown below:
It is not necessary to remove the ISP cable while running a program in the AVR device. The port pins used for ISP
programming can be used for other purposes in the user's program.
See also section 7.9 In-System Programming of an External Target System.
7.1.2 AREF
The AREF0 jumper must be removed before programming of devices that have AREF on a pin used by the serial
programming interface.
Devices that are affected by this, use these routing cards:
• STK600-RC008T-2
7.2 Parallel High-Voltage Programming
tinyAVR and megaAVR devices with 14 pins or more have a parallel programming interface that can be used to
program all of the devices’ memories.
7.2.1 Hardware Setup for On-board Programming
Follow the steps below to do Parallel High-Voltage Programming. Note that this interface is only intended for use with
on-board STK600.
1.Mount the routing and socket card and the target device. See the Socket System section on how to do this.
2.Use the two 10-wire cables supplied with the STK600 to connect the PROG DATA and the PROG CTRL to the
target device, as shown in the picture below.
3.Mount both the VTARGET jumper and the RESET jumper.
See the Programming Dialog pages in the Atmel Studio help file for information on the STK600 programming dialog.
Note: The AREF jumper must be removed before programming of devices that have AREF on a pin used by the
high-voltage programming interface.
Devices that are affected by this use the following routing cards:
• STK600-RC008T-7
• STK600-RC020T-8
• STK600-RC014T-12
• STK600-RC020T-23
7.3 Serial High-Voltage Programming
tinyAVR devices with low pin count have too few pins to use parallel communication during high-voltage
programming. They use serial communication instead. This means that fewer signals have to be routed.
Note: This interface is only intended for use on-board the STK600.
See the device data sheet to check if a specific device has a serial high-voltage interface.