How to make your own Arduino UNO PCB - ATMega328p

Published Sep 03, 2022
 2 hours to build
 Intermediate

In this Tutorial, We are Going To discussing a How to make your own Arduino UNO PCB - ATMega328p

display image

Components Used

ATMEGA328PB-AN
8-bit Microcontrollers - MCU ATMEGA328PB 20MHZ Extd. Temp
1
16MHz Crystal
Crystals 16MHz 20pF -20C 70C
1
Resistor 10 kOhms
Metal Film Resistors - Through Hole 10 kOhms 250 mW 1% 100 PPM / C
1
Resistor 220 Ohms
Metal Film Resistors - Through Hole 220 OHM 1/4W 1%
1
Capacitor 100nF
Multilayer Ceramic Capacitors MLCC - Leaded K 50V 100NF +/- 10 % X7R AMMO E3
1
Capacitor 22 pF
Multilayer Ceramic Capacitors MLCC - Leaded
1
FTDI FT232R USB Interface
FTDI FT232R USB Interface
1
Male Berg strip
Headers & Wire Housings 68000-105HTLF-B/S SR HDR 1*5
1
Tactile Switches
Tactile Switches 12 x 12 mm 12 mm 100 gf Short Crimped Black Through Hole SPST
1
USB to RS232 Cable
USB Cables / IEEE 1394 Cables USB to RS232 Embeded Converter, 10cm
1
Description

The Arduino uses the ATMega328p chip. We can get that in an SMD format (ATMega328p-AU) or the DIP format for trough hole soldering (ATMega328p-PU). But, the chip by itself can't work. It needs a few more components and altogether is called the bare minimum configuration of this chip. So In this tutorial, we are going to design our own custom-made "Arduino UNO PCB" using an ATMega328p chip.

PCBWay commits to meeting the needs of its customers from different industries in terms of quality, delivery, cost-effectiveness, and any other demanding requests. As one of the most experienced PCB manufacturers in China. They pride themselves to be your best business partners as well as good friends in every aspect of your PCB needs.

Hardware Table

Upload a Test code

Before Uploading a test code you first need to Install FTDI Module Drivers. Download FTDI 232 Driver and Install It according to your operating system.

Now, we have the bootloader so we can communicate with the RX and TX pins and upload a code. For that, we need an FTDI module. Make the next connections and Upload this code to our designed Arduino board. If LED is blinking so it means you have successfully designed your own custom Arduino board.

Test Code

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}


void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}
Comments
Ad