It's 2am. A cathartic yelp exits my mouth, waking the baby and getting more than a few groans from the wife.
I finally, FINALLY!, succeeded in programming an ATtiny85 with an Arduino as ISP. Never has a blinking LED brought so much joy. I've consistently failed at this for months and months!
First and foremost, this is not really a how-to Instructable, as someone else has already made the instruction bringing me to my success.
I just wanted to share a few key details that have been left out of all the other how-to's that I've followed that have failed me.
To start, the following is a link to Arjun Ganesan's tutorial:
Everything in the following steps highlight what I believe to be the primary reasons for my previous failures.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: The Right Capacitor!
In my failed attempts to use an Arduino as ISP to program an ATtiny85 and other like MCUs, one thing I was told to do was to use an electrolytic 10uF capacitor to short the Reset pin to Ground.
Nobody ever mentioned that the capacitor should be rated for a certain voltage.
Arjun specifically mentions a 25V 10uF capacitor.
In the past, I've used a 16V 10uF capacitor instead and have actually locked my Arduinos for a few days. The actual capacitor I used was a 50V 10uF capacitor. The primary reason was that, without looking at them, my 50V cap was about 1/3 the size of the 16V cap. Would not have guess that...
On that note, when it comes to using capacitors, you are able to use ones with higher voltage ratings, but should not use ones with smaller ratings.
Step 2: Other Factors (Myabe?)
Granted that Arjun's instruction uses a specific board manager methods that differ from the other in the past, it was informative in ways the other were not.
His instruction has you set the clock to an internal 1MHz.
*Note: the first image showing this has the 8MHz (internal) selected, but the following image has the 1MHz (internal) selected. Use the 1MHz (internal)*
The ATtiny's internal clock was something I was never aware of.
Also, and finally, Arjun has you burn the bootloader to the ATtiny. I've never been told to do this before.
It took 4 tries to do this successfully. Not because it didn't take the first 3 tries, but because I needed to double check my own work first.
Coming across Arjun's instruction was the best thing I've done in a while!