Designing a custom Raspberry Pi CM4/CM5 carrier board requires controlled-impedance differential pair routing for USB and HDMI, but KiCad has no built-in impedance calculator and hobbyists don't know their PCB stackup

devtools0 views
The Raspberry Pi Compute Module 4 and CM5 are designed to be embedded into custom carrier boards, and Raspberry Pi publishes open-source KiCad design files for the official IO board as a reference. But actually designing a working carrier board requires routing USB 2.0 differential pairs at 90-ohm impedance, HDMI at 100-ohm impedance, and potentially PCIe lanes — all of which require knowing the exact PCB stackup (copper weight, dielectric thickness, dielectric constant) that the fab house will use, and calculating trace widths and spacing to hit the target impedance. KiCad has no built-in impedance calculator. Hobbyists must use external tools like Saturn PCB Toolkit, which requires stackup parameters that JLCPCB and other budget fabs don't clearly publish for their standard processes. The practical consequence is that a hobbyist who wants to build, say, a compact CM4 NAS carrier board with USB 3.0 and Ethernet ends up with a board that has intermittent USB disconnections, HDMI artifacts, or Ethernet CRC errors — all caused by impedance mismatches on traces that look fine in KiCad's DRC. Debugging these issues requires a $5,000+ time-domain reflectometer (TDR) or a VNA, tools that hobbyists don't own. The forum post says 'set track width to 0.2mm for the CM5 connector,' but 0.2mm traces on a 4-layer 1.6mm FR4 stackup have a completely different impedance than on a 2-layer 1.0mm stackup, and the hobbyist doesn't know which stackup their fab will actually use. The root cause is a tooling gap: professional PCB designers use Altium or Cadence, which have integrated impedance calculators and stackup managers that compute trace geometry automatically. KiCad relies on the designer knowing their stackup and using external calculators, which is fine for professional EEs but creates an invisible failure mode for hobbyists. Budget PCB fabs market 'controlled impedance' as an add-on service with a surcharge, but don't document the default stackup dimensions that hobbyists need to design impedance-matched traces on their standard (non-controlled-impedance) process. Raspberry Pi's own CM4/CM5 design guide assumes professional-level PCB design knowledge and does not walk hobbyists through impedance calculation for common budget fab stackups.

Evidence

MakerForge guide on CM5 carrier board design noting 0.2mm track requirements and impedance challenges: https://www.makerforge.tech/posts/cm5-carrier-basics/ | DigiKey tutorial on creating a CM4 carrier board in KiCad: https://www.digikey.com/en/maker/projects/creating-a-raspberry-pi-compute-module-4-cm4-carrier-board-in-kicad/7812da347e5e409aa28d59ea2aaea490 | Raspberry Pi forum discussion on CM4/CM5 carrier board design difficulties: https://forums.raspberrypi.com/viewtopic.php?t=311536 | RaspiPCB commercial service existing specifically because hobbyist CM4/CM5 carrier design is so difficult: https://raspipcb.com/

Comments