Bootloading problem with Atmega328 - pu

Go To Last Post
13 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

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!

JJSuriyaPrakash

Last Edited: Thu. Jul 7, 2022 - 07:44 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


Why so difficult and impossible task /for a beginner/, may I say. 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

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."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How are you accessing the pins of the SMD chip? Are you using an SMD Zif socket or made a breakout board?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

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.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

AtomicFlea69 wrote:
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)

 

Last Edited: Tue. Jul 5, 2022 - 08:01 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That's another problem, I directly solder the wires to pins😅

JJSuriyaPrakash

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

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!

JJSuriyaPrakash

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey grohote, yes I do use a USB cable to connect the chip.

JJSuriyaPrakash

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

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!

JJSuriyaPrakash

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I use a manual button for RST, do I need to change anything in the optiLoader program?

JJSuriyaPrakash

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

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.)

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

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?

JJSuriyaPrakash