Skip to the content
PCBKitNew board
2 layers100 × 80 mmController board, the printed circuit board in 3D

Controller board

WestianPKl/pcb-docs

A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

Size
100 × 80 mm
Copper layers
2
Thickness
1.6 mm
Parts
114
Nets
123
Pads
470
Tracks, vias
1,063, 213
Pours
12
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
14 Jun 2026
Updated
2 Nov 2026

Overview

Controller board is an open-source printed circuit board by WestianPKl, from the WestianPKl/pcb-docs repository on GitHub. It is a 2-layer board of 100 × 80 mm with 114 parts on 123 nets, routed with 1,063 tracks and 213 vias.

It is built around the INA226AIDGST, LMR64010XMF and DG408DY-E3, with the TLV3502AID, TPD2E009DBZR and TGL34-36A among its other parts. Its parts include 47 capacitors, 37 resistors, 16 ICs, 6 diodes and 4 connectors. It belongs with the STM32 boards of this library.

Main components

9

README

README.md

PCB Manager — Board Collection

A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI, or UART.

Author: Piotr Kłyś
Tool: KiCAD 8.x
Firmware: MicroPython (Pico boards), AVR-GCC (ATmega boards)


Boards Overview

BoardVersionInterfaceIC / Description
Main_Board1.0 / 1.1 / 1.2a—Raspberry Pi Pico test & integration board
CAN_Board1.0SPIMCP2515 — CAN bus controller
EEPROM_Board1.0I2CM24C32 — 32 Kbit EEPROM
GPIO_Board1.0I2CMCP23017 — 16-bit GPIO expander
INA_Board1.0I2CINA226 — voltage / current / power monitor
RTC_Board1.0I2CPCF8563T — real-time clock
Relay_Board1.0GPIO2-channel relay module
Modbus_Board1.0UARTRS-485 / Modbus RTU
Power_Board1.0—DC power supply module
MOSFET_Board1.0GPIOHigh-side / low-side MOSFET switch
Amplifier_Board—AnalogSignal amplifier
ATMega_Board1.0—ATmega (through-hole) development board
ATMegaSMD_Board1.0—ATmega (SMD) development board
Tree_Board——AVR LED Christmas tree
IoT_Logger_B_1.01.0—IoT data logger revision B
IoT_Logger_C_1.01.0—IoT data logger revision C
Pico_TH_Logger_SMD_PCF8563T_2.12.1I2CPico temp/humidity logger with RTC
Pico_TH_Logger_Relay_SMD_PCF8563T_2.12.1I2CPico temp/humidity logger with RTC + relay

Board Details

Main_Board

The central development and integration board built around the Raspberry Pi Pico. Used to test all peripheral modules in the collection.

Features:

  • RGB LED (PWM)
  • 2× status LEDs (PWM)
  • Buzzer (PWM)
  • 2× push buttons
  • ADC input with 100 kΩ / 200 kΩ voltage divider
  • Connectors for all expansion boards (I2C, SPI, CAN, EEPROM, GPIO, INA, RTC, Relay)
  • Optional multi-threaded test runner (_thread)

Firmware: Main_Board/Code/main.py


CAN_Board

CAN bus communication module using the MCP2515 controller over SPI.

Features:

  • SPI interface to Pico
  • Standard CAN 2.0 frame support
  • Loopback, sniffer, and master/slave test scripts

Firmware: CAN_Board/Code/

  • can_mcp2515.py — low-level MCP2515 driver
  • can_communication.py — higher-level protocol
  • hello.py, loopback.py, sniffer.py, can_slave.py, can_test.py — examples

EEPROM_Board

Non-volatile storage expansion using the M24C32 (32 Kbit / 4 KB) I2C EEPROM.

Firmware: EEPROM_Board/Code/eeprom_m24c32.py


GPIO_Board

16-bit I2C GPIO expander using the MCP23017, providing two 8-bit ports (Port A / Port B) with interrupt support.

Firmware: GPIO_Board/Code/expander_mpc23017.py


INA_Board

High-side power monitoring using the INA226 — measures bus voltage, shunt voltage, current, and power via I2C.

Default configuration:

  • Shunt resistor: 100 mΩ
  • Max current: 3.2 A
  • Alert pin supported

Firmware: INA_Board/Code/measurement_ina226.py


RTC_Board

Real-time clock module using the PCF8563T via I2C. Provides timekeeping, alarm, and 1 Hz clock output.

Features:

  • Date / time read and write
  • Alarm support
  • 1 Hz CLKOUT output
  • Battery backup pin

Firmware: RTC_Board/Code/rtc_pcf8563.py


Relay_Board

2-channel relay board controlled via GPIO from the Pico.


Modbus_Board

RS-485 transceiver board enabling Modbus RTU communication over UART.


Power_Board

DC power supply module — voltage regulation and distribution for the board ecosystem.


MOSFET_Board

MOSFET-based switching board for controlling higher-power loads from Pico GPIO.


Amplifier_Board

Analog signal amplifier module.


ATMega_Board

Through-hole ATmega development board — classic DIP package, ISP programming header.


ATMegaSMD_Board

SMD variant of the ATmega development board — compact form factor.


Tree_Board

AVR-based LED Christmas tree — decorative board with animated LED patterns.

Firmware: Tree_Board/TreeCode/main.c (AVR-GCC)
Gerbers / renders: Tree_Board/PROD/


IoT_Logger_B

IoT data logger — revision B.


IoT_Logger_C

IoT data logger — revision C. Improved layout over revision B.


Pico_TH_Logger_SMD_PCF8563T_2.1

Compact SMD temperature and humidity logger based on Raspberry Pi Pico with a PCF8563T RTC for timestamped logging.


Pico_TH_Logger_Relay_SMD_PCF8563T_2.1

Extended version of the TH Logger adding a relay output for threshold-based control (e.g. ventilation, heating).


Repository Structure

text
pcb-docs/
├── <BoardName>/
│   ├── <BoardName>.kicad_pro      # KiCAD project
│   ├── <BoardName>.kicad_sch      # Schematic
│   ├── <BoardName>.kicad_pcb      # PCB layout
│   ├── Code/                      # MicroPython / C firmware
│   └── PROD/                      # Gerbers, renders, BOM exports
├── Boards_BOM.ods                 # Combined Bill of Materials
└── README.md

Each board may contain multiple revision subdirectories (e.g. 1.0/, 1.1/).


Getting Started

Requirements

  • KiCAD 8.x — to open schematics and PCB layouts
  • Thonny or mpremote — to flash MicroPython firmware to Pico
  • AVR-GCC + avrdude — for Tree_Board / ATmega boards

Running firmware on Pico

  1. Flash MicroPython to your Raspberry Pi Pico.
  2. Copy the relevant driver file(s) from <BoardName>/Code/ to the Pico filesystem.
  3. Run or import the module from the REPL or main.py.
python
# Example — INA226 power monitor
from machine import I2C, Pin
from measurement_ina226 import MEASUREMENT_INA226

i2c = I2C(0, sda=Pin(4), scl=Pin(5))
ina = MEASUREMENT_INA226(i2c, r_shunt_ohm=0.1, max_current=3.2)
print(ina.read_voltage(), ina.read_current(), ina.read_power())

Bill of Materials

A combined BOM for all boards is available in Boards_BOM.ods (OpenDocument Spreadsheet).


License

This project is licensed under the CERN Open Hardware Licence v2 - Permissive (CERN-OHL-P).

You are free to use, modify, and manufacture these designs. Attribution appreciated.

Parts

114
QtyValueFootprintReferences
33100nFCapacitor_SMD:C_0603_1608MetricC2, C3, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28, C29 +17
10330RResistor_SMD:R_0603_1608MetricR9, R10, R16, R17, R18, R19, R20, R21, R25, R29
10INA226AIDGSTLibrary:INA226AIDGSRU2, U3, U4, U5, U6, U7, U8, U9, U10, U11
64k7RResistor_SMD:R_0603_1608MetricR8, R11, R12, R13, R14, R15
410RResistor_SMD:R_0603_1608MetricR22, R24, R26, R28
41kRResistor_SMD:R_0603_1608MetricR2, R4, R5, R37
310kRResistor_SMD:R_0603_1608MetricR3, R6, R7
3TPD2E009DBZRPackage_TO_SOT_SMD:SOT-23-3D1, D2, D3
212pFCapacitor_SMD:C_0603_1608MetricC10, C11
21uFCapacitor_SMD:C_0603_1608MetricC9, C45
22.2uFCapacitor_SMD:C_0603_1608MetricC14, C15
220pFCapacitor_SMD:C_0603_1608MetricC12, C13
24.7uFCapacitor_SMD:C_0805_2012MetricC42, C43
2R_SHUNTResistor_SMD:R_2512_6332MetricR23, R27
2TGL34-36ADiode_SMD:D_MiniMELFD4, D5
1100nFCapacitor_SMD:C_0805_2012MetricC40
113k3RResistor_SMD:R_0603_1608MetricR32
115kRResistor_SMD:R_0603_1608MetricR34
11MRResistor_SMD:R_0603_1608MetricR31
11k2RResistor_SMD:R_0603_1608MetricR36
11nFCapacitor_SMD:C_0603_1608MetricC7
13.3MRResistor_SMD:R_0603_1608MetricR33
132.768K-CFPX217Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY2
13225-25M-SRCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
133RResistor_SMD:R_0603_1608MetricR35
1357kRResistor_SMD:R_0603_1608MetricR30
13k3RResistor_SMD:R_0603_1608MetricR1
14.7uFCapacitor_SMD:C_0603_1608MetricC1
182pFCapacitor_SMD:C_0805_2012MetricC41
1CBM03YTAG601-1Inductor_SMD:L_0603_1608MetricFB1
1DG408DY-E3Library:SOIC127P600X175-16NIC3
1DS1037-37FNAKT74-0CCLibrary:DS103737FNAKT740CCJ2
1JTAGConnector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_VerticalJ3
1LEDConnector_PinSocket_2.54mm:PinSocket_2x04_P2.54mm_VerticalJ1
1LMR64010XMFPackage_TO_SOT_SMD:SOT-23-5U12
1LQH43CN100K03LInductor_SMD:L_1812_4532MetricL1
1MCP2562FD-E_SNLibrary:SOIC127P600X175-8NIC1
1OPA197xDBVPackage_TO_SOT_SMD:SOT-23-5U13
1PWRConnector_PinSocket_2.54mm:PinSocket_2x15_P2.54mm_VerticalJ4
1SS16Diode_SMD:D_SMAD6
1STM32H523CETxPackage_QFP:LQFP-48_7x7mm_P0.5mmU1
1TLV3502AIDLibrary:SOIC127P600X175-8NIC2

Questions

How big is the Controller board PCB?

It measures 100 × 80 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Controller board use?

114 parts, built around the INA226AIDGST, LMR64010XMF, DG408DY-E3 and TLV3502AID. 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 Controller board KiCad files?

From the WestianPKl/pcb-docs repository on GitHub, at the commit this page was made from: the board is Micro_DAQ/Controller_Board/controller_board.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Controller board design in my own project?

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

More from WestianPKl/pcb-docs

12
  • 2 layers94.7 × 71.8 mmIoT Logger B 1.0, the printed circuit board in 3D

    IoT Logger B 1.0

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    147 parts
  • 2 layers74.1 × 91.8 mmSTM Board, the printed circuit board in 3D

    STM Board

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    131 parts
  • 2 layers160 × 158 mmTree Board, the printed circuit board in 3D

    Tree Board

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    119 parts
  • 2 layers160 × 158 mmTree Board, the printed circuit board in 3D

    Tree Board

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    116 parts
  • 2 layers94.7 × 71.8 mmIoT Logger C 1.0, the printed circuit board in 3D

    IoT Logger C 1.0

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    107 parts
  • 2 layers94.7 × 71.8 mmDevice Board, the printed circuit board in 3D

    Device Board

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    104 parts
  • 2 layers65.2 × 80 mmTest board, the printed circuit board in 3D

    Test board

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    96 parts
  • 2 layers100.5 × 83 mmPicoLogger, the printed circuit board in 3D

    PicoLogger

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    81 parts
  • 2 layers100 × 80 mmOutput board, the printed circuit board in 3D

    Output board

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    76 parts
  • 2 layers100 × 80 mmPower board, the printed circuit board in 3D

    Power board

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    75 parts
  • 2 layers100 × 80 mmCommunication board, the printed circuit board in 3D

    Communication board

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    68 parts
  • 2 layers100 × 60 mmPower board old, the printed circuit board in 3D

    Power board old

    WestianPKl/pcb-docs

    A collection of custom PCB designs created in KiCAD, centered around the Raspberry Pi Pico (RP2040) platform. Each board is a standalone module that connects to the Main Board and extends its functionality via I2C, SPI…

    66 parts

Similar boards

  • 2 layers75 × 29.5 mmA1200KB DB37, the printed circuit board in 3D

    A1200KB DB37

    steveed/a1200kb-external-case

    Some ideas for using an external Amiga keyboard with an A1200 in a desktop or tower case.

    41 parts1
  • 4 layers83 × 100 mmSolar module-1u si, the printed circuit board in 3D

    Solar module-1u si

    oresat/oresat-solar-hardware

    OreSat solar array designs and CAD

    148 parts28
  • 4 layers69.8 × 71.5 mmAviyonik, the printed circuit board in 3D

    Aviyonik

    basarbinici/4-Layered-Flight-Controller-PCB

    The board is designed around a high-performance flight-control MCU and uses three independent SPI-connected IMUs for motion sensing.

    133 parts
  • 4 layers63.7 × 41.1 mmKiCad Advanced Design a smart USB thumb drive, the printed circuit board in 3D

    KiCad Advanced Design a smart USB thumb drive

    gorkemguven/RP2040-Dual-TypeC-eMMC-Board

    A 4-layer embedded development board featuring RP2040, USB2244 high-speed eMMC bridge, dual Type-C ports, and INA226/TMP119 power & telemetry monitoring.

    133 partsMIT
  • 4 layers69.8 × 50.4 mmC3-proxy, the printed circuit board in 3D

    C3-proxy

    oresat/oresat-flatsat

    All things for the OreSat flatsat

    77 parts1
  • 4 layers100 × 90 mmFmc, the printed circuit board in 3D

    Fmc

    daveshah1/DSITx

    MIPI DSI transmitter core for Xilinx FPGAs (work in progress)

    149 parts89MIT
  • 4 layers157.5 × 98 mmBeamBender BigBox, the printed circuit board in 3D

    BeamBender BigBox

    kavanoz64/BeamBender-BigBox

    An AGA digital scandoubler and HDMI output card for the Amiga 4000, with Amiga 2000 / 3000 support.

    221 parts12