Did I just found an error in the ArduinoISP page reference?

I am using the Optiloader sketch for a few years now, it is very reliable and is very fast, the thing I love most is the option to “hotswap” chips. I burned several chips, 328p-pu’s, atmega8l-8pu and atmega8a-pu. With ease. But I was never capable of doing the standard way, I mean, following the ArduinoISP reference page, and it seems like almost all other tutorial around is based on this page, of course.

My problem started when I tried to flash some atmega8 with internal osc to try to reduce my project footprint by removing the crystal and the pair of caps. I found no way of doing this by the sketch version of the Optiboot, the Optiloader sketch (but I am pretty sure it is possible), and then I moved to the old fashion way, which was the Arduino as Isp. Since I don’t have an AVRISP mkII and have no plan to acquire one bc I have 2 Uno’s already and maybe 3 more frankenduinos I have built, and actually, I don’t even know how to use a programmer. Anyway, i was almost giving up after trying every little recipe of making an Atmega328 to burn the Atmega8 w/o xtal, and then I found another bare-bones arduino recipe, but this time, the kid (yes, he is an 11 year old) emphasizes the use of a 10uF cap between reset and ground in the host board for the burning process. BADABING, works a treat!! Might seem a very noob problem, buuuut, why there’s no such a thing in the reference page??

Now, for me, every single atmega8-8mhz addition I have made to the boards.txt following all recipes I found works, every single one… and i think i’ve read like 12 or so posts in this forum of people very confused and very frustrated trying to make it work.

Am I wrong?

Is there a way to make the optiloader.ino sketch to just burn the right fuses to the atmega8 8mhz int osc like it does with atmega8 16mhz ext?


...emphasizes the use of a 10uF cap between reset and ground in the host board for the burning process ... why there's no such a thing in the reference page??

Step #5 (emphasis added)...

Wire your Arduino board to the target as shown in the diagram below. (Note for the Arduino Uno: you'll need to add a 10 uF capacitor between reset and ground.)

Someone else will have to help with the ATmega8 question.

paraphrasing the avrdude: Yikes!

I feel very ashamed, I blame my ADHD, yet the pictures are still deceiving :-[

As for making optiloader set the fuses you want, line 834, 837 contain the fuses that it tries to program to the atmega8. Change those to use the correct fuses for internal oscillator, and you should be good to go.

I think it goes lock, low, high, ext.

Change the fuses on both lines.

It works, thanks for the tip. I noticed a little bit of delay on uploading the sketch, but I think I can live with that, I think the baudrate during the upload is 115200 as shown on the verbose mode:

       Using Port                    : \\.\COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200

And here is the bit of code changed in the optiloader.ino sketch
might be a good idea to fork the project on github to append all 8mhz versions

image_t PROGMEM image_8 = {
    "optiboot_atmega8_8.hex"    }
    "atmega8"    }
  0x9307,				/* Signature bytes for 8 */
    0x3F, 0xA4, 0xCC, 0, 0    } //unlock, low, hig, ext
    0x0F, 0xA4, 0xCC, 0, 0    }//lock, low, high, ext