How to copy Raspberry Pi CM4 PCB files for KiCad

Ats
4 min readSep 22, 2024

--

This is a note about what I did last week to copy PCB/schematic design for RPi CM4 on KiCad.

Photo by Vishnu Mohanan on Unsplash

Background

I am working on software development for Raspberry Pi CM4. When we need to change anything on hardware like LED, buttons, or things like that, I ask the hardware engineer team to change and update the PCB. Even if the request is tiny, I have no choice apart from asking them. Then I came to feel like making prototypes of PCB by myself. I googled tools for PCB design and found KiCad, an open-source CAD software.

At the same time, I was looking for anything like a template of a CM4 PCB design because I was new to PCB design and it was impossible to make it from scratch. Then I found the CM4 IO board files for KiCad. So I decided to start with it.

https://www.raspberrypi.com/products/compute-module-4-io-board/

I was struggling with copying the schematic sheet, which wasn’t just copy & paste.

What I did

Eventually, I realized there were two steps to copy a file from one to another.

Firstly, I needed to copy the schematic design from the origin file. There were three steps to do copy the schematic file.

The first thing is to copy the hierarchy sheet from the origin to my project. At this moment, I couldn’t the file name on the window for schematic hierarchy yet.

The second is to create a hierarchy sheet with the same name as ones I copied in previous step

The last thing is to override the sheet. Then I could copy the same schematic design from the original one.

Secondly, I needed to copy the footprint from the origin file because some of symbols were missing the footprint files. There were three steps to do copy the schematic file. I realized that when I tried to map the components on the PCB editor and got the following messages.

The first thing is to export footprint from origin’s footprint editor.

The second thing is to import footprint to my project’s footprint editor. My suggestion for this step is two things. First thing is to select Project instead of Global because the file is going to be stored in the project directory. So if you have any problems on the footprint, you just delete the file at worst. Second thing is to name the imported file with @ prefix. Thanks to the prefix, you can easily tell whether footprints are provided by default or made by yourself.

The last thing is to annotate symbol with the footprint.

Then, finally, I could copy the template file with schematic and footprint together. I thought it would take time to get used to KiCad.

That’s it!

--

--

Ats
Ats

Written by Ats

I like building something tangible like touch, gesture, and voice. Ruby on Rails / React Native / Yocto / Raspberry Pi / Interaction Design / CIID IDP alumni

No responses yet