Pages: [1]   Go Down
Author Topic: Arduino as ISP / ATtiny85 "protocol" Errors  (Read 2230 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

http://hlt.media.mit.edu/?p=1695

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   smiley-confuse

Thanks in advance.


* arduino-isp.jpg (649.69 KB, 1024x927 - viewed 46 times.)
Logged

Global Moderator
Dallas
Online Online
Shannon Member
*****
Karma: 197
Posts: 12741
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Did you disable auto-reset on the Uno?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Thats what you meant right?
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 223
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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.

Global Moderator
Dallas
Online Online
Shannon Member
*****
Karma: 197
Posts: 12741
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


http://arduino.cc/forum/index.php/topic,82011.0.html

Or, you can try the latest version of ArduinoISP...
https://github.com/rsbohn/arduinoisp


Or, you can lower the baud rate to 9600...
http://code.google.com/p/arduino/issues/detail?id=661
https://github.com/arduino/Arduino/tree/master/build/shared/examples/ArduinoISP
https://github.com/arduino/Arduino/commit/80a2154279a02fd69f995ef6ff9eb889363c73ca
« Last Edit: January 20, 2012, 09:09:08 pm by Coding Badly » Logged

Global Moderator
Dallas
Online Online
Shannon Member
*****
Karma: 197
Posts: 12741
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Applied just after uploading the ArduinoISP sketch.

Quote
Thats what you meant right?

Yes.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:

Update!!!!
C:\Downloads\arduino-0023\arduino-0023\hardware\tools\avr\etc\avrdude.conf
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






Logged

Denmark
Offline Offline
Edison Member
*
Karma: 35
Posts: 1051
Happy Hobbyist
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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



* Burn_85.jpg (52.76 KB, 500x384 - viewed 37 times.)
Logged

Pages: [1]   Go Up
Jump to: