Skip to the content
2 layers58.4 × 69.9 mmAtmega isp, the printed circuit board in 3D

The board's design is heavily based on the design of the Arduino Uno. All the USB communication stuff was removed. The board is therefore reduced to its bare minimum.

Size
58.4 × 69.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
27
Nets
35
Pads
150
Tracks, vias
311, 211
Pours
3
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
26 Nov 2021
Updated
13 Feb 2022

Overview

Atmega isp is an open-source printed circuit board by TimGoll, from the TimGoll/pcb_atmega328pb repository on GitHub. It is a 2-layer board of 58.4 × 69.9 mm with 27 parts on 35 nets, routed with 311 tracks and 211 vias.

It is built around the ATMEGA328P-AU. Its parts include 9 connectors, 7 capacitors, 2 resistors, 1 IC and 1 diode. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

PCB Atmega328PB

The board's design is heavily based on the design of the Arduino Uno. All the USB communication stuff was removed. The board is therefore reduced to its bare minimum. The most notable deviation in comparison to the Arduino Uno is that my board uses a 20MHz crystal.

PCB schematic and design (The schematic and the PCB I created from this schematic)

The board is a two layer design with mostly ground planes that are stitched together with multiple vias. All the relevant parts are mounted to the front side.

Board with prpgrammer (The finished PCB aith the programmer next to it)

The design of the board works like intended with the one issue, that the ISP connector is mirrored. This however is fixed in the current version in this repository.

Setup

This board has to be programmed with an ISP connection located on the board. There are different programmers available, I'm using the Pololu USB AVR Programmer v2.1. The driver package should be installed as it comes with a nice tool to look at the programmer.

A working programmer looks something like this. Do note here that I'm using an external power supply for the MCU here.

Config Util

If the board is connected, avrdude can be used to read the info of the MCU. Use ./avrdude.exe in the command line while being in the correct folder, for me it is: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin.

Use the following command to read the board information:

sh
./avrdude.exe -C ../etc/avrdude.conf -c stk500 -P COM8 -b 19200 -p m328pb -v

COM8 is used here because it is the programming port of this programmer, stk500 is the type of the programmer. See this article for more information on this.

To use an external crystal, the fuses of the board have to be set. The fuse bits can be easily set with the AVR fuse calculator. They then have to be flashed to the board. The command is mostly the same, only the -v gets replaced by the fuse byte command from the website.

Now the board can be flashed with the desired software. There are different ways to do this, but if the Arduino IDE should be used, a few things have to be set up.

First MiniCore has to be added as it features a few more missing AVRs with UI based configurability. The json file link had to be added in the Arduino Settings page as described in the project's readme.

Arduino IDE

These are the settings that were used here for this specific board setup. It can be easily verified by uploading a simple LED blink sketch.

Parts

27
QtyValueFootprintReferences
4100nCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC3, C4, C6, C7
4MountingHole_PadMountingHole:MountingHole_4.3mm_M4_Pad_ViaH1, H2, H3, H4
222pCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC2, C5
2jmpConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ4, J5
110kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1
110uInductor_SMD:L_0805_2012Metric_Pad1.15x1.40mm_HandSolderL1
11uCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC1
12k2Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR2
1ATmega328P-AUPackage_QFP:TQFP-32_7x7mm_P0.8mmU1
1FTDIConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ7
1ISPConnector_PinSocket_2.54mm:PinSocket_2x05_P2.54mm_VerticalJ3
1PBConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ8
1PDConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ6
1RSTButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmSW1
1S3B20Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSolderingY1
1analogConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ2
1powerConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ9
1pwrLED_SMD:LED_0805_2012Metric_CastellatedD1
1pwrTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ1

Similar boards

  • 2 layers50.5 × 128.5 mmOpenThereminV45, the printed circuit board in 3D

    OpenThereminV45

    GaudiLabs/OpenThereminV4

    Open Source Theremin Instrument

    107 parts249GPL-3.0
  • 2 layers152 × 88 mmRFBitBangSMT, the printed circuit board in 3D

    RFBitBangSMT

    profdc9/RFBitBanger

    A QRP digital transceiver created from readily available parts for off-the-grid maintenance

    271 parts222
  • 2 layers50.2 × 31.2 mmMCU Datalogger, the printed circuit board in 3D

    MCU Datalogger

    futureshocked/KLP4e_MCU-Datalogger

    This is the repository for the "MCU Datalogger" project.

    31 parts138MIT
  • 2 layers34 × 46 mmNfcemu, the printed circuit board in 3D

    Nfcemu

    solosky/nfc-emu

    NFC模拟器

    58 parts117Apache-2.0
  • 2 layers73 × 94 mmSportiduino base, the printed circuit board in 3D

    Sportiduino base

    sportiduino/sportiduino

    Electronic timing system for orienteering and similar outdoor sports events on Arduino

    119 parts78GPL-3.0
  • 2 layers58.9 × 44.2 mmOpenPSX2AmigaPadAdapter, the printed circuit board in 3D

    OpenPSX2AmigaPadAdapter

    SukkoPera/OpenPSX2AmigaPadAdapter

    Playstation to Commodore Amiga/CD32 Controller Adapter

    43 parts69
  • 2 layers60 × 50 mmVx8 gps prototype v2.0, the printed circuit board in 3D

    Vx8 gps prototype v2.0

    4x1md/vx8_gps

    DIY GPS module for Yaesu VX-8DR/VX-8DE handheld transceiver.

    56 parts66MIT

Questions

How big is the Atmega isp PCB?

It measures 58.4 × 69.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Atmega isp use?

27 parts, built around the ATMEGA328P-AU. 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 Atmega isp KiCad files?

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

Can I use the Atmega isp design in my own project?

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