

Controller
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
5USBLC6-2P6
SOT-666-6-40℃~+125℃ 150nA 17V 2 3.5pF 5.25V 5A@8/20us 6V ESD IEC 61000-4-2 Unidirectional SOT-666-6 ESD and Surge Protection (TVS/ESD) ROHSSTMicroelectronicsESD And Surge Protection (TVS/ESD)0603YD105KAT2A
060316V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSKyocera AVXMultilayer Ceramic Capacitors MLCC - SMD/SMT0805X475K250CT
080525V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSWalsin TechnologyMultilayer Ceramic Capacitors MLCC - SMD/SMTBSS138
SOT-23-55℃~+150℃ 1 N-channel 1.1Ω@10V、1.2Ω@4.5V 1.2V 1.7nC@10V 17.5pF 340mA 350mW 50V 6.5pF N-Channel SOT-23 MOSFETs ROHShongjiachengMOSFETsFH34SRJ-24S-0.5SH(99)
SMD,P=0.5mm,卧贴-55℃~+105℃ 0.3mm 0.5mm 1mm 24P Double-Sided Contacts, Top and Bottom Entry Gold Phosphor bronze Surface Mount, Right Angle SMD,P=0.5mm,卧贴 FFC, FPC (Flat Flexible) Connector Assemblies ROHSHirose ElectricFFC, FPC (Flat Flexible) Connector Assemblies
README
designs/cameras/ov9281/history/electronics/r008/README.mdR08 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.
& '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-R08The 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| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 10k | Camera:R_0402_1005Metric | R101, R102, R103, R104, R117, R118 |
| 5 | 1u | Camera:C_0603_1608Metric | C104, C125, C126, C127, C133 |
| 4 | 4.7k | Camera:R_0402_1005Metric | R112, R113, R114, R115 |
| 3 | 100n | Camera:C_0402_1005Metric | C103, C132, C135 |
| 3 | 4.7u | Camera:C_0603_1608Metric | C105, C108, C136 |
| 3 | C_1u_0603 | Camera:C_0603_1608Metric | C4, C5, C6 |
| 3 | C_4u7_0805 | Camera:C_0805_2012Metric | C1, C2, C3 |
| 2 | 0 | Camera:R_0402_1005Metric | R109, R110 |
| 2 | 100k | Camera:R_0402_1005Metric | R108, R116 |
| 2 | 10n | Camera:C_0402_1005Metric | C131, C134 |
| 2 | 10u | Camera:C_0805_2012Metric | C123, C124 |
| 2 | 2.2u / Isat TBD | Camera:L_0805_2012Metric | L101, L102 |
| 2 | 22u | Camera:C_0805_2012Metric | C106, C109 |
| 2 | 499k | Camera:R_0402_1005Metric | R105, R106 |
| 2 | BSS138 | Camera:SOT-23 | Q101, Q102 |
| 2 | CL_TBD | Camera:C_0402_1005Metric | C101, C102 |
| 1 | 100n / U101.101 | Camera:C_0402_1005Metric | C121 |
| 1 | 100n / U101.102 | Camera:C_0402_1005Metric | C122 |
| 1 | 100n / U101.21 | Camera:C_0402_1005Metric | C111 |
| 1 | 100n / U101.26 | Camera:C_0402_1005Metric | C112 |
| 1 | 100n / U101.30 | Camera:C_0402_1005Metric | C128 |
| 1 | 100n / U101.54 | Camera:C_0402_1005Metric | C113 |
| 1 | 100n / U101.59 | Camera:C_0402_1005Metric | C129 |
| 1 | 100n / U101.62 | Camera:C_0402_1005Metric | C114 |
| 1 | 100n / U101.67 | Camera:C_0402_1005Metric | C130 |
| 1 | 100n / U101.75 | Camera:C_0402_1005Metric | C115 |
| 1 | 100n / U101.76 | Camera:C_0402_1005Metric | C116 |
| 1 | 100n / U101.77 | Camera:C_0402_1005Metric | C117 |
| 1 | 100n / U101.85 | Camera:C_0402_1005Metric | C118 |
| 1 | 100n / U101.9 | Camera:C_0402_1005Metric | C110 |
| 1 | 100n / U101.91 | Camera:C_0402_1005Metric | C119 |
| 1 | 100n / U101.96 | Camera:C_0402_1005Metric | C120 |
| 1 | 22p | Camera:C_0402_1005Metric | C107 |
| 1 | 4.02k 1% | Camera:R_0402_1005Metric | R111 |
| 1 | 40 MHz / CL TBD | Camera:Crystal_SMD_2016-4Pin_2.0x1.6mm | Y101 |
| 1 | 453k | Camera:R_0402_1005Metric | R107 |
| 1 | BSS138 / reset asserted HIGH | Camera:SOT-23 | Q103 |
| 1 | ESP32-P4NRW16X / v3.x | Camera:ESP32-P4 | U101 |
| 1 | FH34SRJ-24S-0.5SH(99) | Camera:Hirose_FH34SRJ_24S_0.5SH_R05 | J102 |
| 1 | PROGRAM / RESET pads | Camera:ProgrammingPads_5x1mm_P1.5mm | J103 |
| 1 | TLV62569DBV / core | Camera:SOT-23-5 | U103 |
| 1 | TLV62569DBV / system | Camera:SOT-23-5 | U104 |
| 1 | TLV73312PDBVT | Camera:SOT-23-5 | U6 |
| 1 | TLV73318PDBVT | Camera:SOT-23-5 | U5 |
| 1 | TLV73328PDBVT | Camera:SOT-23-5 | U7 |
| 1 | USB / JST 4-contact candidate | Camera:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal | J101 |
| 1 | USBLC6-2P6 | Camera:SOT-666 | U105 |
| 1 | W25Q32JVSS (4 MB candidate) | Camera:SOIC-8_5.3x5.3mm_P1.27mm | U102 |
More from freemocap/skellycad
12- 4 layers34 × 26 mm

- 4 layers76 × 20 mm

- 6 layers74.9 × 14 mm

- 4 layers76 × 20 mm

- 4 layers65 × 14 mm

- 4 layers14 × 14 mm

- 4 layers14 × 14 mm

- 2 layers30 × 34 mm

- 2 layers35.3 × 12.5 mm

- 2 layers35.3 × 12.5 mm

- 2 layers35.3 × 12.5 mm

- 2 layers35.3 × 12.5 mm

Similar boards
- 6 layers100 × 70 mm

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 mm

- 4 layers233.4 × 147.3 mm

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 mm

Scalenode cm4-baseboard
antmicro/scalenode-cm4-baseboard
Baseboard for Raspberry Pi 4 Compute Module optimized for clustering
146 parts152Apache-2.0 - 8 layers110 × 90 mm

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 mm

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 mm

- 8 layers100 × 70 mm

Sample013-sdi mipi video converter
tscircuit/dataset-srj24
Ten production-oriented KiCad boards converted to Simple Route JSON
396 parts
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).