I am using an arduino uno R4 minima as an isp to program an ATTiny44a. I've been able to create programs and run them on my breadboard. I decided that I wanted more accurate timing and so I'm trying to use an external 8Mhz crystal, but it doesn't seem to work. I have selected tools/clock/external 8MHz. I'm not sure how to specify it in my sketch. I have the following:
#define PB0 10
#define PB1 9
const int XTAL1 = PB0;
const int XTAL2 = PB1;
pinMode(XTAL1, INPUT);
pinMode(XTAL2, OUTPUT);
I view the signals with an oscilloscope on both sides of the crystal and they are both just close to ground.
I have the crystal connected to physical pins 2 and 3 of the ATTiny44a with a 20pF cap from each side of the crystal going to ground.
@van_der_decken gave about the same response while I was writing this, but since the post I wrote has a bit more information I'll publish it anyway in case it might be of value.
Other than the oscilloscope, do you have other observations that led you to believe it is not working? If so, please provide a detailed description of those other observations.
Did you select Tools > Burn Bootloader from the Arduino IDE menus after you did that?
In order to change the clock source, you must set the configuration fuses on the microcontroller. That is not done by an "Upload" or "Upload Using Programmer" operation. However, when you do a "Burn Bootloader operation, it actually performs two separate operations:
Set the configuration fuses on the target according to the board configuration
Flash the bootloader binary to the target
If you are using the ATTinyCore boards platform and have selected Tools > Board > ATTinyCore > ATtiny84/44/24 (No Bootloader), then you might have the impression that a "Burn Bootloader" operation is pointless, but it is still necessary after you make relevant changes to the board configuration solely to set the configuration fuses.
I'm not knowledgeable in this area, but I'm not sure it is possible to use an oscilloscope to monitor the crystal. At least that was my own experience the one time I tried it, and when I asked someone who is knowledgeable in that area they told me it was probably expected.
With a 10x probe you can, carefully, most of the time, but don't be too surprised if the extra loading makes the frequency a little wonky. I'd start with the output pin (XTAL2 on the 84). It works pretty well with a full swing crystal oscillator but I don't expect you'd have as much luck with a low power crystal oscillator (like you get on the 328PB). It wasn't obvious from a quick scan of the 84 datasheet which type it has.
When I use the burn bootloader command I get the following error:
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
Failed chip erase: uploading error: exit status 1
Further more, after attempting the boot loader command, I can no longer upload the sketch on that chip.
I get the following error:
avrdude: Expected signature for ATtiny44 is 1E 92 07
Double check chip, or use -F to override this check.
Failed programming: uploading error: exit status 1
It didn't. The signature is in read-only memory. More likely, one or more fuses got changed so that (perhaps) you need an external oscillator, and a more versatile programmer to set the fuses correctly.
I strongly recommend the AVR ISP programmer V2.1 from Pololu (best I've ever encountered), along with AVR Studio (now called Microchip Studio) to investigate, understand and fix the problem. Or start over with a new ATtiny44.
I will wager that your first burn bootloader attempt worked. And changed the fuses so that now the ATtiny needs an external crystal in order to function. And that you don't have one in your circuit. So everything you tried to do after that... won't work until there's a crystal (and a couple of caps) properly attached.
Or an external oscillator. I've even used an audio oscillator to fix problems like this. Programmer frequency must be set to 1/4 or less than the oscillator frequency.
The oscillator input on an AVR MCU is remarkably tolerant. For a laugh, check out how a complete, functional RFID tag can be realized using an antenna coil as the clock input to and power source for an ATTiny, and nothing else.