How to Use Arduino Mega 2560 As Arduino Isp

196,321

100

31

Published

Introduction: How to Use Arduino Mega 2560 As Arduino Isp

About: I like electronics and make allot of stuff. I also enjoy helping other people whit problems that i have endured and couldn't find an easy solution for. I Design pcb's , and i study Embedded Systems Engineer...

When i build my Atmega328p-pu on a circuit board for my moped i needed to bootload it.
Because i have none external programming equipment i needed to use my Arduino Mega 2560 as ArduinoISP ( http://arduino.cc/en/Tutorial/ArduinoISP  ) . 


You need:
-Arduino mega
-Breadboard or pcb made atmega chip arduino
-100nF capacitor
-usb cable for arduino mega 2560 -> pc
-arduino IDE ( http://arduino.cc )
-some wires to connect the arduino mega 250 to your homemade arduino.

One of the difficulties of the mega board is that all the pins are different so most tutorials who are aimed at the UNO board or the Duemilanove or Diecimila are useless because the Mega board pinout is different.

To know which pinout is needed for the Arduino Mega 2560 the arduino.cc website has a special webpage : ( http://arduino.cc/en/Main/ArduinoBoardMega2560  ) .

This is how you need to wire up your arduino mega 2560 to an Atmega 168/328 (same pinout)  microchip : See picture above

PS. For the exact pinout of an Atmega 168/328 chip look : http://softsolder.files.wordpress.com/2009/09/arduino-vs-atmega168-chip-pinouts.png?w=640&h=302

The High resolution picture of how to hook the arduino up : http://i54.tinypic.com/k55pb9.png

Step 1: Uploading the ArduinoISP Sketch

Now open the latest version of the Arduino IDE (currently 0022) .
Goto Tools
                     -> Board
                                      ->  Arduino Mega 2560

Now choose the correct Com port via Tools -> Serial port -> select the port used by you're arduino mega 2560.

Goto File 
                -> Examples
                                       -> ArduinoISP

The ArduinoISP sketch will open up and now click upload to upload the sketch to the Arduino Mega 2560.

When the sketch is fully uploaded  Put a 100nF Capacitor Between +5V and RESET pin on the Arduino Mega 2560 to disable auto reset. (whitout this tutorial wont work !)

Step 2: Time to Burn the Bootloader

Picture 1: First: select the board you want to upload to. 
Ex. for my Atmega328 chip and an external 16MHz crystal i chose: Arduino Duemilanove or Nano /w Armega 328 ( see pic 1 )

Picture 2:  Goto Tools -> Burn Bootloader -> w/ Arduino as ISP
The board will begin bootloading.

Picture 3: When bootloading is successful you can enjoy your new homemade Arduino.

If you get errors :

1. Make sure you selected the correct board ( Picture 1 )
2. When getting this error:  avrdude: stk500_getsync(): not in sync: resp=0x00
You did not put an 100nF capacitor between +5v and RESET pin on the Arduino Mega 2560
3. IF you still get another error search on google 
4. If you still find no solution goto arduino forum : http://arduino.cc/forum/index.php/board,67.0.html
and post your problem + a link to this instructables.


Step 3: Finally Uploading the Programs to Your New Arduino

When your arduino is not set up whit auto-reset (DTR) you will have difficulties uploading new programs to the arduino.
And you will get this error: " avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51 " 

This means the arduino IDE could not reset the arduino and so the upload has failed.

To fix this you can try (depends on hardware etc...) :
1. Press reset button on your arduino when "Binary sketch size: xxxx bytes (of a xxxxxxx byte maximum)" appears.
2. If that does not work you can try to put the usb cable in the computer but not in the arduino. When the "binary sketch" stuff appears you quickly put the usb cable in the arduino and see if it uploads without and error.
3. If that still doesn't work you can try to hold the reset button on the arduino , press upload in the arduino IDE and release the reset button when the "binary sketch size ... " stuff appears.
4. If that still doesn't work you can try to press reset after the " binary sketch size ... " and hod it for 2-10 seconds ( it depends on hardware how long you need to hold it)
5. If that still doesn't work you can try to bootload it again and see if it was an error in the primary bootloading.
6.If that still doesn't work you can try to use ur other arduino ( if you have another) to program the second arduino 
   This link for more info: http://www.arduino.cc/en/Hacking/Programmer .
7. If that still doesn't work you can ask for help on the arduino.cc forum , maybe ur arduino microchip is dead ?
or a fake .  http://arduino.cc/forum/

i hope i could help you!
Greetz spike

Share

    Recommendations

    • Clocks Contest

      Clocks Contest
    • Creative Misuse Contest

      Creative Misuse Contest
    • Water Contest

      Water Contest

    31 Discussions

    Note that with Arduino IDE 1.6.6 and newer the ArduinoISP sketch is found at File > Examples > 11.ArduinoISP and you need to connect pin 10 of the programmer board (Mega in this case) to the reset pin of the target microcontroller, not pin 53 of the Mega as it used to be with earlier versions of the ArduinoISP sketch.

    Hi,

    I had an issue with my arduino mega 2560 that is the watchdog timer code was not working. After burning the bootloader issue resolved.

    But my question is what are the changes that has happened to Mega2560. If any new issue arises can I revert it back to old bootloader ?

    hi my arduino show this message if you can help me plz

    avrdude: stk500_recv(): programmer is not responding

    Hi!

    I'm on an ElCapitan MAC as well.

    I added a 10uF capacitor between VCC (+5V) and RESET (PWM10) on the
    MEGA2560 in order to udpate a USBaspv2 firmware and this is what I get:

    ----------------------

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.02s

    avrdude: Device signature = 0x1e9307 (probably m8)
    avrdude: safemode: hfuse reads as D9
    avrdude: reading input file "/Users/alex/Desktop/USBasp2.hex"
    avrdude: writing flash (4700 bytes):

    Writing | ################################################## | 100% 6.67s

    avrdude: 4700 bytes of flash written
    avrdude: verifying flash memory against /Users/alex/Desktop/USBasp2.hex:
    avrdude: load data flash data from input file /Users/alex/Desktop/USBasp2.hex:
    avrdude: input file /Users/alex/Desktop/USBasp2.hex contains 4700 bytes
    avrdude: reading on-chip flash data:

    Reading | ################################################## | 100% 3.33s

    avrdude: verifying ...
    avrdude: verification error, first mismatch at byte 0x0002
    0xcc != 0xa6
    avrdude: verification error; content mismatch

    avrdude: safemode: hfuse reads as D9
    avrdude: safemode: Fuses OK (E:FF, H:D9, L:9F)

    avrdude done. Thank you.

    ----------------------

    Any clues what am I doing wrong?


    Thanks!

    I had this same problem and could not solve for weeks.

    I am also using mac and tried to use this tutorial but did not work (MacOS El Capitan).

    I added a 100 nF capacitor between VCC and the Reset and ran everything perfectly.

    I hope to be helping others too.

    I used:

    Arduino Uno // chinese

    0
    user
    qbiinz

    2 years ago

    I'm having trouble using the serial monitor to communicate with the atmega328p chip? Im using the arduino mega2560 as an isp to program an atmega328p on a breadboard, ive been successful in loading the bootloader and test sketches like blink to the chip, but now im trying to test a simple sketch that allows me to input a char into the serial monitor and should return a statement based on whether it reads the right char. So i uplaod the code just to the arduino mega2560 and it works fine, but when i turn it into an isp and upload it to the atmega328p on the breadboard i can no longer communicate through the serial monitor.

    thanks for the great tutorial! it worked with the blink sketch with an atmega328 on a breadboard... but after uploading, it seemed even my mega got the blink sketch, as the onboard led started blinking. is this suppoesd to happen? or did i do something wrong?

    1 reply

    I'm thinking that may be a pre-loaded sketch also written to the device with the bootloader, as mine came up with a 2x 1/2-second blinks, 1 second wait, loop indicator after re-burning my 2560 yesterday. (and seeing a XDRduino (mega2560 R3 Clone) running the same sketch out of the box, err.. Static Bag.)

    I'm wondering if the reverse can be done? I.E. reburning the bootloader for a 2560 using an UNO? My 2560 is acting up when I try connecting it to a Linux platform, requiring multiple unplug./reconnect's from the USB cable.. (when attempting to send a sketch to 2560, it remarks that it cannot locate the device, even though I know it's connected.) Also, it requests a weird USB port, other than /dev/ttyUSB0.) the Uno is a R2, (no SDA/SCL pins to the left of Ref).. latest IDE is V1.0.6 (yes, it will load under Linux/Ubuntu-Debian, despite the latest canonical being 1.0 on Ubuntu Software.)

    1 reply

    Update, I seem to have figured it out, partially, and with a small question..

    I found a few more tutorials on how to hook up the Duemilinova or the UNO as an SPI master device (ArduinoISP in the examples).. After a 1st attempt, accidentally swapping MOSI/MISO, got the error LED lit, 2nd attempt, I managed to get the bootloader to burn, ran perfect for 160 seconds (19200 baud, Crikey! Forgot how slow that was! and couldn't change it to anything faster because the ArduinoISP loader will not sync correctly.) no error LED, the mega2560 showing a 2 blink, 1 second wait loop, but the IDE saying an incorrect response, (response on another computer) .. But, two examples compiled, uploaded, and ran from the 2560.. So, I'm hoping I've fixed the problem.

    thanks for the great tutorial! it worked with the blink sketch with an atmega328 on a breadboard... but after uploading, it seemed even my mega got the blink sketch, as the onboard led started blinking. is this suppoesd to happen? or did i do something wrong?

    thanks a million for this! works a charm :)

    By the way, the bootloader also seems to be hardcoded to 16MHz - and this now allows me to upload my scripts via the serial interface as well.
    I just tell it to upload, hit the reset, and away it goes. This never worked at the 14.7456MHz frequency either and gave the errors mentioned in my other post.

    I have run into the avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51 (or resp=0x68 or resp=0x?? where ?? can be any number of different numbers) and the one thing that nobody seems to mention, which I finally figured out on my own is that serial is VERY timing dependant - and as such, if your serial library derives it's timing from the processor's clock, then your clock must be running at the same frequency.
    I had a project where the serial communications simply wouldn't work after I moved the project off the Arduino board.
    The problem? When I moved the project, I used a 14.7456MHz oscillator. I used that frequency because it usually makes writing serial timing easier since the baud rates are even divisions of this frequency. Unfortunately since I was using a standard library when developing it on the Arduino, it was all made for a 16MHz clock.
    Once I changed the standalone circuit crystal to 16MHz, suddenly everything worked!
    I hope this helps someone in the future !!! I know I was stumped for quite a while with this!

    I had some problems with burning the bootloader.
    I used Arduino MEGA 2560 and tried to burn bootloader in Arduino Duemilanove 326P.
    Everything was connected according to the tutorial, but It resulted in error messages "out of sync".
    I solved it by changing the heartbeat from 40 to 20.

    If you keep having problems and want to fix them just buy an programmer from Atmel , they are only like 30 USD and are really easy to use whit AVR studio and you can burn the Arduino firmware whit it.

    1 reply

    hi sir,
    I am bharat i am using Arduino mega 2560 while uploading i getting this error what to do next sir to overcome this problem please help me
    thanking you



    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\ReadAnalogVoltage.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\ReadAnalogVoltage.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\WInterrupts.c -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\WInterrupts.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\wiring.c -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\wiring.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\wiring_analog.c -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\wiring_analog.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\wiring_digital.c -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\wiring_digital.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\wiring_pulse.c -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\wiring_pulse.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\wiring_shift.c -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\wiring_shift.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\CDC.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\CDC.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\HardwareSerial.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\HardwareSerial.cpp.o
    C:\arduino-1.0.1\hardware\arduino\cores\arduino\HardwareSerial.cpp: In function 'void store_char(unsigned char, ring_buffer*)':
    C:\arduino-1.0.1\hardware\arduino\cores\arduino\HardwareSerial.cpp:82: warning: comparison between signed and unsigned integer expressions
    C:\arduino-1.0.1\hardware\arduino\cores\arduino\HardwareSerial.cpp: In member function 'virtual size_t HardwareSerial::write(uint8_t)':
    C:\arduino-1.0.1\hardware\arduino\cores\arduino\HardwareSerial.cpp:390: warning: comparison between signed and unsigned integer expressions
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\HID.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\HID.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\IPAddress.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\IPAddress.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\main.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\main.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\new.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\new.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\Print.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\Print.cpp.o
    C:\arduino-1.0.1\hardware\arduino\cores\arduino\Print.cpp: In member function 'size_t Print::print(const __FlashStringHelper*)':
    C:\arduino-1.0.1\hardware\arduino\cores\arduino\Print.cpp:44: warning: '__progmem__' attribute ignored
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\Stream.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\Stream.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\Tone.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\Tone.cpp.o
    C:\arduino-1.0.1\hardware\arduino\cores\arduino\Tone.cpp:93: warning: only initialized variables can be placed into program memory area
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\USBCore.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\USBCore.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\WMath.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\WMath.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -IC:\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1\hardware\arduino\variants\mega C:\arduino-1.0.1\hardware\arduino\cores\arduino\WString.cpp -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\WString.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\WInterrupts.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\wiring.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\wiring_analog.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\wiring_digital.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\wiring_pulse.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\wiring_shift.c.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\CDC.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\HardwareSerial.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\HID.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\IPAddress.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\main.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\new.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\Print.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\Stream.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\Tone.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\USBCore.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\WMath.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-ar rcs C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\WString.cpp.o
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-gcc -Os -Wl,--gc-sections,--relax -mmcu=atmega2560 -o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\ReadAnalogVoltage.cpp.elf C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\ReadAnalogVoltage.cpp.o C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\core.a -LC:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp -lm
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\ReadAnalogVoltage.cpp.elf C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\ReadAnalogVoltage.cpp.eep
    C:\arduino-1.0.1\hardware\tools\avr\bin\avr-objcopy -O ihex -R .eeprom C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\ReadAnalogVoltage.cpp.elf C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\ReadAnalogVoltage.cpp.hex
    Binary sketch size: 5,198 bytes (of a 258,048 byte maximum)
    C:\arduino-1.0.1\hardware/tools/avr/bin/avrdude -CC:\arduino-1.0.1\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega2560 -cwiring -P\\.\COM3 -b115200 -D -Uflash:w:C:\DOCUME~1\SH\LOCALS~1\Temp\build8476703640344052643.tmp\ReadAnalogVoltage.cpp.hex:i

    avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
    Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
    Copyright (c) 2007-2009 Joerg Wunsch

    System wide configuration file is "C:\arduino-1.0.1\hardware/tools/avr/etc/avrdude.conf"

    Using Port : \\.\COM3
    Using Programmer : wiring
    Overriding Baud Rate : 115200
    avrdude: wiring_open(): releasing DTR/RTS
    avrdude: wiring_open(): asserting DTR/RTS
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
    avrdude: Recv:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_getsync(): timeout communicating with programmer

    avrdude done. Thank you.

    So, my question is...You can't actually upload a sketch to a breadboarded Arduino with a Mega 2560 as a programmer, only the bootloader? Is this correct? Unfortunately, I'm not a programmer (yet), but can't a sketch be written to board #1, an Arduino board (Uno, Mega 2560, BBB, etc.) that contains a sketch inside of it that is output , as data would be sent to any other device (motor, LCD, etc.),  to board #2, an Arduino board (Uno, Mega 2560, BBB, etc.)? I suppose that the sketch on board #1 would cause it to be uploaded to board #2. Essentially, board #1 would be acting as a PC (or Mac) that is uploading a sketch to an Arduino. Would the sketch end up being too large, or is it just not feasible?

    Just a thought,
    Apt (or am I??)