Go Down

Topic: Arduino as ISP / ATtiny85 "protocol" Errors (Read 4476 times) previous topic - next topic


I'm following the steps here to program an ATtiny85 chip using an Arduino UNO.


I have version 1.0 of the Arduino software, and I'm using the files from the damellis-attiny-6bff522.zip at https://github.com/damellis/attiny/zipball/Arduino1

My setup is attached and as far as I can tell the wiring is correct.

Before wiring it all up, I followed these steps from http://hlt.media.mit.edu/?p=1695

(maybe I did this in the wrong order?)

"Configuring the ATtiny to run at 8 MHz (for SoftwareSerial support)

By default, the ATtiny's run at 1 MHz (the setting used by the unmodified "ATtiny45?, etc. board menu items). You need to do an extra step to configure the microcontroller to run at 8 MHz - necessary for use of the SoftwareSerial library. Once you have the microcontroller connected, select the appropriate item from the Boards menu (e.g. "ATtiny45 (8 MHz)"). Then, run the "Burn Bootloader" command from the Tools menu. This configures the fuse bits of the microcontroller so it runs at 8 MHz."

Then, from the instructions at http://hlt.media.mit.edu/?p=1706 I uploaded the ArduinoISP sketch to my Uno.

Then I wired everything as in attached picture.  I am first trying to just upload the simple BLINK example to the ATtiny85 and running into errors on upload. The settings I'm using are:

Board:  ATtiny85 (8 Mhz)
Programmer: Arduino as ISP

I know the "define PAGEL and BS2" are normal errors and I can just ignore those, but I'm getting other errors below that section:

Binary sketch size: 774 bytes (of a 8192 byte maximum)
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x64
avrdude: stk500_cmd(): protocol error

There's only one thing I did wrong I just realized as I was writing this post and re-reading all the steps, and I am not at home where I can re-test but I don't think it would cause an error at this point - in the Blink sketch I replaced pin "13" with "3", but one of the links above said to use "0" as the pin number. I don't think this is causing the errors but just throwing that out there in case it is.

I am using a Windows 7 x64 system.

Hopefully someone out there can spot what I'm doing wrong   :~

Thanks in advance.

Coding Badly


I believe so - this is an UNO so I'm using a capacitor between reset and ground.

Thats what you meant right?


Where did you get the ArduinoISP sketch that you uploaded to the Uno? The one supplied with Arduino 1.0 doesn't work under Arduino 1.0. There are a couple of threads in this section of the forum about that, with remedies.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Coding Badly

Jan 20, 2012, 09:04 pm Last Edit: Jan 21, 2012, 03:09 am by Coding Badly Reason: 1


Or, you can try the latest version of ArduinoISP...

Or, you can lower the baud rate to 9600...

Coding Badly

I believe so - this is an UNO so I'm using a capacitor between reset and ground.

Applied just after uploading the ArduinoISP sketch.

Thats what you meant right?



Thanks guys

I couldn't get the new ArduinoISP to work for me for some reason, so I downloaded arduino-0023, uploaded the ArduinoISP sketch using the older Arduino version, then switched back to Arduino 1.0 and got things working  :)


yeah, for all those out there using the MIT setup, i found a TinyShield that has all that stuff built in.  http://www.flytron.com/open-source-hardwares/162-tinyshield-all-in-one-avr-programmer-shield-for-arduino.html

it works flawlessly...but NOT ON IDE 1.0,  i run it on V0023!!

Now to business, i am now trying to set the fuse for the /8 disable, in other words changing the stock 1MHZ to 8 Mhz which seems to be futzing up Chas's security device project. http://youtu.be/DFMk1MOYv1Y , in an effort to use the serial Monitor via the t85 as mentioned by the topic originator.

To set the fuze i understand that:
1.i have to use avrdude directly
   A. downloaded both winAvr and winAvr portable
   B. Using WinAvr portable AND the TinyShield  AND arduino V0023 running Arduino as Isp, i put in and got back the following:

N:\bin>avrdude -c avrisp -p t85 -P com4
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0xe0

avrdude done.  Thank you.

C. B. Using the avrdude from the V0023 install, AND the TinyShield  AND arduino V0023 running Arduino as Isp, i put in and got back the following:

the following code WORKS, OR AT LEAST COMMUNICATES  with my Tiny85!!!
avrdude -pm328p -cstk500v1 -b19200 -PCOM4 -v -C ..\etc\avrdude.conf -U lfuse:w:0xFF:m -U hfuse:w:0xD6:m -U efuse:w:0x05:m

substituting the path yo MY avrdude.conf


The easy way tochange the fuses to 8Mhz clock-speed, ( in my opinion at least)

1. Select the board: Attiny85@8Mhz
2. Select Burn Bootloader W/arduino as ISP

See below

Go Up