Infraviolet:
I'll try a 10uF cap from reset to gnd on the ISP arduino (not on the target arduino then?)
Correct. Only on the ISP Arduino.
Infraviolet:
I'll try a 10uF cap from reset to gnd on the ISP arduino (not on the target arduino then?)
Correct. Only on the ISP Arduino.
Ok, so the 10uF cap didn't help but something else did. The thing is I'd been storing my atmega328P chips in 28pin DIP sockets throughout, less risk of breaking a vital pin on the microcontrolelr when placing in and out of different unos, breadboards and custom circuitry. This worked just fine when using an arduino normally, it caused no trouble with programming the arduino the normal "upload" way and no trouble with using the arduino. However it seems to me that with a DIP socket between them, rather than the atmega chip directly in the uno's socket, the act of burning a bootloader and/or ISP programming a chip does NOT work. Probably the conductivity of DIP socket legs sitting in the uno's socket is poorer than that of an atmega directly in the uno, maybe the resistane differnce is enough to make norml use possible but somehow interfere with ISP progamming. Either way, removed the DIP sockets from the farnell chips, they programmed fine then. Should have tried that earlier but didn't imagine a socket which lets an arduino run normally could have an effect on ISP programming it. Post #1's method works as long as you don't let DIp sockets sit between the uno's socket and the atmega chip itself.
Also tried burning those fuse settings with AVRdude, seemed to work fine for an ISP programmed arduino. I ran an avrdude command:
avrdude -P /dev/ttyXXX -b 19200 -c avrisp -p m328p -v -e -U lfuse:w:0xDF:m
then went back into the arduino IDE and used "upload with programmer". I didn't set the lock bit with a method such as:
avrdude -P /dev/ttyXXX -b 19200 -c avrisp -p m328p -v -e -U flash:w:hexfile.hex -U lock:w:0x0F:m
I hope it wasn't necessary and that if it should be done then the act of "upload using programmer" would have done that by itself?
With this done, and no changes to brownout bits, the arduino seemed to still work fine. After a reset event I confirmed with an oscilloscope that the arduino was back and running within about 1ms.
As for my oscillator resonator, my arduino board uses a pair of 22pF caps and a 16MHz crystal. So do all my custom PCBs into which I insert the programmed atmega chips. My arduino voltage comes up very quickly at turn-on. I'm not sure how fast my custom PCBs will reach 5V voltage when starting up initially, they are battery powered through a buck regulator which has some pretty big capacitors in it and definitely has a slowly decreasing voltage when turned off, I've yet to measure hw afst it rises but it could be a while compared to a normal arduino uno. But I know that when later resets occur the 5V voltage won't have dropped at all, it;ll just be a deliberate signal on the atmega's reset pin. If I should put the brownout bits to the higher 4.3V value I can if it would be a good idea.
Thanks