Uno as ISP

Hi there,

I have read many posts and clicked around for weeks trying to solve my problem. I am looking to use my Arduino Uno as an ISP to upload the blink.hex file to a ATtiny 2313. I have used the same method of connecting the ATtiny 2313 that many other people have and using a 10µF capacitor between pins reset and ground on the Arduino Uno.

In the Arduino IDE V 1.6.2, I have chosen the board as Uno, in the Tools menu. I have chosen the Programmer menu and selected Arduino as ISP and from the File menu, I have chosen Examples and Arduino ISP. This sketch has been successfully upload to the Arduino Uno.

I then have used AVRDUDE to upload the hex file to the ATtiny 2313 by using the following MS Dos command.

avrdude -p t2313 -c arduino -P COM18 -b115200 -D -Uflash:w:Blink.hex:i (COM18 is correct)

If the capacitor is connected, I get the following message:

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

If the capacitor is not connected, I get:

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f
avrdude: Expected signature for ATtiny2313 is 1E 91 0A
Double check chip, or use -F to override this check.

avrdude done. Thank you.

The ATtiny2313 is new. I have also attached a picture of the connections. The white cable goes to pin 10, the brown pin 11, the blue pin 12 and the green pin 13.

Can anyone provide an answer please.

Regards,

Lawrence

I have had the same problem. The ATTINY 2313 does not have a bootloader, so all you can do with it is ISP. You need to use avrdude -p t2313 -cstk500v1 -P COM18 -b115200 -D -Uflash:w:Blink.hex:i

Arduino as ISP requires the baud rate to be at 19200 not 115200.

In the comand line replace arduino for avrisp.

Hi, many thanks for your replies. Brilliant. The command link that worked was "avrdude -p t2313 -c avrisp -P COM18 -b19200 -D -Uflash:w:blink.hex:i. This means the connections to the ATtiny2313 are correct, the microprocessor itself and the capacitor are okay.

Then I tried to do the same using the Arduino IDE V 1.6.2 and the Blink example. I usedFile and Upload using Programmer option, be following error:

avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
Wrong microcontroller found. Did you select the right board from the Tools > Board menu?

How do I choose the target microprocessor in the IDE and say it is a ATtiny2313 and not a ATmega328P

Thansk,

Lawrence

In Tools->Board you select Attiny2313

Edit board.txt , there are the boards. Look in google how to add new chips to boards.txt.

Hi, thanks for pointing me in the right direction.

and I thought it might be easy from here. I downloaded the ATtiny2313 library and installed it exactly as described. I edited the boards.txt file and now the ATtiny2313 8MHz and 1 MHz appear in the list. But when I try to compile the blink sketch I get the following:

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=attiny2313 -DF_CPU=1000000L -DARDUINO=10604 -DARDUINO_AVR_ATTINY2313AT1 -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\tiny

C:\Users\Lawrence\AppData\Local\Temp\build4273721506859168386.tmp\Blink.cpp -o C:\Users\Lawrence\AppData\Local\Temp\build4273721506859168386.tmp\Blink.cpp.o
Blink.ino:18:21: fatal error: Arduino.h: No such file or directory
compilation terminated.
Error compiling.

The Tiny directory is in the following directory:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores

I have tried moving it around but so far, without any luck.

Many thanks I advance.

Lawrence

Use IDE 1.0.6 or 1.0.5

I have uninstalled V1.6.4 und installed V1.0.5 but the problem still exists. Must I add the zip file containing the tiny folder by using the "Sketch -> Import Library option? Using the V1.0.5 IDE, in which directory should the tiny folder be placed? I have tried many different ones but without success.

lawrenceh:
... avr-g++ ... -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\tiny

  • Locate the Arduino Sketchbook folder. This is the folder where the Arduino IDE stores Sketches.

Your Sketchbook folder is not located under C:\Program Files (x86)\

Hi, I have placed followed the instructions which are in the readme file and also placed the required files in the folder which is displayed Preferences, Sketchbook location but to no avail. I have also discovered that the only way of introducing the Attiny2313 to the Tools, Boards list is to change the file boards.txt in the directory "C:\Program Files (x86)\Arduino\hardware\arduino".

Instead I have decided to use the avr command line compiler ad linker and avrdude to upload the .hex file to the ATtiny 2313. This has worked and the microprocessor is now programmed.

I will perhaps come back to the ARDUINO IDE after I have finished the project. Thanks for all the replies.

Lawrence

Isaac96:
I have had the same problem. The ATTINY 2313 does not have a bootloader, so all you can do with it is ISP. You need to use avrdude -p t2313 -cstk500v1 -P COM18 -b115200 -D -Uflash:w:Blink.hex:i

What I'd love to know is the avrdude command to program a Leonardo using an UNO as the ISP to load in a hexfile I made. I compiled up a hex of a high speed blink and spliced it to a copy of the Leonardo bootloader with 8 bytes sliced off it at the end. So, the avrdude command would be:
avrdude -p [Leonardo chip] -cstk500v1 -P /dev/ttyACM0 -b115200 -D -Uflash:w:crazyfile.hex:i

Now, what is missing is what avrdude uses for the name of that Leonardo chip in order to test that above command on Linux. (Please don.t tell me you don't need to try this insane method. The normal method does not work.)