Main.Standalone History

Hide minor edits - Show changes to markup

August 20, 2015, at 10:57 AM by Alice Pintus -
Changed lines 42-45 from:

There are several options for bootloading your Atmega chips, a few of which are covered in this tutorial. If you wish to bootload your Atmega chips using your breadboard, an additional part will make your life much easier but is not necessary.

AVR Programming Adapter from Sparkfun, SKU BOB-08508

to:

There are several options for bootloading your Atmega chips, a few of which are covered in this tutorial. If you wish to bootload your Atmega chips using your breadboard, an additional part will make your life much easier but is not necessary. AVR Programming Adapter from Sparkfun, SKU. BOB-08508

Deleted line 44:
Deleted line 64:
Deleted line 82:
Deleted line 93:
Deleted line 95:
Deleted line 101:
Deleted line 107:
Deleted line 112:
Deleted line 117:
Deleted line 126:
Deleted line 131:
Deleted line 136:
Deleted line 143:
Deleted line 152:
Deleted line 170:
Deleted line 173:
Deleted line 180:
Deleted line 182:
Deleted line 187:
Deleted lines 192-193:
Deleted line 197:
Deleted line 204:
Deleted line 209:
Deleted line 212:
Deleted line 220:
Deleted line 223:
Deleted line 226:
Deleted lines 233-234:
Deleted line 238:
Deleted line 243:
Changed lines 248-250 from:

NOTE: On occasion, the process of bootloading an Atmega chip with the AVR ISP mkII will take an extraordinarily long period of time. Usually it should only take a couple minutes and in fact, the AVRtinyISP finishes much quicker. However, there are times where after 5-10 minutes it still appears to be bootloading. I found this to be an odd hiccup (perhaps it is triple checking the data flow) and after giving it ample time, 10 minutes or so, I usually unplug the programmer only to find the burning process to be a success and has ended long ago. I by no means endorse this method and you take all responsibility in whatever may happen to your chip, but in my experience it has been fairly harmless though you should proceed with caution. It is very possible that you may damage your chip in the process.


to:

NOTE: On occasion, the process of bootloading an Atmega chip with the AVR ISP mkII will take an extraordinarily long period of time. Usually it should only take a couple minutes and in fact, the AVRtinyISP finishes much quicker. However, there are times where after 5-10 minutes it still appears to be bootloading. I found this to be an odd hiccup (perhaps it is triple checking the data flow) and after giving it ample time, 10 minutes or so, I usually unplug the programmer only to find the burning process to be a success and has ended long ago. I by no means endorse this method and you take all responsibility in whatever may happen to your chip, but in my experience it has been fairly harmless though you should proceed with caution. It is very possible that you may damage your chip in the process.

August 20, 2015, at 10:54 AM by Alice Pintus -
Deleted line 33:
August 20, 2015, at 10:53 AM by Alice Pintus -
Added line 18:


Deleted line 81:
August 20, 2015, at 10:51 AM by Alice Pintus -
Changed line 5 from:

Overview

to:

Overview

Changed lines 48-49 from:

Adding circuitry for a power supply

to:

Adding circuitry for a power supply

Changed line 82 from:

ATMEGA8/168/328 Basics

to:

ATMEGA8/168/328 Basics

Changed lines 130-131 from:

Arduino-Ready

to:

Arduino-Ready

Changed lines 160-161 from:

Other Breadboard Options

to:

Other Breadboard Options

Changed lines 170-171 from:

Bootloading your chips OPTIONAL

to:

Bootloading your chips OPTIONAL

Changed lines 285-287 from:
to:


July 01, 2014, at 04:09 PM by Federico -
Added lines 185-186:
ArduinoISP
ArduinoISP
Changed lines 189-190 from:

The AVRISP mkII can be purchased from Digikey (Part # ATAVRISP2-ND) while the USBtinyISP must be assembled and can be found at Adafruit Industries.

to:

The AVRISP mkII can be purchased from Digikey (Part # ATAVRISP2-ND) while the USBtinyISP must be assembled and can be found at Adafruit Industries. The documentation and the links to the Arduino Store and to the distributors list can be found in the ArduinoISP product page.

Changed line 287 from:
to:
July 15, 2013, at 07:20 PM by Roberto Guido - corrected typo. Thanks Dan Bordeau for feedback
Changed lines 120-121 from:

Finally, add the LED. The long leg or the cathode connects to the red wire and the short leg or the anode connects to the 220 ohm resistor going to ground.

to:

Finally, add the LED. The long leg or the anode connects to the red wire and the short leg or the cathode connects to the 220 ohm resistor going to ground.

September 07, 2010, at 04:49 PM by Tom Igoe -
Changed lines 114-115 from:

Refer to the pin mapping Δ above to be sure you are plugging it in correctly.

to:

Refer to the pin mapping above to be sure you are plugging it in correctly.

Changed lines 239-240 from:

Be sure to refer to the Arduino pin mapping Δ for help wiring this up.

to:

Be sure to refer to the Arduino pin mapping for help wiring this up.

September 07, 2010, at 04:38 PM by Tom Igoe -
Changed lines 83-84 from:
to:

http://arduino.cc/en/uploads/Hacking/Atmega168PinMap2.png | Arduino Pin Map

September 07, 2010, at 04:37 PM by Tom Igoe -
Changed lines 83-84 from:
to:
September 07, 2010, at 04:36 PM by Tom Igoe -
Changed lines 83-84 from:
to:
September 07, 2010, at 04:35 PM by Tom Igoe -
Deleted line 0:
Changed lines 83-84 from:
to:
Changed lines 114-115 from:

Refer to the pin mapping Δ above to be sure you are plugging it in correctly.

to:

Refer to the pin mapping Δ above to be sure you are plugging it in correctly.

Changed lines 239-240 from:

Be sure to refer to the Arduino pin mapping Δ for help wiring this up.

to:

Be sure to refer to the Arduino pin mapping Δ for help wiring this up.

September 07, 2010, at 04:29 PM by Tom Igoe -
Added line 1:
Changed lines 17-18 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_parts.jpg | The Supplies

to:
the supplies
The Supplies
Changed line 54 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_02.jpg | Top Power lines

to:
toppower
Top Power lines
Changed line 58 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_03.jpg | Bottom Power lines

to:
bottompower
Bottom Power lines
Changed lines 62-63 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_04.jpg | Add the 7805 and decoupling capacitors

to:
7805
Add the 7805 and decoupling capacitors
Changed line 70 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_05.jpg | LED

to:
PowerLED
LED
Changed line 74 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_05_supply.jpg | Power Supply Input

to:
Power Supply Input
Power Supply Input
Changed line 78 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_06.jpg | Blank Canvas

to:
BlankCanvas
Blank Canvas
Changed lines 84-85 from:

http://itp.nyu.edu/physcomp/uploads/arduino_pinmap.png | Arduino Pin Map

to:
Changed lines 90-91 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_07.jpg | Add supporting circuitry

to:
AddingChipCircuitry
Add supporting circuitry
Changed line 102 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_08.jpg | Add the Clock & Caps

to:
AddClock
Add the Clock & Caps
Changed line 107 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_09.jpg | Add a reset switch

to:
AddReset
Add a reset switch
Changed line 112 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_10.jpg | LED leads on Arduino pin 13

to:
LEDWires
LED leads on Arduino pin 13
Changed lines 115-116 from:

Refer to the pin mapping above to be sure you are plugging it in correctly.

to:

Refer to the pin mapping Δ above to be sure you are plugging it in correctly.

Changed lines 119-120 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_11.jpg | LED on Arduino Pin 13

to:
LED
LED on Arduino Pin 13
Changed lines 125-126 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_12.jpg | Arduino-Ready!

to:
Arduino-Ready!
Arduino-Ready!
Changed lines 133-134 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_13.jpg | Add FT232 USB to Serial Board

to:
Add USB
Add FT232 USB to Serial Board
Changed lines 141-142 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_usbback.jpg | The pinouts of the Sparkfun FT232 breakout

to:
USBBack
The pinouts of the Sparkfun FT232 breakout
Changed line 147 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_14.jpg | Connecting the TX and RX

to:
TXRX
Connecting the TX and RX
Changed lines 182-185 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_mk2.jpg | AVRISP mkII

http://itp.nyu.edu/physcomp/uploads/arduinobb_tiny.jpg | USBtinyISP

to:
AVRISP mkII
AVRISP mkII

USBtinyISp
USBtinyISP
Changed lines 192-193 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_bootload1.jpg | Bootloading on an Arduino board

to:
ArduinoBootload
Bootloading on an Arduino board
Changed lines 203-204 from:

http://itp.nyu.edu/physcomp/uploads/arduinobb_avradapter.jpg | AVR Programming Adapter

to:
AVRAdapter
AVR Programming Adapter
Changed lines 209-210 from:

http://itp.nyu.edu/physcomp/uploads/6pinAVRprogcable.jpg | 6-pin AVR Programmer Cable

to:
6pinAVRprogcable
6-pin AVR Programmer Cable
Changed lines 216-217 from:

http://itp.nyu.edu/physcomp/uploads/6pinAVRproghead.jpg | 6-pin AVR Programmer Cable Head

to:
6pinAVRproghead
6-pin AVR Programmer Cable Head
Changed lines 222-223 from:

http://itp.nyu.edu/physcomp/uploads/arduinobload_pwrgnd.jpg | Add power and ground

to:
AVRpwrgnd
Add power and ground
Changed lines 230-231 from:

http://itp.nyu.edu/physcomp/uploads/arduinobload_plugadapter.jpg | Plug in the AVR adapter

to:
AVRplug
Plug in the AVR adapter
Changed lines 236-237 from:

http://itp.nyu.edu/physcomp/uploads/arduinobload_wires.jpg | Add the MISO, SCK, RESET, and MOSI wires

to:
AVRwires
Add the MISO, SCK, RESET, and MOSI wires
Changed lines 240-241 from:

Be sure to refer to the Arduino pin mapping for help wiring this up.

to:

Be sure to refer to the Arduino pin mapping Δ for help wiring this up.

Changed lines 249-250 from:

http://itp.nyu.edu/physcomp/uploads/arduinobload_plugin.jpg | Plug in the USB cable and AVR programming cable

to:
Plugin
Plug in the USB cable and AVR programming cable
Changed lines 259-260 from:

http://itp.nyu.edu/physcomp/uploads/arduinobload_pickboard.png | Pick your board type

to:
ArduinoPickBoard
Pick your board type
Changed lines 266-267 from:

http://itp.nyu.edu/physcomp/uploads/arduinobload_burn.png | Choose your programmer. Burn!

to:
ArduinoBurn
Choose your programmer. Burn!
Changed lines 272-273 from:

http://itp.nyu.edu/physcomp/uploads/arduinobload_burning.png | Burning

to:
ArduinoBurning
Burning
Changed lines 278-279 from:

http://itp.nyu.edu/physcomp/uploads/arduinobload_burndone.png | Burn Complete!

to:
BurnDone
Burn Complete!
September 02, 2009, at 04:01 PM by Tom Igoe -
Changed lines 6-7 from:

This tutorial shows you how to build an Arduino compatible breadboard with an Atmel Atmega8/168 AVR microcontroller and FTDI FT232 breakout board from SparkFun. You could also use the Arduino USB Mini.

to:

This tutorial shows you how to build an Arduino compatible breadboard with an Atmel Atmega8/168/328 AVR microcontroller and FTDI FT232 breakout board from SparkFun. You could also use the Arduino USB Mini.

Changed lines 40-41 from:

Bootloading your Atmega Chips (Optional)

to:

Bootloading your Atmega Chips

Changed lines 50-51 from:

If you've already worked with microcontrollers, it is likely that you already have a preferred way to wire up a power supply to your board, so go ahead and do it that way. In case you need some reminders, here are some pictures of one way to go about it. (We are going for a 5V regulated power supply)

to:

If you've already worked with microcontrollers, it is likely that you already have a preferred way to wire up a power supply to your board, so go ahead and do it that way. In case you need some reminders, here are some pictures of one way to go about it. (This version uses a 5V regulated power supply)

Changed lines 63-64 from:

Add the 7805 power regulator and the lines to power the board. The regulator is a TO-220 package where the IN-line from the external power supply goes IN on the left, ground is in the middle and the 5V OUT is on the right (when facing the front of the regulator). We're also adding power OUT and ground wires that connect to the right rail and power IN and ground wires off to the left where our power supply may go.

to:

Add the 7805 power regulator and the lines to power the board. The regulator is a TO-220 package where the Input from the external power supply goes input on the left, ground is in the middle and the 5V output is on the right (when facing the front of the regulator). Add power OUT and ground wires that connect to the right and left rails of the breadboard.

Changed line 70 from:

Add an LED on the left side of your board across from the voltage regulator. An LED attached to power like this is a great troubleshooting trick. You'll always know when your board is being powered as well as quickly know if your board is being shorted.

to:

Add an LED and a 220-ohm resistor on the left side of your board across from the voltage regulator. An LED attached to power like this is a great troubleshooting trick. You'll always know when your board is being powered as well as quickly know if your board is being shorted.

Changed line 74 from:

The red and black wires to the left of the voltage regulator is where your power supply will be plugged in. The red wire is for the POWER and the black wire is for the GROUND. Be sure to only attach a power supply that is between 7-16V. Any lower and you won't get 5V out of your regulator. Any higher and your regulator may get too hot. A 9V battery, 9V DC power supply, or 12V DC power supply is suitable.

to:

The red and black wires to the left of the voltage regulator is where your power supply will be plugged in. The red wire is for the POWER and the black wire is for the GROUND. Be sure to only attach a power supply that is between 7-16V. Any lower and you won't get 5V out of your regulator. Any higher and your regulator may be damaged. A 9V battery, 9V DC power supply, or 12V DC power supply is suitable.

Changed lines 78-79 from:

Now that the power-basics are done we are ready to load on the chip!

to:

Now that the power-basics are done you are ready to load on the chip!

Changed line 82 from:

ATMEGA8/168 Basics

to:

ATMEGA8/168/328 Basics

Changed lines 85-86 from:

Before moving on, this image is a great resource for learning what each of the pins on your Atmega chip do in relation to the Arduino's functions. This will clarify a lot of confusion behind why we hook up certain pins the way we do. For even more detailed information, take a peek at the datasheet for the Atmega 168 (short version) (long version).

to:

Before moving on, check out this image. It's a great resource for learning what each of the pins on your Atmega chip do in relation to the Arduino's functions. This will clarify a lot of confusion behind why you hook up certain pins the way you do. For even more detailed information, take a peek at the datasheet for the Atmega 168 (short version) (long version). Here's the sheet for the atmega328 (short version) (long version)

Changed lines 91-92 from:

Start by adding a 10k ohm resistor "up" (to power) on the RESET pin in order to prevent the chip from resetting itself during normal operation. The RESET pin reboots the chip when pulled down to ground. In later steps we will show you how to add a reset switch that takes advantage of this.

to:

Start by connecting a 10k ohm pullup resistor to +5V from the RESET pin in order to prevent the chip from resetting itself during normal operation. The RESET pin reboots the chip when pulled down to ground. In later steps we will show you how to add a reset switch that takes advantage of this.

Changed lines 97-98 from:
  • Pin 20 - AVcc - Suppply voltage for the ADC converter. Needs to be connected to power if ADC isn't being used and to power via a low-pass filter if it is (a low pass filter is a circuit that cleans out noise from the power source, we aren't using one)
to:
  • Pin 20 - AVcc - Suppply voltage for the ADC converter. Needs to be connected to power if ADC isn't being used and to power via a low-pass filter if it is (a low pass filter is a circuit that reduces noise from the power source. This example isn't using one)
Changed lines 102-103 from:

Add a 16 MHz external clock between pin 9 and 10, and add two 22 pF capacitors running to ground on each of those pins.

to:

Add a 16 MHz external clock between pin 9 and 10, and add two 22 pF capacitors running to ground from each of those pins.

Changed lines 107-108 from:

This is where we add the small tactile switch so that we can reset the Arduino whenever we'd like and prepare the chip for uploading a new program. A quick momentary press of this switch will reset the chip when needed. Add the switch just above the top of the Atmega chip crossing the gap in the breadboard. Then, add a wire from the bottom left leg of the switch to the RESET pin of the Atmega chip and a wire from the top left leg of the switch to ground.

to:

Add the small tactile switch so that you can reset the Arduino whenever we'd like and prepare the chip for uploading a new program. A quick momentary press of this switch will reset the chip when needed. Add the switch just above the top of the Atmega chip crossing the gap in the breadboard. Then, add a wire from the bottom left leg of the switch to the RESET pin of the Atmega chip and a wire from the top left leg of the switch to ground.

Changed lines 112-113 from:

The chip I'm using on this board is actually already programmed using the blink_led program that comes with the Arduino software. If you already have an Arduino printed circuit board running it is a good idea to go ahead and check the breadboard version you are building with a chip you know works. The blink_led program blinks pin 13. Pin 13 on the Arduino is NOT the AVR ATMEGA8-16PU/ATMEGA168-16PU pin 13. It is actually pin 19 on the Atmega chip.

to:

The chip used on this board is actually already programmed using the blink_led program that comes with the Arduino software. If you already have an Arduino printed circuit board running, it is a good idea to go ahead and check the breadboard version you are building with a chip you know works. Pull the chip from your working Arduino and try it on this board. The blink_led program blinks pin 13. Pin 13 on the Arduino is NOT the AVR ATMEGA8-16PU/ATMEGA168-16PU pin 13. It is actually pin 19 on the Atmega chip.

Changed lines 136-137 from:

Connect pin 6 of the breakout board to power and pin 9 to ground. With the USB port facing upward, I'm calling the top left pin 1, the bottom left 9, the top right 10, and the bottom right 18.

to:

Connect the VCCIO of the breakout board to power and the GND to ground.

Changed lines 147-149 from:

Now, let's get the USB to serial breakout board talking with your new Arduino setup. Connect the RX (pin 2) of your Atmega chip to pin 10 of the USB to serial board, and connect the TX (pin 3) of your Atmega chip to pin 14 of the USB to serial board.

to:

Now, it's time to get the USB to serial breakout board talking with your new Arduino setup. Connect the RX (pin 2) of your Atmega chip to the TX of the USB to serial board, and connect the TX (pin 3) of your Atmega chip to the RX of the USB to serial board.

Changed lines 179-180 from:

There are also many different kinds of AVR programmers but two are most commonly used here at ITP:

to:

There are also many different kinds of AVR programmers but two are most commonly used:

Changed lines 187-188 from:

The AVRISP mkII can be found in the ER or can be purchased from Digikey (Part # ATAVRISP2-ND) while the USBtinyISP must be assembled and can be found at Adafruit Industries.

to:

The AVRISP mkII can be purchased from Digikey (Part # ATAVRISP2-ND) while the USBtinyISP must be assembled and can be found at Adafruit Industries.

Changed lines 204-205 from:

When bootloading an Atmega chip on a breadboard, I found the AVR programming adapter (SKU BOB-08508) from Sparkfun to be incredibly handy. This adapter breaks out the 6 pins from the programmer to 6 inline pins for easy attachment to the breadboard. All the pins are also labeled making it very easy to connect it up to your chip.

to:

When bootloading an Atmega chip on a breadboard, the AVR programming adapter (SKU BOB-08508) from Sparkfun is incredibly handy. This adapter breaks out the 6 pins from the programmer to 6 inline pins for easy attachment to the breadboard. All the pins are also labeled making it very easy to connect it up to your chip.

September 02, 2009, at 03:43 PM by Tom Igoe -
Changed lines 1-8 from:

Standalone Atmega8

David A. Mellis

Here's a schematic for the Atmega8 with an external crystal oscillator. On the chip are written the corresponding Arduino pin numbers for each Atmega8 pin. The pins prefixed with a D refer to digital i/o pins, while the pins prefixed with an A refer to analog input pins. For example, Atmega8 pin 19, PB5, is digital pin 13 on the Arduino board.

to:
September 15, 2005, at 10:20 PM by 128.122.151.128 -
Deleted line 8:
September 15, 2005, at 10:19 PM by 128.122.151.128 -
Changed lines 9-10 from:
to:

Share