Programming an ATtiny85 with Arduino Code and Arduino Uno as Programmer

In that diagram the black wire above the blue wire should be one hole to the left - I think the blue is correct.

Okay so I got it to work!

But I promise all I changed was attaching the three LEDs.
During the process the error led lights up shortly.
The power led stays on and the working led blinks.

The pullup resistor is not necesary.

Thanks for your help guys!

I tried it with another (small) ATtiny85 on a PCB with components attached and got this problem:

avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

and after some tries its always this one

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

During the upload only the power led is on.
This ATtiny already has a sketch on it.

I tried it with another (small) ATtiny85 on a PCB with components attached and got this problem:

Components?

Two LEDs, a light sensor, a piezo buzzer and a button. It also has a battery slot and some resistors.
I dont have the schematics but I think the components are simply wired up to the five pins.

The LEDs are very unlikely to be a problem.

The light sensor may or may not be a problem.

If the piezoelectric buzzer is wired directly to an SPI pin it is a problem.

I watched the board being programmed with the ATtiny soldered on it so Im quite sure its possible. It has eight holes for programming.

Enable verbose output for uploads and post the results. Please use code tags.

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:\Program Files\Arduino\arduino-1.0.1\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM3
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
         AVR Part                      : ATtiny85
         Chip Erase delay              : 4500 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65     6     4    0 no        512    4      0  4000  4500 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         65     6    32    0 yes      8192   64    128  4500  4500 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
avrdude: Send: A [41] . [80]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Recv: . [15] 

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x15
avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Recv: . [14] 

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [10] 

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
avrdude: Send: A [41] . [98]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Recv: . [14] 

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
         Hardware Version: 1981277309
         Firmware Version: -2.-1937312626
avrdude: Send: A [41] . [84]   [20] 
avrdude: Recv: . [02] 

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x02
avrdude: Send: A [41] . [85]   [20] 
avrdude: Recv: . [10] 

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
avrdude: Send: A [41] . [86]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [01] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [87]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [12] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [89]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
         Vtarget         : 429496729.4 V
         Varef           : 235765467.0 V
         Oscillator      : 194.021 kHz
         SCK period      : 0.1 us

avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: B [42] . [14] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] @ [40] . [02] . [00] . [00] . [00]   [20] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: stk500_initialize(): (b) protocol error, expect=0x10, resp=0x00
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [10] 
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10

avrdude done.  Thank you.

avrdude and the ArduinoISP sketch lost synchronization. It's an annoying bug in the ArduinoISP sketch.

Give this version a try...

I downloaded this from your thread.
It worked with my single attiny (the core from MIT media lab worked with this one as well) but not with my onboard attiny.
Only the power led of the programmer lights up.

This is the error:

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:\Program Files\Arduino\arduino-1.0.1\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM3
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: 
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done.  Thank you.

Did you try the ArduinoISP sketch from the link I posted?

I tried that one codingBadly,

I keep on getting an error invalid conversion from 'const char*' to 'uint8_t'

funkyguy4000:
I keep on getting an error invalid conversion from 'const char*' to 'uint8_t'

Binary sketch size: 5,176 bytes (of a 32,256 byte maximum)

Compiles for me using Arduino 1.0.1 on Windows with Arduino Uno as the selected board.

Im sorry I didnt find the attachment in the first place.
I tried the ArduinoISP sketch from the attachment.
However, I got the same results.
The two ArduinoISP sketches are identical, exept in line 126 heartbeat(); is commented off.

marian42:
I watched the board being programmed with the ATtiny soldered on it so Im quite sure its possible. It has eight holes for programming.

What device was being used to program the ATtiny? Maybe someone with greater knowledge of Atmel chips can say if you can still program these chips using ArduinoISP if the reset disable and/or the SPI program fuse is set, or do you have to use high voltage programming?

I assembled the board on an exhibition myself and it was programmed by a self-made piece of hardware that was connected to a laptop.
I asked whether it is possible to program it my self with an arduino and I was told to use the tutorial from MIT Media Lab.

if the reset pin is disabled and/or spi programming is disabled then you have to either use a hv programmer to program, or a hv programmer to set the fuse byte to enable both the reset pin and spi programming bits and then you can use isp to program again.

Im not sure about the reset pin but they told me that it is possible to lock ATtinies and that this one is not locked.

Riva:
Maybe someone with greater knowledge of Atmel chips can say if you can still program these chips using ArduinoISP if the reset disable and/or the SPI program fuse is set, or do you have to use high voltage programming?

You need HVP if the reset pin has been configured as an I/O pin.

marian42:
Im not sure about the reset pin but they told me that it is possible to lock ATtinies and that this one is not locked.

You can "lock" it against SPI programming is by configuring the reset pin as a general I/O pin. I don't think there's any way to lock them against special programmers (HVP).