Skip to content

Commit c6a01a8

Browse files
committedApr 6, 2025
Update
1 parent a5fe88f commit c6a01a8

File tree

3 files changed

+107
-1
lines changed

3 files changed

+107
-1
lines changed
 

‎_posts/2024-12-13-raspberry-pi-cm5-flash.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
layout: post
3-
title: Flashing a Raspberry Pi CM5 with Ubuntu 20.04
3+
title: Flashing a Raspberry Pi CM5 using a device running Ubuntu 20.04
44
date: 2024-12-12 17:52
55
category: [Raspberry Pi Compute Module 5]
66
tags: [guide, cm5, errors]
+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
layout: post
3+
title: Designing a CM5 Carrier Board - A Practical Guide for Makers and Engineers
4+
date: 2025-04-06 18:51
5+
category: Compute Module 5
6+
tags: [raspberry_pi, cm5, carrier_board, guides]
7+
image: /assets/img/posts/2025-04-06-cm5-carrier-basics/thumb.png
8+
9+
---
10+
11+
Creating a custom carrier board for the Raspberry Pi Compute Module 5 (CM5) can seem daunting—but with the right tools and best practices, it becomes a highly rewarding venture. Whether you're building a robot, a smart display, or an embedded controller, a well-designed carrier board ensures stability, reliability, and full access to CM5's features.
12+
13+
In this post, we’ll walk through both high-level considerations and practical tips for building your own CM5 carrier board—based on real-world experience and community knowledge.
14+
15+
---
16+
17+
## 🔧 Essential Resources to Get Started
18+
19+
Before diving into schematics or layouts, gather these helpful files and templates:
20+
21+
### ✅ Reference Files
22+
- **Raspberry Pi Official CM5 IO Board KiCad Files**
23+
[Download from Raspberry Pi](https://pip.raspberrypi.com/categories/1098-design-files)
24+
This gives you a solid reference for pinouts, layout, and component usage.
25+
26+
- **Shawn Hymel’s CM4/CM5 Carrier Board Template**
27+
[GitHub Repo](https://github.com/ShawnHymel/rpi-cm4-carrier-template)
28+
Move the `hardware` folder into your KiCad base folder (usually in your Documents) for easy access.
29+
30+
---
31+
32+
## 🧠 Schematic Tips & Best Practices
33+
34+
- **Use Hierarchical Sheets**
35+
KiCad lets you split designs into multiple sub-sheets for clarity and modularity. Use **labels** (especially global labels) to connect signals between sheets reliably.
36+
37+
- **Library Management**
38+
- When adding custom components (e.g., regulators, connectors), download both the symbol (`.lib`) and footprint (`.pretty`) from the manufacturer or Digi-Key.
39+
- Add these libraries via **Project > Manage Symbol Libraries** in KiCad.
40+
- Maintain naming consistency for smooth integration.
41+
42+
- **Component Properties Matter**
43+
Update each part’s metadata (Manufacturer, MPN, Digi-Key/Mouser Part Number). These fields will be used when generating the Bill of Materials (BOM).
44+
_Tip: "Cut tape" is great for sourcing single units._
45+
46+
---
47+
48+
## ⚡ Electrical & Mechanical Design Considerations
49+
50+
### 🪛 General Hardware
51+
- **Power Supply**: Provide 5.1V @ 5A via a VIN pin.
52+
- **Add a Power LED**: Simple, but valuable for diagnostics.
53+
- **Screw Mounts**: Include at least four mounting holes for mechanical stability.
54+
55+
### 🔄 eMMC Boot Management
56+
To flash the CM5 when using onboard eMMC:
57+
- Add a **solder jumper between the `nBOOT` pin and GND** to disable eMMC boot.
58+
- This enables USB booting via the USB-C port—essential for headless devices.
59+
60+
---
61+
62+
## 🧩 Interfaces to Expose
63+
64+
| Interface | Pins | Notes |
65+
|----------|------|-------|
66+
| **I2C** | GPIO 2 (SDA), GPIO 3 (SCL) | Use pull-ups if needed |
67+
| **I2S** | GPIO 18, 19, 20, 21 | Audio in/out support |
68+
| **SPI** | GPIO 8, 10, 11, 25, 27 | Displays, sensors, Neopixels |
69+
| **UART** | GPIO 14 (TX), GPIO 15 (RX) | Connect GND to complete circuit |
70+
| **USB** | USB-C (programming), USB-A (peripherals) | One USB-A port is usually enough |
71+
| **Camera/Display** | CSI, DSI ports | Make both accessible |
72+
| **GPIO** | 40-pin header | For compatibility with Pi HATs |
73+
74+
---
75+
76+
## 📏 Layout & Signal Integrity
77+
78+
### 🧮 Net Class & Impedance
79+
80+
- **Update Design Rules**: Set default track width and clearance to **0.2mm** to match the fine-pitch CM5 connector.
81+
- **USB Data Lines**: These require differential impedance.
82+
- Follow a **coupled microstrip line** design.
83+
- Use tools or calculators (like Saturn PCB) to determine trace width/gap.
84+
- Create a dedicated **Net Class** in KiCad for USB differential pairs (D+ and D−).
85+
86+
👉 For more detail, check:
87+
[Octavo Systems USB Design Tutorial](https://octavosystems.com/app_notes/osd335x-design-tutorial/osd335x-lesson-2-minimal-linux-boot/osd335x-lesson-2-usb-circuitry/)
88+
[Shawn Hymel’s CM4 Design Video Series](https://www.youtube.com/c/ShawnHymel)
89+
90+
### 📌 Additional Layout Tips
91+
- **Fiducials**: Place two 1mm fiducials in opposite corners to help pick-and-place machines align the board.
92+
- **Connector**: Use a Hirose connector (the same one used in the CM5 IO board) for CM5 compatibility.
93+
94+
---
95+
96+
## 👉 Follow the Discussion
97+
98+
Take a look at [this post](https://github.com/makerforgetech/modular-biped/discussions/118) on the MakerForge GitHub for a community-driven discussion on CM5 carrier board design. It’s a great place to ask questions, share your designs, and learn from others.
99+
100+
## 🧪 Final Thoughts
101+
102+
Designing a CM5 carrier board is a blend of electrical engineering, mechanical design, and a bit of artistic layout finesse. By using community resources, following standard practices, and taking time to carefully manage signal integrity and component sourcing, you can create a robust platform tailored to your application.
103+
104+
Whether you're building a robotic platform like the Modular Biped or a custom embedded system, this guide should help you make smart, future-proof design choices.
105+
106+
Happy prototyping!
Loading

0 commit comments

Comments
 (0)
Please sign in to comment.