以树莓派为首的 Linux 开发板层出不穷,你是不是也想拥有自己的款式呢?如果你也有了动手的念头,却担心零基础无从下手,那这篇文章就是为你准备的。
项目链接
长文预警
1. 蓝莓派诞生记
当时的我还是大二,对电子DIY产生了浓厚的兴趣。苦于没有任何知识储备也无人指导,就开始自己瞎琢磨捣鼓学习单片机的设计制作,也就是后来的情侣小电视。不知道什么时候我又刷到了稚晖君的量子计划以及 B 站最强小电视,便开始反复观看其中细节。其中炫酷的 AD 界面和复杂的 PCB 深深吸引了我,爱吃蓝莓的我开始了造“派”计划,发誓一定要设计一款属于自己的派。
又是苦于无人指导一通找教程,结果网上还真有大佬写了教程,也就是下面这篇参考文章。
参考文章
我也非常推荐大家仔细阅读这个文章,因为本人就认真反复阅读了一两周,一边读一边开展我蓝莓派的设计。终于在我不懈的努力下,蓝莓派成功开机啦!
2. 零基础小课堂
如果你和我当初一样,那这一节就是为你准备的。
2.1 派能吃,但“派”不能吃
树莓派、香橙派、蓝莓派,本质上都是“单板计算机”(SBC,Single Board Computer),它在一块 PCB 上集成了处理器、内存、存储、电源和常用接口,能运行 Linux 或 Android 操作系统。而 ESP32、STM32 这类单片机一般只运行裸机程序或 RTOS。

一块派就是一台电脑,以树莓派 4B 为例,板子上的核心角色大致是:
- 主控 SoC:博通 BCM2711,4 核 Cortex-A72,CPU、GPU、内存控制器等都集成在这一颗芯片里,相当于电脑的 CPU 加主板芯片组。
- 内存:LPDDR4,程序运行的地方,相当于电脑的内存条。
- 存储:microSD 卡(树莓派 4B 没有板载存储),相当于电脑的硬盘,用来放系统和文件。
- 电源部分:USB-C 输入的 5V 经过板载 DC-DC 转换,产生芯片需要的多路电压。
- 无线模块:CYW43455,提供 Wi-Fi 5 和蓝牙 5.0。
- 接口与外围:2 个 micro-HDMI、2 个 USB 3.0、2 个 USB 2.0、千兆网口、3.5mm 音频口、40Pin GPIO、CSI/DSI 排线座等。
后面画原理图,其实就是把这些器件按正确的方式连起来。蓝莓派上的器件型号不同,但作用却是相似的。
2.2 硬件常用术语
| 缩写 | 全称 | 含义 |
|---|---|---|
| SBC | Single Board Computer | 单板计算机,也就是“派” |
| SoC | System on Chip | 把 CPU、GPU、外设等集成到一颗芯片 |
| MCU | Microcontroller Unit | 单片机,通常跑裸机或 RTOS |
| DDR | Double Data Rate | 内存,包含 DDR3、DDR4 等 |
| LPDDR | Low Power DDR | 低功耗内存,手机和开发板常用 |
| eMMC | embedded MultiMediaCard | 板载存储,相当于硬盘 |
| PMIC | Power Management IC | 电源管理芯片 |
| GPIO | General Purpose I/O | 通用输入输出引脚 |
| UART / I2C / SPI | — | 常见的低速通信接口 |
| BGA / QFN | Ball Grid Array / Quad Flat No-leads | 芯片封装,焊盘在芯片底部 |
| SMT | Surface Mount Technology | 表面贴装,把器件贴到 PCB 上 |
| EDA | Electronic Design Automation | 电子设计自动化软件,比如立创EDA |
| Gerber | — | 板厂用来生产 PCB 的文件格式 |
| BOM | Bill of Materials | 物料清单 |
2.3 高速电路,信号的高速路
这里说的“高速”,不只是主频高,而是指信号变化太快,铜线不能再当成一根理想的导线,而要当成传输线来对待。
高速电路信号线包括 DDR 内存、USB、HDMI 的走线。它们要么速率高,要么边沿非常陡,处理不好会出现花屏、识别不到设备、死机等问题。所以这里引出 PCB 设计里的相关概念:
- 阻抗匹配:高速信号在传输线上传播时,如果走线阻抗与源端、负载不匹配,信号会在末端反射,产生过冲和振铃。设计时需要控制线宽、线距以及与参考平面的距离,让特性阻抗保持稳定(单端常见 50Ω,差分常见 90Ω 或 100Ω)。
- 等长:DDR 这类并行总线对时序很敏感,同一组信号的走线长度要匹配,否则到达时间不一致会压缩有效时序窗口;USB、HDMI 等差分对的内部也要等长。
- 参考平面:高速信号下方需要一层完整的地平面(或电源平面)作为回流路径。它既能控制阻抗,又能减小回流环路面积、降低串扰和 EMI;参考平面被分割或开槽,会导致阻抗突变和信号质量下降。
- 层叠:多层板要提前决定每一层是信号层、地层还是电源层,以及介质厚度和铜厚。合理的层叠能为高速信号提供稳定的参考平面、控制阻抗并减少层间串扰,是 PCB 设计的基础。
硬件部分先聊到这里。接下来是软件部分——一块板子只有硬件是跑不起来的。
2.4 Linux 和 Android,给板子选个操作系统
硬件有了,接下来要决定让板子跑什么系统。对树莓派这类单板计算机来说,最常见的选择就是 Linux 和 Android。

Linux 是一类系统,不是某一个系统。 严格来说 Linux 只是内核,我们平时说的 Linux 通常指基于它的发行版,比如 Ubuntu、Debian、Armbian、Raspberry Pi OS 等。它们开放、可裁剪、软件生态成熟,适合做桌面、服务器、NAS、软路由和嵌入式设备。
Android 同样基于 Linux 内核,但重点在应用框架、图形界面和移动应用生态。它更适合触屏设备、电视盒子、平板这类场景,开发板通常使用 AOSP 或 Android TV 版本,应用以 APK 分发,整体更偏向开箱即用。
两者的关系可以简单理解为Android 是在 Linux 内核上搭起来的一套移动系统;Linux 发行版则是更通用、更贴近传统电脑的系统。
后面我们主要以 Linux 为例,因为它的资料更多,也更适合折腾。
2.5 软件常用术语
| 术语 | 含义 |
|---|---|
| BootROM | 芯片内部固化的启动代码,决定从哪里加载引导程序 |
| SPL | 二级程序加载器,负责初始化 DRAM 等,然后加载 U-Boot |
| U-Boot | 常用的开源引导程序,负责加载内核和设备树 |
| Kernel | Linux 内核,管理硬件和进程 |
| Device Tree | 描述板级硬件配置的文件,内核据此加载驱动 |
| Driver | 驱动程序,内核与硬件之间的桥梁 |
| Rootfs | 根文件系统,包含用户空间程序、库和配置 |
| Distro | Linux 发行版,如 Ubuntu、Debian、Armbian |
| SDK / BSP | 厂商提供的软件开发包 / 板级支持包 |
| Cross Compile | 交叉编译,在电脑上编译 ARM 程序 |
| Serial Console | 串口控制台,调试启动问题的第一手段 |
| SSH | 通过网络远程登录板子 |
2.6 软件相关工具
- SDK / BSP:芯片厂商提供的软件开发包和板级支持包,通常包含 U-Boot、内核、驱动和编译工具。
- 交叉编译器:在 x86 电脑上编译出能在 ARM 板子上运行的程序。
- 烧录工具:把系统镜像写进 eMMC 或 TF 卡。通用场景可以用 balenaEtcher。
- 串口调试:USB 转 TTL 模块 + PuTTY/minicom,是最可靠的“看板子说话”的方式,常用 115200 8N1。
- SSH / SCP:系统跑起来之后,通过网络登录板子、传文件,比来回拔卡方便得多。
2.7 插电开机,午安大电牛
插上电源之后,板子并不会“直接进入桌面”。它更像一场接力赛:每一棒把控制权交给下一棒,直到你的程序跑起来。整个过程大致是下面这样:
- BootROM:芯片内部固化的代码,上电后第一个运行,判断从 eMMC、TF 卡还是 USB 启动。
- boot0 / SPL:BootROM 把这一小段程序加载到片内 SRAM 运行,由它初始化 DRAM 和时钟,为后面的大程序准备场地。
- U-Boot:内存可用后,U-Boot 会被加载到 DRAM。U-Boot 负责初始化更完整的外设、读取设备树、加载 Linux 内核。
- Linux 内核:内核接管 CPU、内存、中断和外设,根据设备树加载对应驱动,最后挂载根文件系统。
- init / 系统服务:内核启动第一个用户空间程序,由它拉起网络、串口登录、图形界面等服务。
- 应用程序:系统准备好之后,你的程序或者桌面、Web 服务才开始运行。
3. 需求分析与主控选型
近年支持较好的芯片如下:
瑞芯微(Rockchip):
| 芯片 | CPU | GPU | NPU |
|---|---|---|---|
| RK3588 | 4×A76 + 4×A55 | Mali-G610 | 6 TOPS |
| RK3588S | 4×A76 + 4×A55 | Mali-G610 | 6 TOPS |
| RK3576 | 4×A72 + 4×A53 | Mali-G52 MC3 | 6 TOPS |
| RK3568 | 4×A55 | Mali-G52 | 1 TOPS |
| RK3566 | 4×A55 | Mali-G52 | 0.8 TOPS |
| RK3399 | 2×A72 + 4×A53 | Mali-T860 | — |
| RK3328 | 4×A53 | Mali-450 | — |
全志(Allwinner):
| 芯片 | CPU | GPU | NPU |
|---|---|---|---|
| A733 | 2×A76 + 6×A55 + RISC-V E902 | BXM-4-64 MC1 | 3 TOPS |
| A527 / T527 | 8×A55 + RISC-V E906 | Mali-G57 | 2 TOPS |
| H6 | 4×A53 | Mali-T720 | — |
| H616 / H618 | 4×A53 | Mali-G31 | — |
| H5 | 4×A53 | Mali-450 | — |
| H3 | 4×A7 | Mali-400 MP2 | — |
常用开发板厂商官网:
- EmbedFire(野火):LubanCat(鲁班猫)系列
- FriendlyElec(友善电子):NanoPi 系列
- Radxa(瑞莎):ROCK 系列
- Orange Pi(香橙派):Orange Pi 系列
- Firefly(萤火虫):ROC-RK 系列
- ArmSoM:Sige 系列
- Banana Pi(香蕉派):BPI 系列
- Walnut Pi(核桃派):Walnut Pi 系列
需求分析和选型的完整思路,参考文章已经写得很详细,这里不再展开,总而言之尽量选择软硬件开放度高、支持好的型号。
4. 原理图设计
更新中…