Hello,
I am trying to build an inexpensive Arduino Uno using Sparkfun’s ATMEGA8U2 Breakout and ATmega328p with Bootloader. However I can not get ATMEGA8U2 Breakout (DEV-10277) to load program (sketch) into ATmega328p while using the Arduino IDE software (v0022 alpha, which is the latest version as of July 21, 2011).
Arduino IDE running on Windows reports the following error:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
Arduino IDE running on Linux Mint 11 reports the following error:
avrdude: stk500_recv(): programmer is not responding
My hardware setup is:
ATMEGA8U2 Breakout connected (via FTDI) to ATmega328 with Arduino Optiboot (Uno) product (DEV-10524). I wired it together to create the simple blink (hello world) using the instructions found at: http://log.liminastudio.com/itp/physica … ap-and-fun.
With only a few miner differences: I’m using 9V battery with LM7805 (5 volt regulator) with filter capacitors to power Arduino. I don’t have regulated +5 connected back into FTDI connecter’s +5 volts for obvious reasons. (The only FTDI connections I am using are TX to MOSI pin17, RX to MISO pin18, DTR through a 0.1µF capacitor in order to pull down RESET pin1 through a 10k resistor, and both FTDI GNDs are tied together). I also have AVCC (pin20) on ATmega328 connected to VCC as in Sparkfun’s tutorial at http://www.sparkfun.com/tutorials/93.
My Windows software setup is:
LV-602 Mini-Flex PC133 Motherboard w/ USB1.1. Win2k SP4. Installed the provided Sparkfun INF driver for ATMEGA8U2 Breakout. Displays correctly inside Device Manager as “SparkFun COM Port (COM3)”. Tested COM3 using terminal program – it echoes back any characters typed on keyboard, as long as both RX and TX are jumped together on ATMEGA8U2 Breakout board.
Uncompressed Arduino IDE software v0022. Start Arduino software and opened “Blink” sketch located under “File/Examples/1.Basic”, and then I selected “Arduino Pro (5V, 16MHz) w/ATmega328” (per Sparkfun’s instructions) as the Board type and “Com 3” as the Serial Port. Selected upload button. Got Error - Even tried doing a manual reset of ATmega328 by using the button on my breadboard, before pressing upload button inside Arduino IDE software. Keep getting the same error message. Even though COM3 loop-back tested OK, I still thought this maybe a driver issue, so I decided to try it using Linux Mint, because a driver is included within my version of Linux.
Linux Mint 11 Software setup is:
LV-602 Mini-Flex PC133 Motherboard w/ USB1.1. Linux Mint 11 RC released (Katya) 32-bit. Linux version 2.6.38-8-generic (gcc version 4.5.2 (Unbuntu/Linaro 4.5.2-8ubuntu3).
Installed Arduino IDE software using Mint’s Package Manager. Opened “Blink” sketch, and selected “Arduino Pro (5V, 16MHz) w/ATmega328” as the Board type, and “ttyACM0” as the port. Select upload button, and bam error. FYI: I can use Arduino IDE’s built-in port monitor to echo back a string of characters, and the ATMEGA8U2 Breakout board will send the string back, as long as both RX and TX are connected together on the Breakout board.
Question 1. When the ATMEGA8U2 Breakout (DEV-10277) is use as “SparkFun COM Port”, does it and it’s driver simply act as an USB to COM port adapter, thus passing ALL data through it and not blocking any data or capturing control characters?
Question 2. The product’s description states to setup board as “ SparkFun COM Port” using the provided INF, which I did successfully. However I am beginning to doubt the product’s statement, so should the “ATMEGA8U2 Breakout (DEV-10277)” be installed inside Windows as a “SparkFun COM Port” when using the Arduino IDE software, or be installed as something else?
Question 3. Do I need to use SCK pin19 on Atmega328 w/ Bootloader, and if so how is it used? My confusion is with two conflicting tutorials; one at “http://log.liminastudio.com/itp/physica … ap-and-fun”, which is not using the clock (SCK) they only use TX, RX, and DTR through a 0.1µF capacitor in order to pull down RESET pin1 through a 10k resistor. Where the other tutorial at “http://www.sparkfun.com/tutorials/93”, does utilize the clock SCK pin19 (black wire inside photo). So I’m a little confused on when and how to use SCK, so basically – To Clock or not to Clock that is the question. LOL.
Actions I have previously taken:
I have searched Arduino Hardware Troubleshooting Forum (http://www.arduino.cc), and this error (stk500_getsync(): not in sync: resp=0x00) is what happens when your computer isn’t communicating with the Arduino (ATmega328 w/ Bootloader), so I tried selecting “Uno” as the Board type sense the Arduino Uno uses an ATMEGA8U2 to communicate with it’s own ATmege328, which is similar to my hardware setup.
Attempted closing Arduino IDE, and disconnecting all cables USB and FTDI, then restarting Arduino IDE with all cables connected. Tried this method using “Arduino Pro (5V, 16MHz) w/ATmega328” and “Uno” as the board types.
Tried swapping TX and RX around, so that TX connects to MISO pin18, and RX connects to MOSI pin17. Tried this method using both board selections as above.
Tried disconnecting DTR from FTDI, and using a manual reset button on my ATmega328’s Breadboard, before starting the Arduino Upload. Again I tried this method using both board selections, and with TX and RX swapped and not swapped.
I have searched Sparkfun’s forum at: http://forum.sparkfun.com, for the error “avrdude: stk500_getsync(): not in sync: resp=0x00” and found no such topics, so I decided to create this new help topic, inside there forum.
Hopefully these is someone out there with experience in dealing with Sparkfun’s ATMEGA8U2 Breakout and Arduino, who can provide some help getting my ATmega328 w/ Bootloader, to except programming through the ATMEGA8U2 Breakout board.
Thanks in advance,
Respectfully submitted.
Lucky Lepton.