Fabrication Log¶
One entry per manufacturing order. What is kept here is enough to prove
which board state was ordered and to rebuild the identical package: the
commit, the source hashes, the package hashes, the gate results and the
placement-preview outcome. The package under fab/camera-gpio-interface-pcb/
is regenerated by make fab and has been committed since 2026-10-12 (see the
note under order 1); before that only its hashes were.
Order 1: v1.0, JLCPCB, 2026-09-26, five assembled boards¶
Ordered by: Peter, 2026-09-26. Vendor: JLCPCB, PCB fabrication with SMT and through-hole assembly, top side only. Quantity: 5.
Board state ordered: commit 5ddb425 "Finished v1.0 changes". The
package was built by make fab from that working tree one minute after the
board's last save; the tree was committed unchanged afterwards. Source
hashes (sha256, first 12 hex digits):
| File | sha256 |
|---|---|
kicad/camera-gpio-interface-pcb.kicad_pcb |
c393574f3046 |
kicad/camera-gpio-interface-pcb.kicad_pro |
8816dc7d3abb |
kicad/camera-gpio-interface-pcb.kicad_dru |
4e6db7c73705 |
kicad/camera-gpio-interface-pcb.kicad_sch (root) |
a3f68aa834d6 |
kicad/power.kicad_sch |
ca278df26d98 |
kicad/inputs.kicad_sch |
3e3847e5c7fa |
kicad/outputs.kicad_sch |
aa57dc1f0454 |
kicad/blackfly_s_gpio_channel_mcv6_vertical.kicad_sch |
39069f0f90e8 |
kicad/instrument_port_digital_50_dut_ffc_boundary_vertical.kicad_sch |
d68f1fb2f560 |
kicad/logic_input_2ch_5v_schmitt_sn74lvc2g17.kicad_sch |
7eb3aaabe5fa |
kicad/usb2_vertical.kicad_sch |
6e55e0102eb8 |
kicad/5v_to_3v3_tps73733.kicad_sch |
02400739ee9f |
Uploaded files (fab/camera-gpio-interface-pcb/, built with KiCad
10.0.6 and kicad-libs d50c723 tools; full hashes of every file in
evidence/fab-2026-09-26/sha256sums.txt):
| File | sha256 | Content |
|---|---|---|
camera-gpio-interface-pcb-jlcpcb.zip |
85ebe944e2f4 |
4 copper layers F/In1/In2/B, paste, mask, silk both sides, Edge.Cuts, Excellon drill with map; 100.05 x 60.05 mm job, 1.6 mm |
jlcpcb-bom.csv |
148922569f8c |
26 lines, 151 designators, every line an LCSC number from the 2026-09-24 inventory; copy in evidence |
jlcpcb-camera-gpio-interface-pcb-all-pos.csv |
4903a1009468 |
151 rows, all top; rotations corrected per kicad-libs/vendor_specs/jlcpcb/footprint-rotations.csv (28 parts); copy in evidence |
Gates at order time (all in fab/.../reports/, the two summaries copied
to evidence): ERC 0 violations at all
severities. DRC with schematic parity: 0 errors, 0 unconnected, 0 parity
issues; 144 clearance warnings, all block-inherited copper at the 0.10 mm
floor accepted by the .kicad_dru rule "Low-voltage block clearance is
advisory" (.agents/AGENTS.md). make clearance-check: 252 findings
against the 256 routing baseline, 0 voltage-bearing, no regressions.
Rotation report: DRY6 (11), USBLC6-2P6_SOT-666 (10) and
Texas_RKS0020A_VQFN-20… (4) corrected +270 verified; Phoenix MCV 6
vertical (3) +180 inferred; LED_0402-1005_KNB (7) no entry.
Placement preview: Peter stepped through the JLCPCB placement viewer
before paying; every part was oriented correctly. That verifies the two
open rows: the MCV 6 vertical at +180 (C5443576, J701 J1201 J1401) and the
0402 LED at 0 (C2853065, D201 D301 D302 D401 D701 D1201 D1401). It also
re-confirms DRY6 +270 for SN74LVC1G125DRYR (C527546) and
SN74LVC1G07DRYR (C2675513), which the table had verified only with
SN74LVC2G17DRYR. Handed to kicad-libs in
kicad-libs/tmp/camera-gpio-interface-pcb-rotation-evidence-2026-09-26.md
for footprint-rotations.csv.
Order options not recorded here: surface finish, solder-mask colour,
whether "Confirm Parts Placement" was left on, whether the JLCPCB order
number was removed or placed, and whether the three MC 1,5/6-ST-3,5
plugs, three 1 m FLIR GPIO cables and four BNC cables from
rev0-plan.md "Sequence" step 5 were ordered alongside. Fill these in
from the JLCPCB order page when convenient.
Parts: all from Peter's JLCPCB parts inventory (export of 2026-09-24
in kicad-libs/db/source/jlc_inventory_export.csv). Five boards consume 30
of 88 BNCs, 15 of 200 MCV 6 headers, 35 of 120 green LEDs, 20 of 154
SN74LV541ARKSR; the inventory covered 14 boards before this order.
First things to check on arrival: see bringup-log.md.
The DRY6 land pattern (11 per board) and the FH12-50 assembly are
unproven until either this board or mouse-joystick-pcb is inspected;
the block documentation flags both.
Package committed 2026-10-12. make fab was rerun on the same source
files (the .kicad_pcb, root .kicad_sch and .kicad_pro hashes above are
unchanged at c393574f3046, a3f68aa834d6 and 8816dc7d3abb) under the same
KiCad 10.0.6 from the pinned channel, with the kicad-libs tools at 9a2c6ae
instead of d50c723, and the result was committed under
fab/camera-gpio-interface-pcb/. jlcpcb-bom.csv and
jlcpcb-camera-gpio-interface-pcb-all-pos.csv are byte-identical to the
uploaded ones. Every gerber and drill file hashes differently because KiCad
writes the creation time into their headers
(%TF.CreationDate,2026-10-12T11:33:11-04:00*%, ; DRILL file KiCad 10.0.6
date 2026-10-12T11:33:12), and the zip inherits that; the uploaded gerbers
were not kept, so their content cannot be diffed against the committed ones.
The hashes in this entry remain the record of what JLCPCB received.