Hi, I want to use Atmega 328P standalone , I placed all components on bread board in Place.
I am trying to Burn the bootloader to a 328P external chip using arduino as ISP and I have selected the Board as atmega on breadboard with 8 mhz oscillator. When I try to BURN bootloader after making the necessary connectiuons, I get this error "Property 'bootloader.tool.serial' is undefined" I know there are similar topics on the FORUM for this error but their boards are different. So I want your support. Additionally , I have used 16 mhz crystal as my external chip has already bootloader burned on it with 16 mhz configuration. Here is the error message : Property 'bootloader.tool.serial' is undefined
Hi @74younus. That "breadboard" boards platform from the Arduino tutorial is obsolete. Use the excellent "MiniCore" boards platform instead:
You can easily install it via the Arduino IDE Boards Manager:
https://github.com/MCUdude/MiniCore#boards-manager-installation
After you have installed MiniCore, make the following configurations to set up Arduino IDE:
- Select Tools > Board > MiniCore > ATmega328 from the Arduino IDE menus.
- Select the appropriate clock configuration from Arduino IDE's Tools > Clock menu.
- Adjust the other submenus of the Tools menu as needed.
You will now be all set to burn the bootloader and use the ATmega328P in your Arduino projects.
Let us know if you have any questions or problems while doing that.
I use Pro Mini 8MHz/3.3V as a choice in the setup and have zero issues.
MiniCore is great, though…
That board definition will work if you have an external 8 MHz clock source connected to the chip. However, it will not be suitable if you are trying to use the internal oscillator of the ATmega328P. The "breadboard" boards platform @74younus is trying to use is for the internal oscillator so I assume that is what they are doing.
Even with an external clock, I still don't recommend the use of this board definition. The reason is that it uses the antiquated "ATmegaBOOT" bootloader. That bootloader requires a 2 kB boot section. Conversely, the modern urboot bootloader used by MiniCore, and the beloved Optiboot used by the UNO R3 and official Nano fits in a 0.5 kB boot section. This means you have 1.5 kB less precious flash memory available to use for your sketch program when you use the Pro Mini board definition compared to MiniCore.
Furthermore, the "ATmegaBOOT" bootloader has a bug that causes the board to go into an endless reset loop after a watchdog reset.
Conversely, when using a 16 MHz clock the "Arduino Uno" board definition is completely suitable. It uses Optiboot so it doesn't have any of the disadvantages of the Pro Mini board definition.
This was a GOOD explanation. I will keep this in mind. Thank you.
Thanks, I did this and succeeded but following warning was encountered:
Sketch uses 892 bytes (2%) of program storage space. Maximum is 32384 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
Warning: no eeprom data found in Intel Hex file C:\Users\my name \AppData\Local\arduino\sketches\E83401C7809B5FC30A360D83C8252835/Blink.ino.eep
Hi, when I uploaded a simple blink program it worked well. But as I tried to upload my customized program to blink LED with sending commands through serial monitor, uploading process got stuck with below errors:
Sketch uses 1810 bytes (5%) of program storage space. Maximum is 32256 bytes.
Global variables use 187 bytes (9%) of dynamic memory, leaving 1861 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x67
.
.
.
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x67
Failed uploading: uploading error: exit status 1
That is normal and expected. Just ignore it.
I'm going to ask you to provide the full verbose output from an upload attempt.
This procedure is not intended to solve the problem. The purpose is to gather more information.
Please do this:
- Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
The "Preferences" dialog will open. - Uncheck the box next to Show verbose output during:
☑compile in the "Preferences" dialog. - Check the box next to Show verbose output during: ☐ upload.
- Click the "OK" button.
The "Preferences" dialog will close. - Attempt an upload, as you did before.
- Wait for the upload to fail.
- You will see an "Upload error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
- Open a reply here on this forum topic by clicking the "Reply" button.
- Click the
<CODE/>icon on the post composer toolbar.
This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
- Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
This will paste the error output from the upload into the code block. - Move the cursor outside of the code block markup before you add any additional text to your reply.
- Click the "Reply" button to publish the post.
Hi, Thanks for your reply. Below is the verbose output for upload error messages. I am using internal clock /
Sketch uses 1740 bytes (5%) of program storage space. Maximum is 32384 bytes.
Global variables use 187 bytes (9%) of dynamic memory, leaving 1861 bytes for local variables. Maximum is 2048 bytes.
"C:\Users\my name\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\8.0-arduino.1/bin/avrdude" "-CC:\Users\Mohammad Younis Dar\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\8.0-arduino.1/etc/avrdude.conf" -v -V -patmega328p -curclock -PCOM3 -b9600 -D -xnometadata "-Ueeprom:w:C:\Users\Mohammad Younis Dar\AppData\Local\arduino\sketches\1A78AD2844F481D9C5C3F572AC1680AF/My_Toggle_function.ino.eep:i" "-Uflash:w:C:\Users\my name\AppData\Local\arduino\sketches\1A78AD2844F481D9C5C3F572AC1680AF/My_Toggle_function.ino.hex:i"
Avrdude version 8.0-arduino.1
Copyright see https://github.com/avrdudes/avrdude/blob/main/AUTHORS
System wide configuration file is C:\Users\my name\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\8.0-arduino.1\etc\avrdude.conf
Using port : COM3
Using programmer : urclock
Setting baud rate : 9600
AVR part : ATmega328P
Programming modes : SPM, ISP, HVPP, debugWIRE
Programmer type : Urclock
Description : Urboot bootloaders using urprotocol
Protocol : Urprotocol
Warning: programmer is not responding
Error: initialization failed (rc = -1)
- double check the connections and try again
- use -B to set lower the bit clock frequency, e.g. -B 125kHz
- use -F to override this check
Error: protocol expects sync byte 0xa0 but got 0xff
Avrdude done. Thank you.
Failed uploading: uploading error: exit status 1
If you try uploading the "simple blink program" once more, is the upload of that sketch successful, or does it also fail?
Thankyou @ptillisch Now no issues , my code uploaded . I think issue was due to LED not removed from the PIN during I uploaded the code or due to some other reason.
This is verbose print after my custom sketch was successfully uploaded:
Sketch uses 1740 bytes (5%) of program storage space. Maximum is 32384 bytes.
Global variables use 187 bytes (9%) of dynamic memory, leaving 1861 bytes for local variables. Maximum is 2048 bytes.
"C:\Users\my name\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\8.0-arduino.1/bin/avrdude" "-CC:\Users\my name\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\8.0-arduino.1/etc/avrdude.conf" -v -V -patmega328p -curclock -PCOM3 -b9600 -D -xnometadata "-Ueeprom:w:C:\Users\Mohammad Younis Dar\AppData\Local\arduino\sketches\1A78AD2844F481D9C5C3F572AC1680AF/My_Toggle_function.ino.eep:i" "-Uflash:w:C:\Users\my name\AppData\Local\arduino\sketches\1A78AD2844F481D9C5C3F572AC1680AF/My_Toggle_function.ino.hex:i"
Avrdude version 8.0-arduino.1
Copyright see https://github.com/avrdudes/avrdude/blob/main/AUTHORS
System wide configuration file is C:\Users\my name\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\8.0-arduino.1\etc\avrdude.conf
Using port : COM3
Using programmer : urclock
Setting baud rate : 9600
AVR part : ATmega328P
Programming modes : SPM, ISP, HVPP, debugWIRE
Programmer type : Urclock
Description : Urboot bootloaders using urprotocol
Protocol : Urprotocol
AVR device initialized and ready to accept instructions
Device signature = 1E 95 0F (ATmega328P, ATA6614Q, LGT8F328P)
Processing -U eeprom:w:C:\Users\my name\AppData\Local\arduino\sketches\1A78AD2844F481D9C5C3F572AC1680AF/My_Toggle_function.ino.eep:i
Warning: no eeprom data found in Intel Hex file C:\Users\my name\AppData\Local\arduino\sketches\1A78AD2844F481D9C5C3F572AC1680AF/My_Toggle_function.ino.eep
Reading 0 bytes for eeprom from input file My_Toggle_function.ino.eep
in 0 sections of [0, -1]: 0 pages and 0 pad bytes
Writing 0 bytes to eeprom
Writing | ################################################## | 100% 0.00s
0 bytes of eeprom written
Processing -U flash:w:C:\Users\my name\AppData\Local\arduino\sketches\1A78AD2844F481D9C5C3F572AC1680AF/My_Toggle_function.ino.hex:i
Reading 1740 bytes for flash from input file My_Toggle_function.ino.hex
in 1 section [0, 0x6cb]: 14 pages and 52 pad bytes
Preparing flash input for device bootloader
1920 bytes in 2 sections of [0, 0x7e7f]: 15 pages and 0 pad bytes
Writing 1920 bytes to flash
Writing | ################################################## | 100% 2.15s
1920 bytes of flash written
Avrdude done. Thank you.
Great news! Thanks for taking the time to post an update.
This might indicate a problem with your circuit. It is possible that such a problem could have consequences beyond interference with the upload. You should carefully review the circuit to ensure that it is not causing a short circuit, or a current draw that is in excess of the rated limits of the ATmega328P.
