Skip to content

projects/ janelia/ Mouse Joystick/

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.