Skip to the content
PCBKitNew board
2 layers340 × 220 mmFg2 fdim surrogate routed, the printed circuit board in 3D

Fg2 fdim surrogate routed

lcsingleton/fg2-fdim-surrogate1

A carrier/backplane KiCad project that hosts four prefab modules (WeAct STM32F412RET6 Core Board, MCP2551 CAN breakout, LD24AJTA LED driver, two adjustable buck converters) and wires them into the Ford FG2 Falcon…

Size
340 × 220 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
66
Pads
128
Tracks, vias
267, 10
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
25 Feb 2025
Updated
5 Nov 2026

Overview

Fg2 fdim surrogate routed is an open-source printed circuit board by lcsingleton, from the lcsingleton/fg2-fdim-surrogate repository on GitHub, published under the MIT licence. It is a 2-layer board of 340 × 220 mm with 21 parts on 66 nets, routed with 267 tracks and 10 vias.

It is built around the SMBJ36A and SS34. Its parts include 11 connectors, 3 resistors, 2 diodes and 1 fuse.

Main components

2

README

hardware/fg2_fdim_surrogate/README.md

FG2 FDIM Surrogate Hardware

A carrier/backplane KiCad project that hosts four prefab modules (WeAct STM32F412RET6 Core Board, MCP2551 CAN breakout, LD24AJTA LED driver, two adjustable buck converters) and wires them into the Ford FG2 Falcon keypad/CAN harnesses the firmware in src/Keypad and src/Core targets.

Included files

  • fg2_fdim_surrogate.kicad_pro – KiCad project file
  • fg2_fdim_surrogate.kicad_sch – schematic, ERC-clean, netlist independently verified against the source data in gen_sch.py
  • fg2_fdim_surrogate.kicad_pcb – PCB: all footprints placed, full netlist assigned, zero DRC errors. Copper routing is not done — see "Status" below.
  • gen_sch.py / gen_pcb.py – the actual source of truth. Both files are generated from these scripts (data-driven component/net lists that import real KiCad library symbols/footprints). Re-run them after changing any pin mapping rather than hand-editing the .kicad_sch/.kicad_pcb s-expressions — see their docstrings for two non-obvious KiCad coordinate conventions they had to reverse-engineer and work around.
  • DESIGN_NOTES.md – sourced facts about each prefab module, firmware/ hardware pin-mapping conflicts found (and not silently resolved) during this design, and open TODOs before fabrication.

Status

  • Schematic: complete and verified — zero ERC violations, and every net cross-checked programmatically against the netlist export (not just "ERC is quiet," which turned out to hide real pin-swap bugs earlier in this design's history — see gen_sch.py's combine_y() docstring).
  • PCB: footprints placed with real clearances (zero DRC violations), full netlist assigned (the ratsnest shows every connection this design needs), board outline, 4 mounting holes, and an unfilled GND copper pour on the back layer.
  • Not done: copper routing. Even pins that look trivially adjacent turned out to share a column with other nets' pins in between on the THT header footprints — a straight trace risks shorting through the intervening pad. Doing this correctly needs real clearance-aware pathfinding (what pcbnew's interactive router is for), not blind text-generated line segments. Open the board in pcbnew, Fill Zones first (clears most of the GND ratsnest immediately), then route the remaining nets interactively.
  • J3/J4 (WeAct P1/P2 socket spacing) use a placeholder center-to-center distance — WeAct's published pin tables don't include the physical board width. Verify against the real WeAct Core Board before fabricating.

Parts

21
QtyValueFootprintReferences
210kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P5.08mm_VerticalR1, R2
11AFuse:Fuseholder_Cylinder-5x20mm_Schurter_FPG4_Vertical_ClosedF1
120kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P5.08mm_VerticalR3
1BUCK_3V3_MODULEConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ7
1BUCK_5V_MODULEConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ8
1CAN_BUSConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ2
1J_KEYPADConnector_Hirose:Hirose_DF11-26DP-2DSA_2x13_P2.00mm_VerticalJ11
1LD24AJTA_LED_DRIVERConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ6
1MCP2551_BREAKOUTConnector_PinSocket_2.54mm:PinSocket_1x07_P2.54mm_VerticalJ5
1SMBJ36ADiode_THT:D_DO-15_P10.16mm_HorizontalD2
1SS34Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1
1VIN_BATTConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ1
1WEACT_P1Connector_PinSocket_2.54mm:PinSocket_2x12_P2.54mm_VerticalJ3
1WEACT_P2Connector_PinSocket_2.54mm:PinSocket_2x12_P2.54mm_VerticalJ4
1WEACT_P3Connector_PinSocket_2.54mm:PinSocket_2x03_P2.54mm_VerticalJ9
1WEACT_P4Connector_PinSocket_2.54mm:PinSocket_2x03_P2.54mm_VerticalJ10

The 17 most common of 21 parts.

Questions

How big is the Fg2 fdim surrogate routed PCB?

It measures 340 × 220 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Fg2 fdim surrogate routed use?

21 parts, built around the SMBJ36A and SS34. 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 Fg2 fdim surrogate routed KiCad files?

From the lcsingleton/fg2-fdim-surrogate repository on GitHub, at the commit this page was made from: the board is hardware/fg2_fdim_surrogate/fg2_fdim_surrogate_routed.kicad_pcb and its schematic hardware/fg2_fdim_surrogate/fg2_fdim_surrogate.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Fg2 fdim surrogate routed design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers129.5 × 72.6 mmOpenPLC, the printed circuit board in 3D

    OpenPLC

    radioelf/OpenPlc

    Hardware for OpenPLC with raspberry PI Z and Mod. software OpenPlc

    165 parts7
  • 2 layers204.5 × 113 mmSTM, the printed circuit board in 3D

    STM

    Noraiz963/Mini-PLC-

    Compact industrial mini PLC designed in KiCad

    139 parts1
  • 2 layers77.5 × 55.6 mmMost reader, the printed circuit board in 3D

    Most reader

    Oleg-mk/JLR-MOST-Reader

    Listen-only MOST25 adapter for JLR: the factory stereo out over TOSLINK, the car's own volume controls applied digitally with no quality loss

    62 parts1CERN-OHL-S-2.0
  • 2 layers123.6 × 78.9 mmMost listener, the printed circuit board in 3D

    Most listener

    Oleg-mk/MOST25-to-AUDIO

    Passive MOST25 listener: Tang Nano 20K FPGA, ESP32 host, stereo I2S out with the head unit's volume, balance and tone

    172 parts1CERN-OHL-S-2.0
  • 4 layers100 × 50 mmPsu ext, the printed circuit board in 3D

    Psu ext

    PSU-Ext-Org/psu-ext-hardware

    A repository to store PSU-EXT hardware design assets, schematics, circuit diagrams, CAD files and manufacturing data.

    137 parts9CERN-OHL-S-2.0
  • 4 layers56 × 56 mmStepper driver, the printed circuit board in 3D

    Stepper driver

    matthewlai/ESP32Stepper

    This is the PCB design and firmware for a Trinamic TMC2590-based stepper motor driver with an ESP32 microcontroller.

    116 parts5Apache-2.0
  • 2 layers28.4 × 41.9 mmTask1 buckconverter, the printed circuit board in 3D

    Task1 buckconverter

    pushtiujeniya/Buck-converter-24Vin-to-3.3Vout

    This repository contains buck converter which convert 24Vin to 3.3V out dc voltage.

    19 parts3
  • 2 layers59.5 × 27.2 mmMbus, the printed circuit board in 3D

    Mbus

    nobodyguy/mbus_hardware

    M-bus to USB

    39 parts2MIT