Arduino like PCB

Hey guys. What I want to have is to make a PCB that has all the parts which are essential to use that PCB as an arduino.
Means I want to flash the PCB (which has atmega328p microcontroller) just like we flash arduino using cable and arduino ide.
What hardware components should I have on the PCB?

For a 16MHz (Uno) you need a crystal and caps (or resonator), 10K resistor to pull reset up and 0.1 caps on Vcc to ground. If you must burn a bootloader you need connections to the ICSP pins. Also connections to RX and TX (optionally DTR to reset through a 0.1 cap for auto reset) to program using serial with an FTDI.

For an 8MHz (internal) board you do not need the crystal and its caps.

There are quite a few Web pages identifying the components needed for a standalone Arduino.

For example:
https://www.arduino.cc/en/Main/Standalone

You could take one of those and make your own board from that info.

Or:

https://www.arduino.cc/en/Main/ArduinoBoardSerialSingleSided3

or:

https://www.pcbway.com/project/shareproject/DIY_clone_Arduino_Uno_PCB.html

groundFungus:
(optionally DTR to reset through a 0.1 cap for auto reset) to program using serial with an FTDI.

And if I need to implement FTDI in the PCB then this auto reset is a must. Isn't it?

Also, If I want to be able to use arduino ide with my PCB. I need to install bootloader in my microcontroller first, then can use the FTDI connection just like arduino.

But can I install bootloader using arduino ide or other arduino uno instead of the avr programmer?

See procedures for the Arduino Pro Mini, which is quite similar to your project.

But can I install bootloader using arduino ide or other arduino uno instead of the avr programmer

You can use an Uno as a programmer using the Arduino as ISP example. You will need access to the ISP pins on the standalone 328 (MOSI,MISO,SCK and a chip select). See the above links.

But this represents an absurd waste of effort.

If you do not need USB support, use a Pro Mini clone, mount it as a "daughterboard" using its pins. You could socket it in case it needed exchanging.

If you need USB support, a Nano clone. Less than $3 or $4 respectively - almost impossible to beat that price.

OK thanks you guys are very helpful. I have got all my answers. Just one last thing,

groundFungus:
You can use an Uno as a programmer using the Arduino as ISP example. You will need access to the ISP pins on the standalone 328 (MOSI,MISO,SCK and a chip select). See the above links.

This process of uploading bootloader using arduino uno is the same for all arduino boards including the arduino micro that has only one microcontroller if we expose the required pins (MOSI,MISO,SCK and a chip select)?

This process of uploading bootloader using arduino uno is the same for all arduino boards including the arduino micro that has only one microcontroller if we expose the required pins (MOSI,MISO,SCK and a chip select)?

As far as I know that is true. You must use the ICSP pins to upload a bootloader to any of the chips. You cannot upload a bootloader with the serial port.

This process of uploading bootloader using arduino uno is the same for all arduino boards

All Arduino boards that use an "ISP programmable" AVR chip. It'd be different for some of the newer chips that use a different programming protocol (various ATtiny chips, ATmega4909, Xmega chips, or any of the non-AVR chips.)

Workaholic:
This process of uploading bootloader using arduino uno is the same for all arduino boards including the arduino micro that has only one microcontroller if we expose the required pins (MOSI,MISO,SCK and a chip select)?

The pins of ISCP are MOSI, MISO, SCK, RESET, VCC and GND. It comes as standard 6- and 10-pin header.

If you go that way, look into the USBASP programmer. Makes it really easy. I'm using it all the time for my ATtiny projects, and a few ATmega ones (including the ATmega328p.

wvmarle:
If you go that way, look into the USBASP programmer. Makes it really easy. I'm using it all the time for my ATtiny projects, and a few ATmega ones (including the ATmega328p.

Seconded. You can get a USBasp from eBay or Amazon for about $5. Most come with only a 10-pin cable and the Arduino boards all have 6-pin connectors so be sure to get a 10-pin to 6-pin adapter.

Thanks guys. It really helped. I have completed my work.

Hi,
Have you had a look at the Arduino Pro Mini?
I has basically what you need.
I have in a number of projects, designed the PCB to accept the Pro Mini footprint onto the PCB.
That is the Pro Mini PCB plug on to your project PCB.

This cuts down on construction and makes programming and trouble shooting easier.

Tom... :slight_smile:

Yes, of course, but it is the Sinatra syndrome in effect, isn't it? :roll_eyes: