Arduino ISP for ATtiny85 language error(?)

I'm trying to use my Arduino Uno as a ISP for programming a ATtiny85 and running into trouble when trying to load sketches. Here's what I've done:

  1. I've run the Arduino ISP sketch without incident. (Board set to Arduino Uno, ATtiny not connected)

  2. I then wire the ATtiny like this:

+5 -> pin8 (Vcc)
gnd -> pin4 (GND)
Arduino pin 10 -> pin1 (RESET)
Arduino pin 11 -> pin5 (MOSI)
Arduino pin 12 -> pin6 (MISO)
Arduino pin 13 -> pin7 (SCK)

  1. I set 'board' to 'ATtiny (w/ Arduino as ISP) and try to upload the classic "Blink"-sketch (pin0 instead of pin13). I then get the following error message:

Blink.ino:18:21: error: Arduino.h: No such file or directory
Blink.ino: In function 'void setup()':
Blink:20: error: 'OUTPUT' was not declared in this scope
Blink:20: error: 'pinMode' was not declared in this scope
Blink.ino: In function 'void loop()':
Blink:25: error: 'HIGH' was not declared in this scope
Blink:25: error: 'digitalWrite' was not declared in this scope
Blink:26: error: 'delay' was not declared in this scope
Blink:27: error: 'LOW' was not declared in this scope

I've never seen this before and it looks to me as if the ATtiny85 does not even understand the Arduino Language.

I'm following these guides:

I've tried placing a 10u Cap. between the Arduino Reset pin and ground, but the error persists. Could something be wrong with my ATtiny85? I bought my ATtiny85s from Tayda and they should be 'blank' (probably not the right term, I lack the MCU-vocabulary).

Your core is messed up or installed improperly - it can't find arduino.h, which is the file in the core that includes everything else; I'd wager the core files are in the wrong place. Fix it, or download and install a different core.

If you're using 1.6.x, you can use my core (the second one in my sig).

The problem has nothing to do with the chips or the programmer; it can't compile the sketch, so it can't even try to upload anything :stuck_out_tongue:

But when I upload programs to my Arduino Uno there is no incident. Could this still work with a corrupt core?

knutolai:
But when I upload programs to my Arduino Uno there is no incident. Could this still work with a corrupt core?

The Arduino default core (used for default boards) is fine.

The problem is with the core you installed for the ATtiny85, that's what needs to be reinstalled.
If you didn't install a core, and just added an entry to boards.txt, that's the problem, install a core that supports the ATtiny85.

Think I fixed the ATtiny cores. Found a core package for Arduino program v. 1.0.x. Now my uploads don't get shut down instantaneously, but I get a "avrdude: stk500_getsync(): not in sync: resp=0xff" error....

argh!! It's always like this! There is always something that isn't working. Is there a programmer and Arduino IDE setup I can use which is immune to vague bullsh*t-errors like this?

Sorry its late and I'm just very frustrated.........

knutolai:
Think I fixed the ATtiny cores. Found a core package for Arduino program v. 1.0.x. Now my uploads don't get shut down instantaneously, but I get a "avrdude: stk500_getsync(): not in sync: resp=0xff" error....

That's better - is the 10uf cap between reset and ground of the Uno to stop autoreset present?

Doublecheck all wiring as well (with an ohm meter in continuity mode, not just by sight - I can't tell you how many times I've had problems like this where wires looked okay, but adjacent wires were shorted or something like that.

Triple checked all wires are intact and connected correctly. The error persists.

Tried uploading with and without a 10u cap between reset and ground on the arduino chip.
Have also tried adding a 100 Ohm resistor between reset and +5V on the arduino chip.
Tried combination of cap. and resistor.

Still the same error.

Decided to download Arduino IDE 1.6.x. And now its working! Fantastic.
For anyone else stuck with this damn bug running 1.0.x I followed this guide for installing the ATtiny cores and everything else.