Burning bootloader without external clock, result is... off.

So I got a bunch of atmega328p's that were supposed to be preprogrammed with the arduino bootloader.
However, if I insert my PU into my arduino uno, the status LED reveals that they are indeed not bootloaded, as it just lights up instead of blinking.

So I hooked up my existing UNO (with its own preprogrammed atmega328p) to one of the new atmegas using the non-external clock guide here: https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard

I uploaded the arduino sketch fine, and the burn bootloader worked seems to have gone successfully.

However, once the bootloader has been burned, something has indeed happened to the IC, but not quite what was supposed to happen. Instead of rapidly blinking when receiving power, it steadily bliinks on, then off every second or so, and any attempts to upload any sketches result in a 0x1b timeout.

What does the blinking mean?

I'm using the breadboard1.6 hardware config, as that seems to be the latest one, at least according to the documention. Despite using the 1.8.5 IDE. Is there a later one hidden somewhere?

This documentation: https://www.arduino.cc/en/Tutorial/ArduinoISP
also claims you may have to fix a bit in the code depending on your arduino version. But there's no delay function in the heartbeat code?

Graylord:
what was supposed to happen. Instead of rapidly blinking when receiving power, it steadily bliinks on, then off every second or so, and any attempts to upload any sketches result in a 0x1b timeout.

What does the blinking mean?

After doing a burn bootloader using that "breadboard" hardware package, when I power the board there are some rapid blink sequences, then the LED continues blinking with an off time of about 1 second and an on time about 0.1 second. Is that what you're seeing?

Graylord:
any attempts to upload any sketches result in a 0x1b timeout.

I also couldn't upload to my board after burning that bootloader, which is strange because I remember using it years ago. I tried it with MiniCore's ATmega328P @ 8 MHz internal:

and can upload with no problem.

They both use the same fuse settings for the clock configuration so I can only suspect the bootloader used by the "breadboard" hardware package. Try MiniCore (remember to select Tools > Clock > 8 MHz Internal) to see if that resolves the issue.

Graylord:
I'm using the breadboard1.6 hardware config, as that seems to be the latest one, at least according to the documention. Despite using the 1.8.5 IDE. Is there a later one hidden somewhere?

No, but there has not been any breaking changes to the hardware package specification since 1.6.x (as there was between 1.0.x and 1.6.x) so theoretically that package should be fine for 1.8.5.

Graylord:
This documentation: https://www.arduino.cc/en/Tutorial/ArduinoISP
also claims you may have to fix a bit in the code depending on your arduino version. But there's no delay function in the heartbeat code?

I think that is now this line:

  if ((now - last_time) < 40)

which you would change to:

  if ((now - last_time) < 20)

but that is "Note for Arduino 1.0" and you're using Arduino IDE 1.8.5 so you don't need to worry about it.

Aha, thanks, I'll try again with the alternate hardware package and get back to you!

I'm not getting the rapid blinking at power up, which I understand usually signifiy that it has booted.
Instead the light is on for 1 second, off for 1 second, then on for 1 second, repeating endlessly.

Without any bootloader at all though, all it does is light on or never light (depending on the revision of the board), so it has uploaded something which is running some process. I suspect there's a conflict with the board package. The one you suggested hopefully fixes it.

pert:
but that is "Note for Arduino 1.0" and you're using Arduino IDE 1.8.5 so you don't need to worry about it.

Aha, I haven't been around since the early days so I wasn't sure what it meant by Arduino 1.0, did it mean the drivers? IDE? The revision of the actual hardware?
I assumed it might have meant you had to changed if you weren't using some early prototypes or something. Thanks for the clarification!

I can understand the confusion re: "Arduino 1.0". There are so many different things called "Arduino" that it's really important to be specific (e.g. Arduino IDE, Arduino board, Arduino API, Arduino organization, Arduino community).

I got the Minicore bootloader to burn as well, sadly I am still having issues with not being able to upload sketches to them. The blinking pattern has changed however. It is now bliniking rapidly 3 times, on reset, but then turns off for one second, then blinks rapidly again, and repeats.

Is it continously rebooting? Why?

I left the bootloader burn setting to default with the exceptios of setting it to use the internal 8mhz clock. Anything else I need to do?

This is my exact steps at the moment:

1: Upload ArduinoISP to my uno, using the UNO board and AVRISP mkII setting.

2: Disconnect the board while I hook everything up.

3: I hook up the non-bootloaded atmega to the uno.

4: Change the programmer to Arduino as ISP and board to the Atmega328 "board" and set it to use the 8mzh internal.

  1. Burn the bootloader. It reports burning successfully (as far as I can tell).

  2. Replace the uno atmega with my new bootloaded atmega.

  3. Upload a sketch with 1. settings

  4. Get a timeout error.

What have I missed? Since it's possible to burn to the MCUs at all, I am guessing they aren't busted and I am making a mistake somewhere?

Edit: Got a hold of some 16mhz crystals and tried the external clock setup. Sadly, I get the same issue.
Since it's possible to