Do I need a bootloader or not? - ATMEGA328P-AUR

Working on a PCB business card with an OLED screen displaying my company position, name & email with also a easter egg game of snake involved, this is all controlled via 2 capacitive touch sensors & uses the ATMEGA328P-AU for the brains.

I'm currently playing with the arduino uno creating the code on adafruit's 128x64 OLED screen; however due to spacing issues the OLED screen I'm using is 256x64 and thus I won't be able to fully try out my code on the 128x64 without programming the ATMEGA328P-AUR directly

The problems I'm facing though are:

  1. How do I program the chip via the arduino
  2. Do I need a bootloader or not?

The reasoning behind problem 2 is all I want the card to do is light up some LEDS, display my company information on the OLED and load up a bonus easter egg game of snake, so I wonder if I actually need the bootloader or not as I don't intend to update the code once its done.

I also saw a previous thread talking about the ATiny85 about whether they needed a a bootloader or not, in the end they got Digikey to preload a bootloader and their code, however there was a suggestion to not require a boot loader, so I wondered what would be result in my case.

Additionally I wish to add that I'm trying to avoid placing headers/thru holes for programming and debugging when I'm done.

I'll do it for the 1st 2 so I can trouble shoot and test the code, but any future iterations will not have any programming pins and I hope will be directly preprogrammed to the ATMEGA328P-AUR chip, which is why I wonder if I should have a bootloader or not.

You do not need a bootloader if you use an ISP programmer. This one from Pololu is by far the best I've ever used.

So in short, I would buy the ISP programmer from Pololu & create some temporary header pins for sending and testing my code on the PCB.

Then once I'm finished, I just need to remove the header pins and I'm sorted?

No need to actually fit header pins.

Put a row of 0.1" holes for a pin header near one edge of the PCB and connect your programmer to it with the small spring test clips\hooks , they do fit nicely in the holes.

You can do this either with the standard serial bootloader or the pins for the ISP.

I also use the 0.1" holes method, but I use a 3x2 double sided mail header to mate with the plug. Just hold it tight and it works fine. If the upload fails due to a bad contact, just reposition and try again.

That is, 2x3pin sections of this:

I opted for the male Shrouded header in the end, the same used on the AVR programmer 2.1.

Its just easier especially as the programmer comes with a female to female 2x3 shrouded header.

'male Shrouded header' ?

How does that work with a 'Male PCB business card with an OLED screen'

So its not a 'business card' but a somewhat fatter design ?