0
votes

I set up my Arduino and ATtiny45 the way the tutorial How-To: Shrinkify Your Arduino Projects showed. I wish to make an LED, hooked up to my breadboard, blink.

I'm running Windows XP, and I have the latest release of the Arduino IDE and have set up my programmer to be Arduino as ISP, as well as my board to be ATtiny45 (8 MHz internal clock).

The problem occurs when I try and upload the compiled code onto the board. The IDE returns this error:

avrdude: stk500_getsync(): not in sync: resp=0x00

I have searched for answers for a long time, but I found nothing. How do I fix it?

4

4 Answers

0
votes

It means that your microcontroller is not detected. Things to check:

  1. Wiring: are the pins used for chip programming correctly connected (no crossing?)
  2. Power supply: Is the board properly powered?
  3. PC configuration: Is the Arduino IDE using the correct port of the PC?

and from the Arduino help:

  1. If you have an Arduino NG, did you press reset just before selecting Upload menu item?
  2. Is the correct serial port selected?
  3. Is the correct driver installed?
  4. Is the chip inserted into the Arduino properly?
  5. If you built your own Arduino or have burned the bootloader on yourself: Does the chip have the correct bootloader on it?

Arduino is bootloader based. This means that the chip must have a little piece of software inside that is responsible for the communication with the Arduino IDE and the self programming of your application binary into the chip. This piece of software is called "bootloader". If your chip came empty ( sold separately or erased by mistake ), there is no bootloader inside.

There is no way to program a booloader into a chip without using an external programmer. (Or another bootloader already inside. Some chips include a low level bootloader in the ROM...) But, luckily for you, building a home made programmer for AtTiny is easy. Search google for "AtTyny ISP programmer".

And if you have questions about that, ask them at "Electrical Engineering StackExchange"

0
votes

When you get a virgin ATTiny, you need to set the fuse bits on it. It does not require the Arduino bootloader, but the process is similar to burning the bootloader. This tutorial helped me get my ATTiny85 up and running, take note of the "Configuring the ATtiny to run at 8 MHz (for SoftwareSerial support)" section.

Also, I've noticed there are different 'board drivers': the items that appear in 'Tools > Board' in the Arduino IDE. You may be using a set that does not work, try this, this or have a google around to find more. Just be sure to go through the entire process when you try a new set (i.e. burn the bootloader, reboot, burn your code).

Good luck.

0
votes

In my case i had the same issue with Duemilenove Arduino compatible board i bought

I found this fix.

Go to \hardware\arduino\boards.txt, find this line "uno.name=Arduino Uno uno.upload.protocol=arduino", replace the protocol=arduino to =stk500. I don't know if it works on Uno, but it did save me from similar issue with Duemilanove.

0
votes

I've had the same problem with getting attiny85 to work. In my case, arduino micro was used to program it. I digged into this problem and found that the recent version of arduino IDE(1.8.5) was slightly wrong with its configuration of utilizing the avrdude. I'm assuming that you already tried burning bootloader but it fails with STK500 sync error.

How to fix:

  1. Prepare a text editor program which is able to edit unix line ending files properly. eg) Vim, Emacs, Microsoft Visual Studio, notepad+, atom
  2. Go to the arduino install directory. eg) C:\Program Files(x86)\Arduino
  3. Open hardware\arduino\avr\programmers.txt with the editor you prepared. If it's under the program files directory, running text editor as administrator would be useful.
  4. On line 44, you can find Arduino as ISP. Keep following those lines and edit these two lines like below. arduinoasisp.protocol=arduino arduinoasisp.program.protocol=arduino
  5. Save and try burning bootloader again.

It must had stk500v1 as default. It basically should be the same but the recent version of avrdude(also included in arduino ide by default) has different workflow on them.

Another useful info: burning bootloader on attiny also does fuse work.