
K2-cm5-traeger
Gamecard/k2-plus-cm5
K2 Plus CM5 – Creality K2 Plus mit Upstream-Klipper auf einem Raspberry Pi CM5

Open-source flow (yosys + nextpnr) and bitstream documentation for the XC2064, the first FPGA
Xc2064-mega shield is an open-source printed circuit board by swittlich, from the swittlich/prjfreeman repository on GitHub, published under the ISC licence. It is a 4-layer board of 101.6 × 53.3 mm with 80 parts on 172 nets, routed with 1,440 tracks and 168 vias.
It is built around the SN74HCT541DWR, INA226AIDGSR and TPS22917DBV, with the PLCC-68-AT, 4D03WGJ0102T5E and KT-0603R among its other parts. Its parts include 23 resistors, 9 capacitors, 8 diodes, 8 connectors and 4 ICs. It belongs with the fPGA and programmable logic boards of this library.

The XC2064 (1985) was the first FPGA: 64 Configurable Logic Blocks (CLBs) in an 8×8 grid and 58 I/O pins. This repo models it as a nextpnr Himbächel uarch with a yosys plugin, so that Verilog designs can be synthesized, placed and routed for the original chip and turned into a bitstream in the format of Xilinx's XACT, all with an open-source flow.
[!WARNING] Not tested on real hardware. None of the generated bitstreams has been loaded onto a real XC2064 yet. For 44 test runs, MAKEBITS from Xilinx's XACT produces bit-identical bitstreams from the same placement and routing, but the clock buffer codes come from XACT's model, and the edge of the IOB flip-flop and Shirriff's K mux codes have not been checked on a chip. See Open items.
synth_xc2064 maps Verilog onto the function generators of the CLBs (3- and
4-input LUTs, the FGM mux mode), flip-flops and latches with asynchronous set/reset, latched inputs in the
IOB and tristate or bidirectional pads.xc2064pack writes RBT and BIT files in XACT's format; xc2064unpack and xc2064netlist
turn a bitstream back into readable text and into a netlist.This repo lives as arch/xc2064 in the repo that builds yosys and nextpnr (scripts/build-nextpnr.sh); the
commands run from that repo's root:
git clone --recurse-submodules https://github.com/swittlich/prjfreeman arch/xc2064
scripts/build-nextpnr.sh debug # nextpnr with the xc2064 uarch
arch/xc2064/flow.sh --gui # synthesize examples/blinky.v, then Pack, Place, Route in the GUI
arch/xc2064/test/run.sh # regression test over all examples| Document | Contents |
|---|---|
| Getting started | Setup, running the flow, packages and speed grades, VS Code |
| Examples | The example designs and their results |
| Architecture model | What is modelled and how: routing, CLBs, IOBs, clocks, packages, timing |
| Synthesis | The yosys plugin synth_xc2064 and its passes |
| nextpnr uarch | Legality checks, packing, primitives, pin constraints, routing |
| GUI | How the chip is drawn |
| Bitstream | Generating bitstreams, the bitstream and text formats, the tools |
| Testing | Regression test, formal comparison, cross-check with Shirriff's decoder |
| Data sources | References, submodules, the xc2064db package, what the data tell us about the original |
| Cross-checks with XACT | Clock buffer codes from MAKEBITS, XNF netlists for XNFMAP |
| Development stages | Open items and how the model was built |
Contributions are welcome: bug reports, questions, improvements to the model, the tools or the documentation,
and above all anyone who can try a bitstream on a real XC2064. Please open an issue or a pull request on
GitHub. Before submitting changes to the model or the tools, run
arch/xc2064/test/run.sh (every run must pass) and, for the bitstream tools, arch/xc2064/test/bitstreams.sh.
Contributions are accepted under the same license as the project (ISC, see License).
This work builds on Ken Shirriff's reverse engineering of the XC2064 (blog post, shirriff/xc2064), the XACT bitstreams in rates37/openxc2064 and the Xilinx Data Books. All references are listed in Data sources.
Copyright (C) 2026 Sebastian Wittlich
This project is licensed under the ISC License, the same permissive license as yosys and nextpnr. In short: you may use, copy, change and distribute it, also commercially and as part of closed source, as long as the copyright notice and the permission notice are kept. It comes without any warranty.
The submodules in external/ keep their own licenses. Your own designs and the netlists and bitstreams the
tools generate from them are not affected by the license of this project.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | 4x1k | Resistor_SMD:R_Array_Convex_4x0603 | RN1, RN2, RN3, RN4, RN5, RN6, RN7, RN8, RN9, RN10, RN11, RN12, RN13, RN14, RN15, RN16 |
| 9 | 1k | Resistor_SMD:R_0603_1608Metric | R14, R15, R16, R17, R18, R19, R20, R21, R22 |
| 8 | LED | LED_SMD:LED_0603_1608Metric | D1, D2, D3, D4, D5, D6, D7, D8 |
| 7 | 10k | Resistor_SMD:R_0805_2012Metric | R1, R2, R3, R4, R5, R6, R7 |
| 6 | MountingHole_3.2mm | Arduino_MountingHole:MountingHole_3.2mm | MH1, MH2, MH3, MH4, MH5, MH6 |
| 5 | Conn_01x08 | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J1, J3, J4, J5, J6 |
| 4 | 100n | Capacitor_SMD:C_0805_2012Metric | C1, C2, C6, C10 |
| 2 | 22p | Capacitor_SMD:C_0805_2012Metric | C8, C9 |
| 2 | 4k7 | Resistor_SMD:R_0805_2012Metric | R10, R11 |
| 1 | 0R | Resistor_SMD:R_0603_1608Metric | R23 |
| 1 | 100k | Resistor_SMD:R_0805_2012Metric | R8 |
| 1 | 10u | Capacitor_SMD:C_1206_3216Metric | C3 |
| 1 | 1M | Resistor_SMD:R_0805_2012Metric | R12 |
| 1 | 1R 0.1% | Resistor_SMD:R_0805_2012Metric | R9 |
| 1 | 1n | Capacitor_SMD:C_0805_2012Metric | C5 |
| 1 | 1u | Capacitor_SMD:C_0805_2012Metric | C4 |
| 1 | 330 | Resistor_SMD:R_0805_2012Metric | R13 |
| 1 | 4MHz | Crystal:Crystal_HC49-4H_Vertical | Y2 |
| 1 | 74HCT541 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U4 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J8 |
| 1 | Conn_01x10 | Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical | J2 |
| 1 | Conn_02x18 | Connector_PinHeader_2.54mm:PinHeader_2x18_P2.54mm_Vertical | J7 |
| 1 | INA226 | Package_SO:TSSOP-10_3x3mm_P0.5mm | U3 |
| 1 | P43 to Mega | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP4 |
| 1 | P46 to Mega | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP5 |
| 1 | SW_Push | Button_Switch_SMD:SW_SPST_PTS645Sx43SMTR92 | SW1 |
| 1 | TPS22917DBV | Package_TO_SOT_SMD:SOT-23-6 | U2 |
| 1 | XC2064-PC68 | prjfreeman:PLCC-68_THT-Socket | U1 |
| 1 | XTL1 | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP2 |
| 1 | XTL2 | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP3 |
It measures 101.6 × 53.3 mm and has 4 copper layers, 1.6 mm thick.
80 parts, built around the SN74HCT541DWR, INA226AIDGSR, TPS22917DBV and PLCC-68-AT. 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.
From the swittlich/prjfreeman repository on GitHub, at the commit this page was made from: the board is hardware/mega-shield/xc2064-mega-shield.kicad_pcb and its schematic hardware/mega-shield/arduino.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the ISC licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Gamecard/k2-plus-cm5
K2 Plus CM5 – Creality K2 Plus mit Upstream-Klipper auf einem Raspberry Pi CM5


ackom-a-o/stm32f446-development-board
Custom STM32F446ZET6 development board in KiCad. Prototype hardware, design review and validation log; hardware testing pending.

mahmoud-elghamry/thermocouple
This directory is a self-contained KiCad 10 project. It does not share files with, and must not be confused with, the single-channel board in hardware/single-channel/.



