Skip to the content
6 layers160 × 100 mmCourant.before colored actual models 20260918T190457, the printed circuit board in 3D

Courant.before colored actual models 20260918T190457

KrasForge/Courant

A 2D finite-difference physical-modeling synthesis engine in structural VHDL: a vibrating membrane/plate/gong solved on FPGA fabric, with a nonlinear chaos term, playable polyphonically over MIDI/CV.

Size
160 × 100 mm
Copper layers
6
Thickness
1.6 mm
Parts
199
Nets
102
Pads
765
Tracks, vias
2,773, 346
Pours
6
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
23 Jun 2026
Updated
1 Oct 2026

Overview

Courant.before colored actual models 20260918T190457 is an open-source printed circuit board by KrasForge, from the KrasForge/Courant repository on GitHub, published under the MIT licence. It is a 6-layer board of 160 × 100 mm with 199 parts on 102 nets, routed with 2,773 tracks and 346 vias.

It is built around the XC7A50T-1FTG256I, TPS62130ARGTR and MCP3208-CI/SL, with the MCP6002-I/SN, W25Q64JVSSIQ and H11L1M among its other parts. Its parts include 94 capacitors, 60 resistors, 11 ICs, 6 connectors and 4 diodes. It belongs with the audio and music and fPGA and programmable logic boards and the FPGA and CPLD boards of this library.

Main components

12

README

hardware/courant/deliverables/README.md

Release synchronization: 2026-09-16. Current native boards, fabrication-format exports and CAD are indexed in ../../RELEASE_SYNC_STATUS.md. Earlier statements below about pre-repair exports are historical; electrical/physical validation limitations still apply.

Current native mainboard — 2026-09-16

Courant mainboard, 3D preview

Top (F.Cu, faces the panel)Bottom (B.Cu)
Mainboard topMainboard bottom

Rendered from courant.kicad_pcb by docs/media/scripts/. Component bodies in the 3D view are simplified stand-ins. See docs/media/README.md.

The PCB in this folder passes Backplane KiCad 10.0.6 DRC: 0 errors, 0 warnings, 0 unconnected, with unchanged project rules. Current counts: 2,158 track segments and 299 vias. See MAINBOARD_REPAIR.md and native_checks/drc.json.

The assembly STEP, mechanical PDF/DXF, dist/ PCB copies, 2D views, Gerbers, drills, placement data, BOM/netlist metadata and dist/courant-fab.zip have been regenerated from the current repaired native board. Use hardware/refresh_outputs.py for future review-export refreshes. Legacy route/reconstruction scripts are guarded from overwriting the authoritative native PCB.

Not a manufacturing approval. Component/footprint sign-off, FPGA operation/timing, electrical power integrity, thermal/fault behavior and physical assembly remain separate release gates.

The original handoff notes below are preserved as historical information; their old track/via counts are superseded above.


Courant Rev A — handoff package

Standalone Artix-7 instrument board. 160 × 100 mm on the Edge.Cuts centreline (160.1 × 100.1 measured over the 0.1 mm stroke), 6 layers, 1.6 mm. Four NPTH 3.2 mm mounting holes at (25,55), (175,55), (25,145), (175,145) — 150 × 90 mm spacing. Routed and native-checked: 0 DRC errors, 0 warnings, 0 unconnected, 2158 track segments, 4386.2 mm of copper, 299 vias, both ground planes uncut.

FileWhat it is
courant.kicad_pcbthe board. KiCad 10
courant.kicad_proproject file — open it alongside the board or you get KiCad's default design rules, not this board's
courant-assembly.steppopulated assembly, 3D. Board body, copper, silkscreen, soldermask and 183 of 202 component bodies
courant-bom.csvbill of materials, 57 line items / 183 placements
courant-netlist.txt96 nets, extracted from the routed board
courant-panel-interface.csvpinout of all 15 headers — the spec for building the front panel
courant-mechanical.pdfoutline, fabrication layer, silkscreen
courant-outline.dxfboard outline for mechanical CAD
courant-schematic.svgschematic — 183 components, 739 pins, 532 wires, 248 net labels, 7038 x 6958 px vector
courant-panel-hardware.mdoff-board parts, with datasheets/ alongside
courant-eurorack.mdEurorack status: what works as built, what changes, with values
courant-source-design.tsthe design source

Design rules

Default 0.15 mm track / 0.15 mm clearance, vias 0.55 / 0.25 mm. Power class 0.40 mm track, Ground 0.30 mm. These are set by the FTG256's 1.0 mm ball pitch: escaping between two balls needs width + 2 × clearance inside a 0.5 mm gap, and 0.15 + 0.30 = 0.45 mm fits where KiCad's 0.2 mm defaults (0.6 mm) cannot. 0.25 mm drill through 1.6 mm is a 6.4:1 aspect ratio — inside any standard 6-layer process.

Notes on three of these

The schematic is rendered by scripts/schematic.py, not by tscircuit. tsci export -f schematic-svg and -f schematic-pdf both emit a near-empty sheet for this design — about ten kilobytes, twenty text elements for two hundred components — while the circuit JSON behind them holds all 183 components, 739 ports and 532 traces. The data was never missing, only the drawing, so the drawing is done here. It is complete and to scale; it is not arranged for signal flow, because tscircuit places symbols in declaration order and no autolayout turns that into a drafted sheet.

Every placement has a manufacturer part number, and each one was checked against live stock rather than inferred. Two families are covered by one verified member plus the manufacturer's own value coding, noted on the line: the Murata C0G run and the Yageo RC0603FR series.

The panel hardware in courant-panel-hardware.md is a proposal. The design names no off-board parts and the right ones depend on a panel format that does not exist yet, so those selections are specified to be electrically correct and mechanically ordinary — a starting BOM, not a decision already taken. The four that are sourced have datasheets in datasheets/.

One design fix made while preparing this

R10 was 25 kΩ, which is on no E-series grid and is not a stocked 1 % part — a search for it returns 24.9 kΩ. It sets the V1 rail through the TPS62130's 0.8 V reference, so it is now 24.9 kΩ: 0.8 x (1 + 24.9/100) = 0.9992 V against a 1.000 V target, nearer than the 1 % resistors can hold. Fixed in design.ts and in the board; npm run check passes.

Before ordering

U1 is XC7A50T-1FTG256I, swapped from the XC7A35T-1FTG256C. The pin compatibility is verified, not assumed: AMD's package files for the two parts in FTG256 — both kept in reference/ — are byte-identical from line 2 to the end. All 256 balls, their banks, I/O types and no-connect flags match; the only difference in either file is the device name on the header line. That makes the swap a part number and nothing else, and it is the cheaper part besides ($67.01 against $118.75 at JLCPCB, both in stock) with 57% more logic and an industrial temperature range.

One check is still worth doing and cannot be done from here: a Vivado synthesis run against the A50T using the generated courant_rev_a.xdc. It will reject any invalid ball assignment outright, and it confirms timing still closes — the speed grade is unchanged at -1, so it should.

Native repair and current files

See ../../REPAIR_STATUS.md and ../reports/native/. The local RadianMain.pretty snapshots and fp-lib-table must travel with the board. Both routed board copies and the manufacturing-format review exports were replaced on 2026-09-16. Native checks are not electrical or physical product validation.

Parts

199
QtyValueFootprintReferences
17100nFRadianMain:C_0201_0603Metric_DC101, C102, C106, C107, C108, C109, C112, C114, C115, C118, C119, C121, C124, C125, C126, C127 +1
15100nFRadianMain:C_0603_1608Metric_RadianC11, C21, C31, C146, C150, C151, C152, C161, C162, C166, C170, C172, C190, C195, C200
1410kΩRadianMain:R_0603_1608Metric_RadianR12, R22, R32, R103, R104, R105, R106, R121, R130, R143, R144, R145, R146, R169
131kΩRadianMain:R_0603_1608Metric_RadianR131, R132, R133, R140, R141, R142, R147, R148, R149, R150, R190, R191, R192
12RadianMain:Unknown__17e6b9bcfa, , , , , , , , , , ,
1110nFRadianMain:C_0603_1608Metric_RadianC174, C175, C176, C180, C181, C182, C193, C194, C201, C202, C203
9100nFRadianMain:C_0201_0603Metric_CC100, C103, C104, C110, C113, C116, C120, C122, C128
8100nFRadianMain:C_0201_0603Metric_EC105, C123, C130, C131, C132, C133, C134, C135
733ΩRadianMain:R_0603_1608Metric_RadianR110, R114, R115, R122, R123, R124, R125
64.7kΩRadianMain:R_0603_1608Metric_RadianR100, R101, R102, R111, R112, R113
4RadianMain:hole_circle_holeDiameter3.2mm__6815d6f763, , ,
4100kΩRadianMain:R_0603_1608Metric_RadianR11, R21, R31, R166
410uFRadianMain:C_0805_2012Metric_BC10, C20, C30, C160
420kΩRadianMain:R_0603_1608Metric_RadianR160, R161, R163, R164
3RadianMain:smtpad_circle_diameter1mm__18e3aa3a2a, ,
3100nFRadianMain:C_0201_0603Metric_AC111, C117, C129
31nFRadianMain:C_0603_1608Metric_RadianC191, C192, C196
31uFRadianMain:C_0603_1608Metric_RadianC165, C171, C173
31µHRadianMain:Changjiang_FNR4030S1R0MTL1, L2, L3
322uFRadianMain:C_0805_2012Metric_BC13, C23, C33
322uFRadianMain:C_0805_2012Metric_AC12, C22, C32
33.3nFRadianMain:C_0603_1608Metric_RadianC14, C24, C34
347uFRadianMain:C_1210_3225Metric_AC1, C140, C141
3BAT54SRadianMain:Nexperia_BAT54S_215_SOT23D10, D11, D12
3TPS62130ARGTRRadianMain:TPS62130ARGTR_WQFN16U11, U12, U13
2100ΩRadianMain:R_0603_1608Metric_RadianR162, R165
22.2nFRadianMain:C_0603_1608Metric_RadianC167, C168
22.2uFRadianMain:C_0603_1608Metric_RadianC163, C164
222-23-2021RadianMain:Molex_22_23_2021_RowXJ3, J4
24.7uFRadianMain:C_0805_2012Metric_BC143, C144
2470ΩRadianMain:R_0603_1608Metric_RadianR126, R127
2IPT1-110-06-L-DRadianMain:Samtec_IPT1_110_06_L_DJ17, J18
1100nFRadianMain:C_0201_0603Metric_BC137
1124kΩRadianMain:R_0603_1608Metric_RadianR20
11N4148WRadianMain:Diodes_1N4148W_7_F_SOD123D20
11ΩRadianMain:R_0603_1608Metric_RadianR120
12.2kΩRadianMain:R_0603_1608Metric_RadianR181
122-23-2021RadianMain:Molex_22_23_2021_RowYJ1
122-23-2061RadianMain:Molex_22_23_2061J2
1220ΩRadianMain:R_0603_1608Metric_RadianR180
124.9kΩRadianMain:R_0603_1608Metric_RadianR10
1316kΩRadianMain:R_0603_1608Metric_RadianR30
133kΩRadianMain:R_0603_1608Metric_RadianR167
14.7uFRadianMain:C_0805_2012Metric_AC145
140.2kΩRadianMain:R_0603_1608Metric_RadianR168
147uFRadianMain:C_1210_3225Metric_BC142
1ASE-100.000MHZ-LC-TRadianMain:Abracon_ASE_3225_4PinY1
1ASE-12.288MHZ-LC-TRadianMain:Abracon_ASE_3225_4PinY2
1H11L1MRadianMain:H11L1M_DIP6U8
1MCP3208-CI/SLRadianMain:MCP3208_CI_SL_SOIC16U4
1MCP6002-I/SNRadianMain:MCP6002_I_SN_SOIC8U6
1MCP6561T-E/OTRadianMain:MCP6561T_E_OT_SOT23_5U7
1PCM5102APWRRadianMain:PCM5102APWR_TSSOP20U3
1REF3125AIDBZRRadianMain:REF3125AIDBZR_SOT23U5
1W25Q64JVSSIQRadianMain:W25Q64JVSSIQ_SOIC8_208milU2
1XC7A50T-1FTG256IRadianMain:XC7A50T_1FTG256I_FTG256U1

More from KrasForge/Courant

1
  • 4 layers180.5 × 108 mmRadian panel.before colored actual models 20260918T190457, the printed circuit board in 3D

    Radian panel.before colored actual models 20260918T190457

    KrasForge/Courant

    A 2D finite-difference physical-modeling synthesis engine in structural VHDL: a vibrating membrane/plate/gong solved on FPGA fabric, with a nonlinear chaos term, playable polyphonically over MIDI/CV.

    69 partsMIT

Similar boards

  • 6 layers129.8 × 57.4 mmIIsiA7 Mini, the printed circuit board in 3D

    IIsiA7 Mini

    MelkhiorVintageComputing/IIsiFPGA

    Stuff to put a FPGA in a Macintosh IIsi

    219 parts18
  • 4 layers65.6 × 41.4 mmPicopocket, the printed circuit board in 3D

    Picopocket

    korneliuszo/picopocket-hw

    Addon for Pocket386 based on rpi pico w

    88 parts11
  • 6 layers300 × 220 mmAIPE Buck 1kW, the printed circuit board in 3D

    AIPE Buck 1kW

    FulongLi/AIPE-PCB-Agent

    AIPE-PCB-Agent is the PCB design automation of the AIPE power-electronics ecosystem. Python generators turn a requirement file set (specification, insulation table, components, interfaces, floorplan and routing inputs)…

    240 parts
  • 4 layers60 × 110 mmNeptune, the printed circuit board in 3D

    Neptune

    wntrblm/Neptune

    A salty diode ladder filter

    279 parts44
  • 2 layersDonglev1, the printed circuit board in 3D

    Donglev1

    WaltTeb/BareTag_Tool_Tracker

    PDR draft of SDP final report

    3 parts3
  • 4 layers59 × 101 mmEnku mainboard r0.1, the printed circuit board in 3D

    Enku mainboard r0.1

    aliaksei-lameyka/ENKU-Base-reader

    Open enku-mainboard-r0.1.kicadpro with KiCad10.0.7. Matching PCB/root schematic and power.kicadsch, mcuio.kicadsch, epdhv.kicadsch, connectors.kicadsch are canonical.

    127 parts1CERN-OHL-W-2.0
  • 4 layers80 × 60 mmBardsAssistant, the printed circuit board in 3D

    BardsAssistant

    jaylingelbach/BardAssistant

    A tiny “Vicious Mockery” companion built on an ESP32-S3 DevKitM-1.

    77 parts
  • 4 layers104 × 64 mmFYDP, the printed circuit board in 3D

    FYDP

    mingzejin11/FYDP

    4B capstone project repository containing PCB design files

    259 parts

Questions

How big is the Courant.before colored actual models 20260918T190457 PCB?

It measures 160 × 100 mm and has 6 copper layers, 1.6 mm thick.

What parts does the Courant.before colored actual models 20260918T190457 use?

199 parts, built around the XC7A50T-1FTG256I, TPS62130ARGTR, MCP3208-CI/SL and MCP6002-I/SN. 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 Courant.before colored actual models 20260918T190457 KiCad files?

From the KrasForge/Courant repository on GitHub, at the commit this page was made from: the board is hardware/courant/deliverables/courant.before_colored_actual_models_20260918T190457.kicad_pcb and its schematic hardware/panel/design/controls.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Courant.before colored actual models 20260918T190457 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).