Go Down

Topic: Programming an ATtiny85 with Arduino Code and Arduino Uno as Programmer (Read 4981 times) previous topic - next topic

marian42

Hi,

Id like to program an ATtiny85 with Arduino code using an Arduino Uno as programmer as explained in the tutorial by MIT Media lab.

When uploading the blink sketch or trying to burn a bootloader it says:

Code: [Select]
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: Yikes!  Invalid device signature.
        Double check connections and try again, or use -F to override
        this check.


I heard that I can ignore the first error.
What did I do wromg?
The arduino has an ATmega328 chip.

Also, here is a picture of my setup.

Tom Carpenter

You *may* need a 10k pullup resistor on the reset pin (between pin1 and pin8).  All the other connections appear correct.
~Tom~


Tom Carpenter

Do the lights on the Arduino blink when you try and upload?
~Tom~

Erni

It would be easyer to troubleshoot if you connect the 3 LED's mentioned in the sketch

Quote

Put an LED (with resistor) on the following pins:
9: Heartbeat - shows the programmer is running
8: Error - Lights up if something goes wrong (use red if that makes sense)
7: Programming - In communication with the slave


And you could try this core:
http://code.google.com/p/arduino-tiny/downloads/list

Coding Badly


The blue wire does not look correct.

Going from left-to-right, the second green wire is not necessary.

Tom Carpenter



The blue wire does not look correct.


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

marian42

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:

Code: [Select]

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
Code: [Select]

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.

Coding Badly

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


Components?

marian42

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.

Coding Badly


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.

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.

Coding Badly


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

marian42

Code: [Select]
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.

Coding Badly


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

Give this version a try...
http://arduino.cc/forum/index.php/topic,108797.msg824488.html#msg824488

Go Up