Analysis updated 2026-05-18
Reuse this schematic to switch a single PCIe lane between two endpoints in your own carrier board.
Study a real example of high speed differential pair PCB routing for PCIe signals.
Import the Altium design into KiCad to inspect or adapt the layout.
| mfolejewski/pcie_mux | suqiyue2001/vibe-coding-prd | stealthyboy93/bibata-catppuccin-cursor | |
|---|---|---|---|
| Stars | 14 | 16 | 19 |
| Language | None | None | None |
| Setup difficulty | hard | easy | easy |
| Complexity | 5/5 | 1/5 | 1/5 |
| Audience | developer | vibe coder | general |
Figures from each repo's GitHub metadata at analysis time.
This is a hardware PCB design, not software, and requires fabrication and assembly to use.
This repository documents a hardware circuit design: a one to two analog multiplexer that lets a single PCIe lane be switched between two different endpoints while keeping the signal clean enough to run at PCIe Generation 2 or Generation 3 speeds. It is meant for engineers building embedded systems or carrier boards, not for anyone looking for software to install. The high speed differential signals, meaning the transmit, receive, and reference clock lines, are switched using a Texas Instruments chip built for exactly this purpose and rated for data rates well above what PCIe Gen3 needs. Supporting control signals like reset, wake, and clock request are handled separately by smaller analog switch chips. The design was built for a real product called MirkoPC, where it automatically decides which device gets the PCIe connection: if a solid state drive is plugged into the M.2 slot, the system routes PCIe to it, and if that slot is empty, it falls back to an external connector instead, with two LEDs showing which path is currently active. The included PCB layout follows careful high speed design practices, including controlled spacing between paired signal traces, tight matching between the two wires in each pair, and extra grounding vias placed wherever the signal moves between layers. The design files are provided in Altium Designer's format, though the repository notes that KiCad users can import Altium projects directly through KiCad's own importer. Documentation includes schematics as PDF and image files, high resolution photos of the finished board, and pictures from the real MirkoPC product it was built for. The repository is explicit that this is provided for educational and reference use, with no warranty, and that anyone using the design is responsible for verifying it themselves before manufacturing. It is licensed under the CERN Open Hardware Licence, Strongly Reciprocal variant, which requires that any distributed modifications stay open under the same license.
An open hardware design for a PCIe Gen2/Gen3 analog switch that routes one PCIe lane between two endpoints.
Mainly None. The stack also includes Altium Designer, KiCad.
You can use and modify the design, including commercially, but any modified version you distribute must stay under the same open hardware license.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.