Hi,
UPDATE: SOLVED. When I realized the invalid address was 0x000000 I realized that had to be important and did some digging around. Turns out this means avrdude can't communicate with the chip. In my case, it just took an 8 Mhz resonator and two 10pF ceramic caps to ground, and I got it programmed. I never did get the Pocket AVR Programmer to work with Attiny85. I ended up ordering a Tiny Programmer. I post about it here now in the hopes of saving somebody some headache. I wonder what functional difference there is between the two programmers? If none, maybe the .conf file could be 'fooled' into supporting Attiny85 via Pocket Programmer?
I'm trying to program an ATtiny85. I've tried wiring a Pocket AVR programmer to program it in a breadboard. I've tried building a programmer (just an 8-pin DIP socket that connects to an ICSP header) on perfboard, and I've done continuity and short checks. I've tried using Arduino UNO as ISP.
I've used Zadig and fought the battle to get my lib-win32 set up. I now have "USBtiny" under win32 devices. It seems a little weird to me that it appears as a keyboard.
I found the David Mellis JSON link and pasted it into File > Preferences.
I figured out how to get Arduino IDE to fully support ATtiny 85. I'm getting the grayed-out "COM 8" and "No Ports Discovered" error, but I understand that is not supposed to be a problem. Furthermore, if I connect my home-brewed ATtiny85 programmer to the Pocket AVR programmer with the ICSP plugged in backwards, I get a "cannot find "0x1781/0xc9f" error. I happen to know the address for my COM 8 is 1781, and the hex address signature for the ATTiny '0xc9f' has appeared in other error messages. In other words, when the ICSP header is plugged in correctly, the Pocket AVR programmer IS communicating with the ATtiny85 via my perfboard programmer.
I'm careful to select "Attiny 85" and USBtiny options in the Board Manager and "Use programmer as ISP to upload" in the sketch menu. I notice that when attiny is selected, the processer is set to 8MHz by default. I've seen other users set it up for 1Mhz. I need the 8MHz for my application, but I'm not sure if the processor selection is still an issue, given that I have not yet had a successful bootloader burn.
When I try it with the Arduino UNO, I'm careful to select Arduino as ISP options in the Board Menu. I get the appropriate COM 8 and board options, and they appear in bold text when selected. I've loaded the "ArduinoISP" example file into the arduino and double-checked my process against the instructions extensively.
In all cases, when I try to burn the bootloader, I keep running into a "failed chip erase" error due to "programmer operation not supported". At one point, I found the .conf file (can't seem to find it again now) and I noticed that while many "tiny" devices are supported, there did not seem to be any configuration instructions in the file for ATtiny85.
I found a fork on GitHub supposedly for adding ATtiny85 support to AVRDUDE in windows 11, but ran into a "Windows protected your machine" pop-up from Windows Defender. In the Arduino IDE, I tried having it search for IDE updates, but found none.
I ordered my chips from microchip.com rather than from an Arduino source, so maybe I have fuse issues? I don't know, but I've been pretty careful about what gets connected to the chip, so I have a hard time believing I've bricked it. Not sure how to go about checking that. I suppose it's possible I accidentally ordered the "automotive" version, but I really don't think so. I have no idea whether that's even relevant.
I set my compiler preference to "verbose". Whether I burn a bootloader or try to upload the blink sketch, the programmer initializes, but then tries a 0x00000 address a couple times and quits. "Yikes! Invalid address!"
Is this because I have not been able to burn the bootloader? or is my chip just dead in the water?
This line in the compiler errors output seems relevant:
"avrdude: PAGEL and BS2 signals not defined in the configuration file for part ATtiny85, using dummy values"
Also, for what little it may be worth, I noticed that when I'm using the UNO (as opposed to AVR Pocket Programmer), if I select "Arduino as ISP (ATmega 32U4)" that seems to make the difference between the programmer initializing and not.
I've been banging my head on this for three days now. Not sure where I go from here? Please help!
Thanks in advance!
Trent