Skip to the content
6 layers32 × 20 mmController, the printed circuit board in 3D

for cad stuff

Size
32 × 20 mm
Copper layers
6
Thickness
0.54 mm
Parts
77
Nets
105
Pads
326
Tracks, vias
1,000, 87
Pours
4
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 Oct 2026
Updated
7 Nov 2026

Overview

Controller is an open-source printed circuit board by freemocap, from the freemocap/skellycad repository on GitHub, published under the AGPL-3.0 licence. It is a 6-layer board of 32 × 20 mm with 77 parts on 105 nets, routed with 1,000 tracks and 87 vias.

It is built around the USBLC6-2P6, 0603YD105KAT2A and 0805X475K250CT, with the BSS138 and FH34SRJ-24S-0.5SH(99) among its other parts. Its parts include 42 capacitors, 18 resistors, 8 ICs, 3 transistors and 3 connectors. It belongs with the ESP32 and RISC-V boards of this library.

Main components

5

README

designs/cameras/ov9281/history/electronics/r008/README.md

R08 routing and firmware assembly variant

R08 adds 16 verified paths and seven through vias to R07, preserving all earlier placements, pads and copper. Nine more unconnected items are resolved: the controller falls from 37 to 34 and the head from 29 to 23. The flex remains fully connected. R08 is a checked draft with 57 unconnected items, not a fabrication release.

The sensor address population now has R7 absent and R8 populated with 0 ohm. This selects SID low and matches the firmware driver's 7-bit address 0x60 [@espressifOv9281Driver]. Schematic and PCB population attributes were checked; the electrical netlist is otherwise identical to R07.

Open OV9281-P4-R08-assembly.kicad_pcb for the combined inspection view. The three manufacturing designs remain separate: controller.kicad_pcb, head.kicad_pcb, and flex-study.kicad_pcb. The combined file is not a fab input. Native STEP exports show substrates and copper only; components and optics are not represented as validated mechanical bodies.

Verified scope

  • All 456 schematic-to-board pad nets match; 24 flex paths and their flat XY interface positions match. These checks do not qualify connector mating height.
  • All existing copper and placements remain; every added segment and via matches routing-r08.json. Every added path reaches its declared endpoints.
  • No net loses connectivity. No shorts, spacing errors or copper slivers occur under the saved draft rules. Six open tracks and seven incomplete vias still produce warnings. DRC is not clean for fabrication.
  • ERC reports zero messages under the inherited settings; ignored categories remain visible in checks/erc.rpt.
  • Rigid stackups remain 0.6 mm and the flex 0.1 mm. Trace impedance, current capacity, manufacturing process and assembled fit are unqualified.

The new head paths can use 0.10 mm widths with 0.15 mm spacing. The earlier R07 4 mm local-escape restriction does not describe every R08 route; inspect the recorded lengths and layers. No MIPI or USB differential-pair routing was added. The router trial's unused escape vias and copper-sliver-producing additions were discarded before this revision was selected.

inventory.json lists 103 native footprints with values, available MPN fields, population, sides and placements. It is a review inventory, not an approved BOM. J104 remains a schematic reservation, not a built LED driver. Y1's inherited 3.3 V part description conflicts with its +1V8 supply; exact part and land pattern review are required. The reference design's reuse license does not establish that every inherited component choice is correct for this adaptation.

Reproduce

Use KiCad 10's bundled Python from the repository root. Choose unused output directories; the scripts refuse to overwrite a previous experiment.

powershell
& 'C:/Users/jonma/AppData/Local/Programs/KiCad/10.0/bin/python.exe' designs/eye-camera-ov9281/build_r08.py --output generated/r08-trial-new
& 'C:/Users/jonma/AppData/Local/Programs/KiCad/10.0/bin/python.exe' designs/eye-camera-ov9281/refine_r08.py --input generated/r08-trial-new --output generated/r08-refined-new
& 'C:/Users/jonma/AppData/Local/Programs/KiCad/10.0/bin/python.exe' designs/eye-camera-ov9281/validate_r06.py --directory generated/r08-refined-new --parent designs/eye-camera-ov9281/electronics/r07 --revision OV9281-P4-R08

The refinement retains a reviewed subset of nets. KiCad object UUIDs and route choices can differ between runs. A replay must pass native validation before selection; the current checkpoint is identified by validation.json hashes. The validator writes review artifacts, so run it on a new experiment rather than on an accepted checkpoint. Read ../../firmware/README.md for software builds and ../../STATUS.md for remaining release gates.

Parts

77
QtyValueFootprintReferences
610kCamera:R_0402_1005MetricR101, R102, R103, R104, R117, R118
51uCamera:C_0603_1608MetricC104, C125, C126, C127, C133
44.7kCamera:R_0402_1005MetricR112, R113, R114, R115
3100nCamera:C_0402_1005MetricC103, C132, C135
34.7uCamera:C_0603_1608MetricC105, C108, C136
3C_1u_0603Camera:C_0603_1608MetricC4, C5, C6
3C_4u7_0805Camera:C_0805_2012MetricC1, C2, C3
20Camera:R_0402_1005MetricR109, R110
2100kCamera:R_0402_1005MetricR108, R116
210nCamera:C_0402_1005MetricC131, C134
210uCamera:C_0805_2012MetricC123, C124
22.2u / Isat TBDCamera:L_0805_2012MetricL101, L102
222uCamera:C_0805_2012MetricC106, C109
2499kCamera:R_0402_1005MetricR105, R106
2BSS138Camera:SOT-23Q101, Q102
2CL_TBDCamera:C_0402_1005MetricC101, C102
1100n / U101.101Camera:C_0402_1005MetricC121
1100n / U101.102Camera:C_0402_1005MetricC122
1100n / U101.21Camera:C_0402_1005MetricC111
1100n / U101.26Camera:C_0402_1005MetricC112
1100n / U101.30Camera:C_0402_1005MetricC128
1100n / U101.54Camera:C_0402_1005MetricC113
1100n / U101.59Camera:C_0402_1005MetricC129
1100n / U101.62Camera:C_0402_1005MetricC114
1100n / U101.67Camera:C_0402_1005MetricC130
1100n / U101.75Camera:C_0402_1005MetricC115
1100n / U101.76Camera:C_0402_1005MetricC116
1100n / U101.77Camera:C_0402_1005MetricC117
1100n / U101.85Camera:C_0402_1005MetricC118
1100n / U101.9Camera:C_0402_1005MetricC110
1100n / U101.91Camera:C_0402_1005MetricC119
1100n / U101.96Camera:C_0402_1005MetricC120
122pCamera:C_0402_1005MetricC107
14.02k 1%Camera:R_0402_1005MetricR111
140 MHz / CL TBDCamera:Crystal_SMD_2016-4Pin_2.0x1.6mmY101
1453kCamera:R_0402_1005MetricR107
1BSS138 / reset asserted HIGHCamera:SOT-23Q103
1ESP32-P4NRW16X / v3.xCamera:ESP32-P4U101
1FH34SRJ-24S-0.5SH(99)Camera:Hirose_FH34SRJ_24S_0.5SH_R05J102
1PROGRAM / RESET padsCamera:ProgrammingPads_5x1mm_P1.5mmJ103
1TLV62569DBV / coreCamera:SOT-23-5U103
1TLV62569DBV / systemCamera:SOT-23-5U104
1TLV73312PDBVTCamera:SOT-23-5U6
1TLV73318PDBVTCamera:SOT-23-5U5
1TLV73328PDBVTCamera:SOT-23-5U7
1USB / JST 4-contact candidateCamera:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ101
1USBLC6-2P6Camera:SOT-666U105
1W25Q32JVSS (4 MB candidate)Camera:SOIC-8_5.3x5.3mm_P1.27mmU102

More from freemocap/skellycad

12
  • 4 layers34 × 26 mmCamera, the printed circuit board in 3D

    Camera

    freemocap/skellycad

    for cad stuff

    119 partsAGPL-3.0
  • 6 layers74.9 × 14 mmCamera, the printed circuit board in 3D

    Camera

    freemocap/skellycad

    for cad stuff

    106 partsAGPL-3.0
  • 4 layers65 × 14 mmCamera, the printed circuit board in 3D

    Camera

    freemocap/skellycad

    for cad stuff

    77 partsAGPL-3.0
  • 4 layers14 × 14 mmHead, the printed circuit board in 3D

    Head

    freemocap/skellycad

    for cad stuff

    31 partsAGPL-3.0
  • 4 layers14 × 14 mmHead, the printed circuit board in 3D

    Head

    freemocap/skellycad

    for cad stuff

    23 partsAGPL-3.0
  • 2 layers30 × 34 mmCamera interface, the printed circuit board in 3D

    Camera interface

    freemocap/skellycad

    for cad stuff

    6 partsAGPL-3.0
  • 2 layers35.3 × 12.5 mmAUDIT flex study, the printed circuit board in 3D

    AUDIT flex study

    freemocap/skellycad

    for cad stuff

    2 partsAGPL-3.0
  • 2 layers35.3 × 12.5 mmFlex study, the printed circuit board in 3D

    Flex study

    freemocap/skellycad

    for cad stuff

    2 partsAGPL-3.0
  • 2 layers35.3 × 12.5 mmFlex study, the printed circuit board in 3D

    Flex study

    freemocap/skellycad

    for cad stuff

    2 partsAGPL-3.0
  • 2 layers35.3 × 12.5 mmFlex study, the printed circuit board in 3D

    Flex study

    freemocap/skellycad

    for cad stuff

    2 partsAGPL-3.0

Similar boards

  • 6 layers100 × 70 mmSa800u baseboard hw, the printed circuit board in 3D

    Sa800u baseboard hw

    antmicro/snapdragon-845-baseboard

    https://antmicro.com/blog/2022/04/open-source-snapdragon-845-baseboard/

    616 parts70Apache-2.0
  • 2 layers82.2 × 101.3 mmMeshinger, the printed circuit board in 3D

    Meshinger

    Meshinger/Meshinger

    KiCad Project for the Meshinger hardware

    42 parts13
  • 4 layers233.4 × 147.3 mmOpenPLC Hardware, the printed circuit board in 3D

    OpenPLC Hardware

    gasiepgodoy/Open-Source-PLC

    Open Source Programmable Logic Controller (Hardware and Software). Based on the Master of Science in Electrical Engineering of João Vitor Rocha Santana

    494 parts2
  • 4 layers128.5 × 40 mmScalenode cm4-baseboard, the printed circuit board in 3D

    Scalenode cm4-baseboard

    antmicro/scalenode-cm4-baseboard

    Baseboard for Raspberry Pi 4 Compute Module optimized for clustering

    146 parts152Apache-2.0
  • 8 layers110 × 90 mmLpddr4-test board, the printed circuit board in 3D

    Lpddr4-test board

    antmicro/lpddr4-test-board

    Experimental development board interfacing Xilinx Kintex-7 FPGA with LPDDR4 SDRAM

    497 parts57Apache-2.0
  • 12 layers152.9 × 90 mmData center rdimm ddr4-tester, the printed circuit board in 3D

    Data center rdimm ddr4-tester

    antmicro/rdimm-ddr4-tester

    Experimental platform built around Xilinx Kintex-7 FPGA for development and customization of RAM controllers supporting RDIMM DDR4 RAM modules used in data centers.

    691 parts32Apache-2.0
  • 8 layers110 × 90 mmLpddr4-test board, the printed circuit board in 3D

    Lpddr4-test board

    Singleboardcomputer/hardware_for_kintex

    495 parts1

Questions

How big is the Controller PCB?

It measures 32 × 20 mm and has 6 copper layers, 0.54 mm thick.

What parts does the Controller use?

77 parts, built around the USBLC6-2P6, 0603YD105KAT2A, 0805X475K250CT and BSS138. 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 KiCad files?

From the freemocap/skellycad repository on GitHub, at the commit this page was made from: the board is designs/cameras/ov9281/variants/slim-flex/checkpoints/2026-10-28-r10-head/controller.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Controller design in my own project?

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