Skip to the content
2 layers45 × 74.5 mmOctoboard, the printed circuit board in 3D

An 8 bit microcontroller dev board for the ATMEGA328P-PU

Size
45 × 74.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
32
Nets
32
Pads
111
Tracks, vias
279, 47
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
2 Jul 2026
Updated
25 Jul 2026

Overview

Octoboard is an open-source printed circuit board by hhhug000, from the hhhug000/octoboard repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 45 × 74.5 mm with 32 parts on 32 nets, routed with 279 tracks and 47 vias.

It is built around the ATMEGA328P-PU. Its parts include 8 capacitors, 8 connectors, 4 diodes, 3 resistors and 2 ICs. It belongs with the microcontroller boards boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

Octoboard

An ATmega328P-PU development board designed from scratch in KiCad for prototyping AVR projects without breadboard mess. It uses only THT components to simplify soldering, and does not use an onboard serial chip to save on cost and simplicity

Octoboard breaks out all the GPIO from the chip, and provides all power management and supporting hardware.

The BOM is for 5 boards, as that is the minimum I can buy from JLCPCB and some parts

Built for the Hack Club Stardance YSWS program


Visuals

Renders

FrontBackAngle
FrontBackAngle

PCB

All LayersFront LayerBack Layer
All LayersFront LayerBack Layer

Explainer Video

OctoBoard Promo


Design and Specs

  • Microcontroller ATmega328P-PU (DIP-28 package)
  • Clock speed External 16 MHz crystal oscillator
  • I/O All GPIO pins broken out to standardized 2.54mm pitch female headers
  • Power management Steps down barrel jack or input voltage to clean filtered 5v for the chip, and broken out for components
  • Programming Is programmed with standard Arduino C++, or any other lang with support like TinyGo or Micropython

Notes

Make sure to flash the bootloader to the board in Arduino IDE even if you will only use ICSP. This is because it programs the fuses, and programs will not work properly without it.


Programming

The device can be programmed in a variety of languages. I have personally tested it with Arduino C++ and my own blockly based system. The device can be programmed with avrdude or the arduino ide.

Parts

32
QtyValueFootprintReferences
40.1uFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mmC3, C4, C5, C6
3MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3
21kOResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2, R3
220pFCapacitor_THT:C_Disc_D3.8mm_W2.6mm_P2.50mmC1, C2
2Conn_01x06Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ4, J5
2LEDLED_THT:LED_D3.0mmD2, D4
2LOGOLOGOG***, G***
110kOResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1
11N4007Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD3
11N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1
147uFCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC7
147ufCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC8
1ATmega328P-PPackage_DIP:DIP-28_W7.62mmU1
1Barrel_JackConnector_BarrelJack:BarrelJack_HorizontalJ7
1Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ8
1Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ6
1Conn_01x08Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ3
1CrystalCrystal:Crystal_HC49-4H_VerticalY1
1ICSPConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ1
1LM7805_TO220Package_TO_SOT_THT:TO-220-3_VerticalU2
1SW_PushButton_Switch_THT:SW_PUSH_6mmSW1
1Serial BoardConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ2

Similar boards

  • 2 layers68.8 × 53.6 mmZArduino, the printed circuit board in 3D

    ZArduino

    zmaker/arduino_cookbook

    gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube

    46 parts269
  • 2 layers76.3 × 122.8 mmDiscipad pcb, the printed circuit board in 3D

    Discipad pcb

    coseyfannitutti/discipad

    17-key numpad assembled with only through hole components, including usb type-c

    63 parts221GPL-3.0
  • 2 layers111.3 × 106.4 mmSuper Sixteen v1, the printed circuit board in 3D

    Super Sixteen v1

    matthewcieplak/super-sixteen

    Code and schematics for the Super Sixteen Eurorack sequencer

    141 parts171
  • 2 layers247.6 × 99.2 mmRomeo pcb, the printed circuit board in 3D

    Romeo pcb

    coseyfannitutti/romeo

    Staggered 40% keyboard pcb that can be assembled with only through hole components, including USB Type-C

    138 parts148GPL-3.0
  • 2 layers90 × 140 mmDrumkid, the printed circuit board in 3D

    Drumkid

    mattybrad/drumkid

    Version 4 was the first successful working design, with full code, schematics, Gerbers, etc available on GitHub.

    70 parts137
  • 2 layers238.1 × 375.5 mmFramework, the printed circuit board in 3D

    Framework

    stevennguyen/framework

    Ortholinear keyboard with a knob

    197 parts131
  • 2 layersLM80C R6, the printed circuit board in 3D

    LM80C R6

    leomil72/LM80C

    A Z80-based homebrew computer withTMS9918, AY-3-8910, Z80 CTC, Z80 PIO, and Z80 SIO

    153 parts123GPL-3.0
  • 2 layers145.3 × 44.5 mmScout, the printed circuit board in 3D

    Scout

    oskitone/scout

    3D-printed, Arduino-compatible, 17-key mono synth. Squeeeee!

    48 parts114

Questions

How big is the Octoboard PCB?

It measures 45 × 74.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Octoboard use?

32 parts, built around the ATMEGA328P-PU. 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 Octoboard KiCad files?

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

Can I use the Octoboard design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).