Skip to the content
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…

Size
94.7 × 71.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
147
Nets
134
Pads
513
Tracks, vias
1,300, 177
Pours
5
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
14 Jun 2026
Updated
2 Nov 2026

Overview

IoT Logger B 1.0 is an open-source printed circuit board by WestianPKl, from the WestianPKl/pcb-docs repository on GitHub. It is a 2-layer board of 94.7 × 71.8 mm with 147 parts on 134 nets, routed with 1,300 tracks and 177 vias.

It is built around the SN65HVD230DR, AP63200WU and MX25L25673GM2I-08G, with the ESP32-C6-WROOM-1U-N8, FM24CL16B-G and PCA9306DCUR among its other parts. Its parts include 47 resistors, 42 capacitors, 9 ICs, 9 connectors and 8 diodes. It belongs with the home automation and IoT boards and the ESP32, STM32 and RISC-V boards of this library.

Main components

12

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

147
QtyValueFootprintReferences
21100nFCapacitor_SMD:C_0603_1608MetricC10, C11, C12, C14, C16, C17, C19, C25, C26, C27, C29, C30, C31, C32, C34, C35 +5
81kRResistor_SMD:R_0603_1608MetricR5, R6, R21, R30, R31, R35, R36, R43
6100kRResistor_SMD:R_0603_1608MetricR7, R8, R38, R40, R41, R44
610kRResistor_SMD:R_0603_1608MetricR1, R2, R9, R10, R46, R47
612pFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C39, C40
64k7RResistor_SMD:R_0603_1608MetricR17, R18, R19, R20, R42, R45
4100RResistor_SMD:R_0603_1608MetricR13, R14, R37, R39
4LEDLED_SMD:LED_0603_1608MetricD4, D5, D7, D8
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_DIN965_PadH1, H2, H3, H4
4Tact Switch 6x6mm / 13mmButton_Switch_THT:SW_PUSH_6mmSW1, SW2, SW3, SW4
30RResistor_SMD:R_0603_1608MetricR3, R4, R29
31uFCapacitor_SMD:C_0603_1608MetricC15, C33, C42
3220RResistor_SMD:R_0603_1608MetricR22, R23, R24
3Jumper_2_BridgedConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP1, JP2, JP3
21nFCapacitor_SMD:C_0603_1608MetricC13, C38
222RResistor_SMD:R_0603_1608MetricR11, R12
222uFCapacitor_SMD:C_0603_1608MetricC9, C18
222uFCapacitor_SMD:C_1206_3216MetricC23, C24
25k1RResistor_SMD:R_0603_1608MetricR25, R26
260RResistor_SMD:R_0603_1608MetricR33, R34
2BSS138Package_TO_SOT_SMD:SOT-23Q1, Q4
2GNDTestPoint:TestPoint_Pad_D1.5mmTP6, TP8
1+3.3VTestPoint:TestPoint_Pad_D1.5mmTP7
1+5VTestPoint:TestPoint_Pad_D1.5mmTP5
1100nFCapacitor_SMD:C_0805_2012MetricC21
1100pFCapacitor_SMD:C_0805_2012MetricC22
110uFCapacitor_SMD:C_0603_1608MetricC28
110uFCapacitor_SMD:C_1206_3216MetricC20
1182kRResistor_SMD:R_0805_2012MetricR15
11AFuse:Fuse_1206_3216MetricF1
12.2uFCapacitor_SMD:C_0603_1608MetricC7
1200kRResistor_SMD:R_0603_1608MetricR27
132.768K-CFPX217Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY2
13225-25M-SRCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
14.7nFCapacitor_SMD:C_0603_1608MetricC37
147kRResistor_SMD:R_0603_1608MetricR32
162kRResistor_SMD:R_0805_2012MetricR16
168kRResistor_SMD:R_0603_1608MetricR28
1AO3407Package_TO_SOT_SMD:SOT-23Q2
1AP63200WUPackage_TO_SOT_SMD:TSOT-23-6U3
1AdditionalConnector_PinSocket_2.54mm:PinSocket_2x05_P2.54mm_VerticalJ6
1BC817-40-DIOPackage_TO_SOT_SMD:SOT-23Q3
1BOOT0TestPoint:TestPoint_Pad_D1.5mmTP2
1Buzzer 5V 12mmBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1CANPersonalLib:RJ45_Amphenol_RJHSE5380_SHORTJ9
1CBM03YTAG601-1Inductor_SMD:L_0603_1608MetricFB1
1CBM04YTAG601Inductor_SMD:L_1206_3216MetricFB2
1CONConnector_PinSocket_2.54mm:PinSocket_2x10_P2.54mm_VerticalJ8
1CR2032Battery:BatteryHolder_Keystone_1060_1x2032BT1
1DR73-6R8-RInductor_SMD:L_7.3x7.3_H3.5L1
1ENTestPoint:TestPoint_Pad_D1.5mmTP4
1ESDCAN01-2BLYPackage_TO_SOT_SMD:SOT-23D6
1ESP32-C6-WROOM-1UPCM_Espressif:ESP32-C6-WROOM-1UU2
1ESP_UARTConnector_PinHeader_1.27mm:PinHeader_2x03_P1.27mm_VerticalJ2
1FM24CL16BPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU8
1GPIO0TestPoint:TestPoint_Pad_D1.5mmTP3
1JTAGConnector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_VerticalJ1
1LCD 16x2Connector_IDC:IDC-Header_2x03_P2.54mm_VerticalJ5
1M7-DIODiode_SMD:D_SMAD2
1MCP7940N-xSNPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU6
1MX25L25673GM2I-08GPackage_SO:SOIC-8_5.3x5.3mm_P1.27mmU9
1NRSTTestPoint:TestPoint_Pad_D1.5mmTP1
1OSTBPCS2C2BLED_SMD:LED_Avago_PLCC4_3.2x2.8mm_CWD3
1PCA9306DCURPackage_SO:VSSOP-8_2.3x2mm_P0.5mmU4
1QT3CD-32.768KEZY-TCrystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY3
1SMF5.0ADiode_SMD:D_SOD-123FD1
1SN65HVD230DRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU5
1SPIConnector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ7
1STM32F412RGTxPackage_QFP:LQFP-64_10x10mm_P0.5mmU1
1SensorConnector_IDC:IDC-Header_2x03_P2.54mm_VerticalJ4
1TPD2EUSB30Package_TO_SOT_SMD:Texas_DRT-3U7
1USB-CConnector_USB:USB_C_Receptacle_GCT_USB4085J3

More from WestianPKl/pcb-docs

12
  • 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 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…

    114 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

  • 4 layers93.2 × 57 mmMainboard v1.1, the printed circuit board in 3D

    Mainboard v1.1

    MarcusOJ/lora-based-remotecontrol

    113 partsGPL-3.0
  • 4 layers50 × 65 mmFeroFlyF405, the printed circuit board in 3D

    FeroFlyF405

    Ozonised/FeroFlyF405

    FeroFlyF405 an open source STM32F405 based flight controller running INAV

    150 parts44CERN-OHL-P-2.0
  • 4 layers98.3 × 81.2 mmJuana NIVARA, the printed circuit board in 3D

    Juana NIVARA

    Massiel96/Juana-Massiel_Cordero_Electiva-ll_2025_C2

    162 parts
  • 4 layers120 × 79.5 mmNivara PCB, the printed circuit board in 3D

    Nivara PCB

    WenerrP/WENERR_PACHECO_ELECTIVA_2025_C2

    Wenerr Valentín Pacheco Torres.

    182 parts
  • 4 layers90 × 56.1 mmK2-cm5-traeger, the printed circuit board in 3D

    K2-cm5-traeger

    Gamecard/k2-plus-cm5

    K2 Plus CM5 – Creality K2 Plus mit Upstream-Klipper auf einem Raspberry Pi CM5

    137 partsGPL-3.0
  • 2 layers52 × 57.5 mmMazzy mini, the printed circuit board in 3D

    Mazzy mini

    jaspermayone/mazzy-mini

    Test board for Mazzy project

    77 parts
  • 2 layers80 × 107.5 mmMinino, the printed circuit board in 3D

    Minino

    ElectronicCats/Minino

    Minino is an original multiprotocol and multiband board made for sniffing, communicating, and attacking IoT devices. It was designed as a mini Cat that integrates the powerful ESP32C6, GPS, microSD and OLED.

    79 parts183GPL-3.0
  • 2 layers79 × 78.3 mmLogic testing, the printed circuit board in 3D

    Logic testing

    josh-lambda/fencing-tester

    Fencing Tester is a tool for testing and analysing basic fencing equipment. It is intended for situations where you may not have access to a full piste setup to test equipment during repair or when you are tired of…

    58 parts3

Questions

How big is the IoT Logger B 1.0 PCB?

It measures 94.7 × 71.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the IoT Logger B 1.0 use?

147 parts, built around the SN65HVD230DR, AP63200WU, MX25L25673GM2I-08G and ESP32-C6-WROOM-1U-N8. 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 IoT Logger B 1.0 KiCad files?

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

Can I use the IoT Logger B 1.0 design in my own project?

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