Skip to the content
8 layers42.2 × 67.2 mmOBC PCB, the printed circuit board in 3D

Open source Bikecomputer with a focus on exploration and adventure.

Size
42.2 × 67.2 mm
Copper layers
8
Thickness
1.6 mm
Parts
186
Nets
140
Pads
698
Tracks, vias
182, 23
Pours
20
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
16 Jun 2026
Updated
8 Nov 2026

Overview

OBC PCB is an open-source printed circuit board by timohueser, from the timohueser/OpenBikeComputer repository on GitHub, published under the GPL-3.0 licence. It is an 8-layer board of 42.2 × 67.2 mm with 186 parts on 140 nets, routed with 182 tracks and 23 vias.

It is built around the BMP581, LIS2MDL and DM3CS-SF, with the BMA400, RC0402JR-070RL and RC0201FR-07100RL among its other parts. Its parts include 61 resistors, 53 capacitors, 10 inductors, 7 connectors and 5 ICs.

Main components

12

README

hardware/projects/OBC_PCB/README.md

OBC main board

Open OBC_PCB.kicad_pro in KiCad 10. Keep the project library tables with the files. Run electrical checks from this directory:

sh
kicad-cli sch erc --format json -o /tmp/obc-erc.json OBC_PCB.kicad_sch
kicad-cli pcb drc --schematic-parity --format json -o /tmp/obc-drc.json OBC_PCB.kicad_pcb

Board GPIO map

This table describes the main PCB. The firmware README describes the development kit. Port the firmware pin assignments before running it on this board. LCD_*_MCU is the net between U6 and its source resistor; LCD_* continues to J1.

DevicePadGPIOSignalConnection
U61P2.01SD_CLKR9, 33 Ω at U6; fixed SD pin
U62P2.02SD_D0Fixed SD pin
U63P2.03SD_D2Fixed SD pin
U64P2.04SD_D1Fixed SD pin
U65P2.05SD_CMDFixed SD pin
U67P1.29COM_SOURCE
U68P1.30LCD_R0R69, 100 Ω at U6
U69P1.31LCD_R1R70, 100 Ω at U6
U610P1.00BUZZER_PWM
U611P1.01LCD_GSPR77, 220 Ω at U6
U612P1.02LCD_GENR78, 220 Ω at U6
U613P1.03LCD_BSPR80, 220 Ω at U6
U614P1.04LCD_GCKR76, 220 Ω at U6
U615P1.05LCD_BCKR75, 100 Ω at U6
U616P1.06LCD_G0R71, 100 Ω at U6
U622P1.07LCD_G1R72, 100 Ω at U6
U623P1.08LCD_B0R73, 100 Ω at U6
U624P1.09LCD_B1R74, 100 Ω at U6
U625P0.03GPS_TXDUARTE30 RX (module TX)
U626P0.04BTN_SELECTGPIO SENSE wake
U627P0.06BTN_NEXTGPIO SENSE wake
U628P0.07BTN_BACKGPIO SENSE wake
U629P0.08PMIC_INT
U630P0.09GPS_RXDUARTE30 TX (module RX)
U639P1.15BTN_PREVGPIO SENSE wake
U640P1.16SDATWIM22 data
U641P1.18SCLTWIM22 clock pin
U647P1.19ACC_INT1GPIO SENSE wake
U650P1.24LCD_INTBR79, 220 Ω at U6
U652P2.00SD_D3Fixed SD pin
U27GPIO0DISP_5V_EN
U28GPIO1PMIC_INT
U29GPIO2COM_EN
U210GPIO3LOUD
U211GPIO4DISP_DISCHARGE

Use standard drive for the LCD outputs. Disable NFC through NFCT.PADCONFIG before using GSP and GEN. Keep both low during reset. Set SCL and SDA on the same port. Configure the crystal load capacitors and the internal DC/DC converter before use. Program the bootloader through J5 before fitting the display.

For the LCD, measure 10–90% rise and fall times at J1. Target 25 ns or less; the panel limit is 50 ns. The resistor values are initial values for board testing. Check the image and GNSS reception while the display refreshes.

See Nordic's port capabilities, clock-pin rules and GPIO electrical specification.

Parts

186
QtyValueFootprintReferences
17100kResistor_SMD:R_0402_1005MetricR42, R44, R45, R47, R51, R52, R53, R54, R55, R56, R57, R58, R59, R60, R61, R62 +1
17100nCapacitor_SMD:C_0402_1005MetricC16, C17, C22, C23, C24, C29, C30, C33, C34, C35, C36, C37, C38, C43, C52, C53 +1
70RResistor_SMD:R_0402_1005MetricR1, R26, R27, R35, R39, R40, R50
7100Resistor_SMD:R_0201_0603MetricR69, R70, R71, R72, R73, R74, R75
747kResistor_SMD:R_0402_1005MetricR28, R29, R30, R31, R32, R34, R46
610uCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4, C5, C8
6Fiducial_1mm_Mask2mmFiducial:Fiducial_1mm_Mask2mmFID1, FID2, FID3, FID4, FID5, FID6
51uCapacitor_SMD:C_0603_1608MetricC6, C14, C20, C44, C54
5220Resistor_SMD:R_0201_0603MetricR76, R77, R78, R79, R80
42.2uCapacitor_SMD:C_0603_1608MetricC15, C39, C40, C49
4Cradle 4.2x1.6mm NPTHH3, H4, H5, H6
4Fiducial_0.5mm_Mask1mmFiducial:Fiducial_0.5mm_Mask1mmFID7, FID8, FID9, FID10
32.2uHobc:Wurth_74404024022_2.5x2.0mmL1, L2, L5
3470RResistor_SMD:R_0402_1005MetricR33, R41, R43
3tune (C0G)Capacitor_SMD:C_0402_1005MetricC47, C48, C50
21.8mm NPTHH1, H2
210uCapacitor_SMD:C_0603_1608MetricC41, C51
2150RResistor_SMD:R_0402_1005MetricR48, R49
22.2uCapacitor_SMD:C_0402_1005MetricC11, C28
222uCapacitor_SMD:C_0805_2012MetricC9, C10
24.7kResistor_SMD:R_0402_1005MetricR23, R24
2BMI-S-202-F-20-Robc:Laird_BMI-S-202-F-20_16.5mmSH1, SH2
2RF coax padsobc:RF_Coax_Solder_GSGJ7, J8
1+3V2TestPoint:TestPoint_Pad_D1.0mmTP5
1+3V2_GPSTestPoint:TestPoint_Pad_D1.0mmTP7
1+3V3_SDTestPoint:TestPoint_Pad_D1.0mmTP8
1+5V_DISPTestPoint:TestPoint_Pad_D1.0mmTP10
11.0nHobc:L_Nordic_0201_0603MetricL6
11.2pobc:C_Nordic_0201_0603MetricC45
11.5pobc:C_Nordic_0201_0603MetricC46
110.5kResistor_SMD:R_0201_0603MetricR64
110kResistor_SMD:R_0402_1005MetricR20
110pCapacitor_SMD:C_0201_0603MetricC27
110uCapacitor_SMD:C_0402_1005MetricC21
1120Robc:L_Nordic_0201_0603MetricL4
1150kResistor_SMD:R_0402_1005MetricR2
11MResistor_SMD:R_0402_1005MetricR3
11S Li-Poobc:JST_ACH_2pinJ4
11kResistor_SMD:R_0201_0603MetricR68
11kResistor_SMD:R_0402_1005MetricR66
11pobc:C_Nordic_0201_0603MetricC13
12.2RResistor_SMD:R_0402_1005MetricR5
12.2uobc:C_Nordic_0201_0603MetricC25
1200RResistor_SMD:R_0402_1005MetricR4
1220nCapacitor_SMD:C_0402_1005MetricC42
13.3nHobc:L_Nordic_0201_0603MetricL10
13.6nHobc:L_Nordic_0201_0603MetricL8
13.9nHInductor_SMD:L_0402_1005MetricL7
13.9pobc:C_Nordic_0201_0603MetricC55
132.768kHzCrystal:Crystal_SMD_2012-2Pin_2.0x1.2mmY3
132MHzCrystal:Crystal_SMD_2016-4Pin_2.0x1.6mmY1
133RResistor_SMD:R_0402_1005MetricR9
136.5kResistor_SMD:R_0402_1005MetricR63
136.5kResistor_SMD:R_0201_0603MetricR65
14.3pCapacitor_SMD:C_0201_0603MetricC32
14.7nHobc:L_Nordic_0201_0603MetricL9
14.7uCapacitor_SMD:C_0402_1005MetricC26
14.7uobc:C_Nordic_0201_0603MetricC12
14.7uHInductor_SMD:L_0603_1608MetricL3
147pCapacitor_SMD:C_0201_0603MetricC31
1AO3400APackage_TO_SOT_SMD:SOT-23Q1
1BACKobc:TL1016AAF220QGSW4
1BACKLIGHT A/K - PROVISIONAL SOLDERobc:Backlight_Flex_Solder_2_P1.8mm_ProvisionalJ6
1BAS40-7-FPackage_TO_SOT_SMD:SOT-23D1
1BMA400obc:QFN_BMA400_BOSU3
1BMP581obc:BMP581U5
1COM_SOURCETestPoint:TestPoint_Pad_D1.0mmTP9
1CPT-9019A-SMT-TRobc:CPT-9019A-SMT-TRBZ1
1DM3CS-SFobc:HRS_DM3CS-SFJ2
1FH34SRJ-12S-0.5SH(50)obc:Hirose_FH34SRJ_12S_0.5SHJ3
1GGBLA.125.Aobc:Taoglas_GGBLA125A_10x3.2mm_CornerANT1
1GNDTestPoint:TestPoint_Pad_D1.0mmTP6
1LIS2MDLPackage_LGA:LGA-12_2x2mm_P0.5mmU4
1LP5810BDSDRobc:LP5810_DSD0008BU9
1LS021B7DD02obc:5035662102J1
1MAX-F11Nobc:ublox_MAX_F11N_ProvisionalU1
1NEXTobc:TL1016AAF220QGSW2
1PCB MIFARF_Antenna:Texas_SWRA117D_2.4GHz_RightAE2
1PREVobc:TL1016AAF220QGSW1
1SAFEBOOTTestPoint:TestPoint_Pad_D1.0mmTP2

The 171 most common of 186 parts.

More from timohueser/OpenBikeComputer

2
  • 2 layers24 × 8.7 mmUSB Baseboard, the printed circuit board in 3D

    USB Baseboard

    timohueser/OpenBikeComputer

    Open source Bikecomputer with a focus on exploration and adventure.

    5 parts11GPL-3.0
  • 2 layers29 × 7.7 mmUSB Flex, the printed circuit board in 3D

    USB Flex

    timohueser/OpenBikeComputer

    Open source Bikecomputer with a focus on exploration and adventure.

    2 parts11GPL-3.0

Similar boards

  • 4 layers60 × 60 mmCLAS Combo Breakout, the printed circuit board in 3D

    CLAS Combo Breakout

    takuhoTech/CelestNavi-Combo

    Ready-to-use GNSS+CLAS receiver with integrated loop antenna

    87 parts9MIT
  • 4 layers60 × 90 mmNRF beacon, the printed circuit board in 3D

    NRF beacon

    mathiasekse/IELS2003_PCB

    PCB-relaterte filer til Ingeniørprosjekt III

    72 parts
  • 2 layers80 × 60 mmSpeek rx, the printed circuit board in 3D

    Speek rx

    JBlitzar/speek

    speek monorepo

    55 parts1GPL-3.0
  • 2 layers14 × 39 mmPower Button Board, the printed circuit board in 3D

    Power Button Board

    Acliad/Ahsokas-Lightsaber

    A custom replica of Ashoka Tano's lightsaber

    9 parts
  • 8 layers89.9 × 92 mmMeenie panel, the printed circuit board in 3D

    Meenie panel

    RobbyV2/meenie_controller

    Tiny microcontroller!

    2,107 parts1
  • 6 layers29.8 × 12 mmDongle, the printed circuit board in 3D

    Dongle

    efogtech/endgame-trackball-hardware

    Because it's cheaper than 4 layers. Yes, seriously.

    23 parts26
  • 2 layers45 × 45 mmAirCube, the printed circuit board in 3D

    AirCube

    StuckAtPrototype/AirCube

    Works standalone out of the box. Pairs with Home Assistant in minutes. Other platforms are supported through community-contributed extensions.

    61 parts379Apache-2.0
  • 4 layers74.5 × 70.3 mmNest mini v2-drop in pcb, the printed circuit board in 3D

    Nest mini v2-drop in pcb

    marceldale/nest-mini-v2-voice

    Open voice satellite board for the Google Nest Mini (2nd gen): local Home Assistant voice assistant with ESP32-S3 + XMOS XU316, ESPHome, Voice PE compatible. Open hardware, prototype stage.

    249 parts4CERN-OHL-S-2.0

Questions

How big is the OBC PCB PCB?

It measures 42.2 × 67.2 mm and has 8 copper layers, 1.6 mm thick.

What parts does the OBC PCB use?

186 parts, built around the BMP581, LIS2MDL, DM3CS-SF and BMA400. 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 OBC PCB KiCad files?

From the timohueser/OpenBikeComputer repository on GitHub, at the commit this page was made from: the board is hardware/projects/OBC_PCB/OBC_PCB.kicad_pcb and its schematic hardware/projects/OBC_Fit_Test/OBC_Fit_Test.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the OBC PCB design in my own project?

Its repository publishes it under the GPL-3.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).