Skip to the content
2 layers50.7 × 21.5 mmATmega328p microcontroller board, the printed circuit board in 3D

ATmega328p microcontroller board

Abhi90808/ATmega328p_microcontroller_board

This project is a ground-up recreation of the Arduino Nano form factor using the ATmega328P microcontroller. Rather than using a pre-made module, the entire hardware stack was designed from scratch: oscillator circuit…

Size
50.7 × 21.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
26
Nets
44
Pads
152
Tracks, vias
556, 45
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
14 Apr 2026
Updated
14 Apr 2026

Overview

ATmega328p microcontroller board is an open-source printed circuit board by Abhi90808, from the Abhi90808/ATmega328p_microcontroller_board repository on GitHub. It is a 2-layer board of 50.7 × 21.5 mm with 26 parts on 44 nets, routed with 556 tracks and 45 vias.

It is built around the ATMEGA328-PU, CH340G and AMS1117-5.0. Its parts include 11 capacitors, 4 resistors, 4 connectors, 3 ICs and 2 crystals. It belongs with the interfaces and adapters and microcontroller boards boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

3

README

README.md

ATmega328P Arduino Nano Clone — Custom MCU PCB Design

A fully custom Arduino Nano-compatible microcontroller board designed from scratch in KiCad. Implements the ATmega328P with USB-to-serial programming, onboard 5V/3.3V regulation, and a compact 2-layer layout — production-ready and Gerber-verified.


Overview

This project is a ground-up recreation of the Arduino Nano form factor using the ATmega328P microcontroller. Rather than using a pre-made module, the entire hardware stack was designed from scratch: oscillator circuit, decoupling strategy, USB-to-serial bridge for bootloader programming, voltage regulation, and pin breakout — all laid out in a compact 2-layer PCB.

This project demonstrates the ability to design real microcontroller hardware — the kind of work needed for custom embedded products where off-the-shelf dev boards aren't suitable.


Specifications

ParameterValue
MCUATmega328P-AU (TQFP-32)
Clock16 MHz external crystal
USB InterfaceCH340G USB-to-Serial bridge
Supply Voltage5V via USB
Onboard RegulationAMS1117-3.3 (3.3V LDO)
I/O Voltage5V logic
GPIO Pins22 (14 digital, 8 analog)
ProgrammingUSB (bootloader) / ICSP header
PCB Layers2
Board StatusDesign complete, DRC passed
ToolKiCad

Design Highlights

Full ATmega328P Bring-Up Circuit

Includes all essential support circuitry: 16 MHz crystal with load capacitors, AVCC filtering with a ferrite bead and bulk capacitor, 100nF decoupling caps on all VCC/GND pins, and a proper reset circuit with pull-up resistor and filter capacitor.

USB-to-Serial Programming

The CH340G bridge handles USB communication and auto-reset for bootloader programming, matching the Arduino Nano behaviour exactly. DTR line connected through a 100nF capacitor to the MCU reset pin for reliable auto-reset during upload.

Onboard 3.3V Regulation

AMS1117-3.3 LDO provides a clean 3.3V rail for sensors and peripherals that require it, with input and output decoupling capacitors for stability.

Compact 2-Layer Layout

All components fit within a Nano-compatible footprint on a 2-layer board. Power and ground planes on bottom layer, signals routed cleanly on top. SMD components used throughout for compact placement.

DRC Passed

Full design rule check with zero errors. Trace widths verified for current capacity, clearances verified for standard PCB fab tolerances.


Repository Structure

text
project2-atmega328p-nano/
├── schematic/
│   └── atmega328p_nano.kicad_sch
├── pcb/
│   └── atmega328p_nano.kicad_pcb
├── gerbers/
│   ├── atmega328p_nano.GTL
│   ├── atmega328p_nano.GBL
│   ├── atmega328p_nano.GTO
│   ├── atmega328p_nano.GTS
│   ├── atmega328p_nano.GBS
│   └── atmega328p_nano.DRL
├── bom/
│   └── bom.csv
└── README.md

Bill of Materials (Key Components)

RefComponentPart NumberPackage
U1MicrocontrollerATmega328P-AUTQFP-32
U2USB-Serial BridgeCH340GSOP-16
U33.3V LDO RegulatorAMS1117-3.3SOT-223
Y1Crystal Oscillator16 MHzHC-49S
C1, C2Crystal Load Caps22pF0402
C3–C10Decoupling Caps100nF0402
R1Reset Pull-up10kΩ0402
J1USB ConnectorMini-USB FemaleSMD
J2, J3Pin Headers2.54mm, 15-pinThrough-hole
J4ICSP Header2×3, 2.54mmThrough-hole

Schematic Sections

  1. Power input & regulation — USB 5V in → AMS1117-3.3 → 3.3V rail
  2. USB-to-Serial — CH340G with crystal, decoupling, and DTR auto-reset
  3. ATmega328P core — MCU with crystal, decoupling, AVCC filter, reset
  4. I/O breakout — all GPIO, analog, and power pins exposed on 2.54mm headers
  5. ICSP header — for bootloader burning and direct ISP programming

Skills Demonstrated

  • ATmega328P hardware bring-up and support circuit design
  • USB-to-serial bridge integration (CH340G)
  • LDO regulator selection and decoupling strategy
  • SMD component placement and 2-layer PCB routing
  • ICSP and bootloader programming interface design
  • KiCad DRC and Gerber export

Project Status

StageStatus
Schematic✅ Complete
PCB Layout✅ Complete
DRC✅ Passed
Gerbers Exported✅ Ready
Fabricated⬜ Not yet
Tested⬜ Not yet

About the Designer

Self-taught PCB designer specializing in KiCad — IoT, embedded systems, and industrial control boards. Available for freelance PCB design work: schematic capture, layout, DRC review, and Gerber preparation.

🔗 GitHub: [Abhi90808] 📧 [kvabhishek908@gmail.com]

Parts

26
QtyValueFootprintReferences
5100nFCapacitor_SMD:C_0402_1005MetricC5, C9, C10, C11, C12
210ufCapacitor_SMD:C_0805_2012MetricC3, C4
212pFCapacitor_SMD:C_0402_1005MetricC1, C2
222pFCapacitor_SMD:C_0402_1005MetricC6, C7
2Conn_01x15_PinConnector_PinHeader_2.54mm:PinHeader_1x15_P2.54mm_VerticalJ1, J2
110KResistor_SMD:R_0402_1005MetricR4
112MHZCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
116MHZCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY2
122Resistor_SMD:R_0402_1005MetricR3
15.1KResistor_SMD:R_0402_1005MetricR1
15.1kResistor_SMD:R_0402_1005MetricR2
1500mAFuse:Fuse_0805_2012MetricF1
1AMS1117-5.0Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1ATmega328-PPackage_QFP:TQFP-32_7x7mm_P0.8mmU4
1CH340GPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU1
1Conn_01x06_PinConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ3
1SW_PushButton_Switch_SMD:SW_SPST_B3U-1000PSW1
1USB_C_Plug_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12P1

Similar boards

  • 2 layers31.2 × 53.3 mmNanit, the printed circuit board in 3D

    Nanit

    andykarpov/nanit

    Alternate PCB for NANIT project https://radiokot.ru/circuit/digital/measure/117/

    73 parts7
  • 2 layers82.5 × 101.6 mmUSBdio PCB, the printed circuit board in 3D

    USBdio PCB

    gtetil/USBdio-PCB

    57 parts
  • 2 layers55 × 70 mmArduino v1, the printed circuit board in 3D

    Arduino v1

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    36 parts915
  • 4 layers136.4 × 77.8 mmMother, the printed circuit board in 3D

    Mother

    emiirkaya/ThermovitalSync-PCB

    A PCB project for a vital monitoring-cooling device with GUI

    99 parts2MIT
  • 2 layersVoc tally light, the printed circuit board in 3D

    Voc tally light

    voc/tallylight-v1

    Tallylight for voctomix with PoE and WiFi

    97 parts1
  • 2 layers95 × 63 mmArduino, the printed circuit board in 3D

    Arduino

    gustme/Custom-Arduino

    KiCad custom arduino I made (first KiCad project)

    32 parts

Questions

How big is the ATmega328p microcontroller board PCB?

It measures 50.7 × 21.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ATmega328p microcontroller board use?

26 parts, built around the ATMEGA328-PU, CH340G and AMS1117-5.0. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the ATmega328p microcontroller board KiCad files?

From the Abhi90808/ATmega328p_microcontroller_board repository on GitHub, at the commit this page was made from: the board is ATmega328p_microcontroller_board.kicad_pcb and its schematic ATmega328p_microcontroller_board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ATmega328p microcontroller board design in my own project?

Its repository states no licence, so its author keeps all rights: ask Abhi90808 before reusing the design.