Hello everyone, I am trying to create a custom board with the atmega328 - pu as the microcontroller of the board. I designed it with the reference of the Arduino Nano board. I forgot to include the icsp pins for bootloading the microcontroller and I am stuck with bootloading without the icsp header. I use the smd version of it along with a 16MHz xtal. I tried many online references and guides, but nothing seem to help me. I find it difficult to bootload the microcontroller. Is there a proper way to bootload a smd microcontroller? Thanks in advance!
Bootloading problem with Atmega328 - pu
Why so difficult and impossible task /for a beginner/, may I say.
I forgot to include the icsp pins
The ICSP pins are also "normal IO" pins (PB3, PB4, PB5, RESET), so they're probably available on your board somewhere. Just connect them as appropriate without the "standard ISP connector."
How are you accessing the pins of the SMD chip? Are you using an SMD Zif socket or made a breakout board?
OP, please: answer the most important question: do you intend to connect the chip with USB cable. Also #3 and #4.
Without board information, schematic, we can not help you.
Is there a proper way to bootload a smd microcontroller?
Let's assume you mean Programming (Flash EEPROM & Fuses) of the microcontroller..The answer is yes. One includes a 6-pin ISP header or if supported; the debugWIRE interface or very much less commonly; the Parallel Programming interface.
You're now faced with bodging a connector to the pins on your board using perhaps, a ribbon cable.
BTW: You're not the only person to have designed a PCB and omitted the programming header. (Yes - Colour me guilty on that one)
That's another problem, I directly solder the wires to pins😅
Hey westfw, I used your program 'opitLoader' and I successfully uploaded that program to the smd chip. Now how do I verify it tho? I use a external 16Mhz xtal and also have provision for soldering it one the board!
Hey grohote, yes I do use a USB cable to connect the chip.
As I mentioned, I tried to upload the program directly using Arduino as ISP and the wires soldered out of the chip. I uploaded the optiLoader program which I downloaded from the following link,
https://github.com/WestfW/OptiLo...
The program got uploaded, now I just need to verify it!
PS: Its such a pain without the ICSP Headers!
I use a manual button for RST, do I need to change anything in the optiLoader program?
Are you sure you want to be using Optiloader, and not Optiboot?
Optiloader is a sketch designed for programming bootloaders, but it runs on a functional Arduino board and essentially replaces the need to run "Arduino as ISP."
(ie Arduino as ISP permits you to upload/burn arbitrary programs to some other AVR chip. Optiloader would get loaded on the same Arduino, and it would ONLY burn Optiboot onto a limited selection of AVRs.)
Extremely sorry from my side, I didn't know that I need to optiboot and not "Optiload". Thank you for pointing this out @westfw. If you don't mind could you explain to me how to do it please?