Skip to content

About

PCB设计项目

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

STM32 最小系统板 — PCB 设计与固件

基于 STM32F103C8T6 的最小系统板,包含 KiCad PCB 设计文件、Gerber 制造文件和裸机固件示例。

硬件规格

项目 规格
MCU STM32F103C8T6 (Cortex-M3, 72MHz, 64KB Flash, 20KB SRAM)
封装 LQFP-48
电源 USB-C 5V 输入 → AMS1117-3.3V
时钟 8MHz HSE + 32.768kHz LSE
调试 SWD (4-pin 排针)
GPIO PA0-PA15 + PB0-PB15 全部引出
尺寸 50mm × 50mm(双层板)

目录结构

pcb-project/
├── README.md                     # 本文件
├── build_stm32_minimal.py        # KiCad MCP 自动化脚本(生成 PCB 工程)
├── stm32-minimal/                # KiCad 工程
│   ├── stm32-minimal.kicad_pro   #   工程文件
│   ├── stm32-minimal.kicad_sch   #   原理图
│   ├── stm32-minimal.kicad_pcb   #   PCB 布局
│   ├── stm32-minimal.kicad_prl   #   本地库
│   ├── preview.png               #   3D 预览图
│   └── fab/                      #   制造文件
│       ├── gerbers/              #     Gerber 文件(发厂打样)
│       ├── drill/                #     钻孔文件
│       ├── stm32-minimal-bom.csv #     BOM 物料清单
│       └── stm32-minimal-pos.csv #     贴片坐标文件
└── blinky/                       # 裸机固件
    ├── Makefile                  #   编译脚本
    ├── STM32F103C8Tx.ld          #   链接脚本
    ├── main.c                    #   主程序(寄存器级)
    ├── startup.c                 #   启动文件(向量表)
    ├── blinky.elf                #   编译产物
    ├── blinky.hex                #   HEX 烧录文件
    └── blinky.bin                #   BIN 烧录文件

PCB 工程

查看和编辑

用 KiCad 8.0 或更高版本打开:

  1. 安装 KiCad:https://www.kicad.org/download/
  2. 打开 stm32-minimal/stm32-minimal.kicad_pro
  3. 双击左侧列表打开原理图/PCB

发送打样

stm32-minimal/fab/gerbers/ 目录下的所有文件打包成 ZIP,发给 PCB 厂家(嘉立创、华秋等)。

参数:双层板,50mm×50mm,1.6mm 板厚,绿油白字,有铅/无铅喷锡。

物料清单

关键物料(完整列表见 stm32-minimal/fab/stm32-minimal-bom.csv):

位号 规格 封装
U1 STM32F103C8T6 LQFP-48
U2 AMS1117-3.3 SOT-223
J1 USB-C 6P (仅供电) 贴片卧式
Y1 8MHz 无源晶振 3×10mm 圆柱
Y2 32.768kHz 无源晶振 3×10mm 圆柱
LED 0805 贴片 LED ×2 0805
电阻 1k/10k/1M 0805 0805
电容 10pF/10nF/100nF/1uF/10uF 0805 0805

固件编译

前置条件

ARM 交叉编译工具链(任选一种):

编译

cd blinky
make

成功后生成 blinky.elf、blinky.hex、blinky.bin。

烧录

需要 ST-Link 或 J-Link 调试器 + pyOCD:

# 安装 pyOCD
pip install pyocd

# 烧录
make flash
# 或手动: pyocd flash -t stm32f103c8 blinky.elf

接线:

ST-Link 开发板 SWD 排针
GND GND
SWCLK SWCLK
SWDIO SWDIO
3.3V 3.3V

现象

烧录后 PC13 连接的 LED 以 ~1Hz 频率闪烁。

重新生成 PCB 工程

build_stm32_minimal.py 使用 kicad-claude-mcp 自动化生成 PCB 工程,需要以下环境:

# 前置:安装 kicad-claude-mcp
# 参考: https://github.com/HermeticOrmus/kicad-claude-mcp

# 运行
python build_stm32_minimal.py

注意:此脚本需要 KiCad 库索引和 kicad-claude-mcp 环境,仅用于参考自动生成流程。日常修改直接用 KiCad GUI 即可。

常见问题

Q: make 报错 arm-none-eabi-gcc: command not found? A: 工具链没装或没加到 PATH。重新运行安装包,确保勾选"Add to PATH"。

Q: pyocd flash 报错找不到设备? A: 检查 ST-Link 驱动是否安装,SWD 接线是否正确。Windows 可能需要安装 ST-Link 驱动。

Q: 烧录成功但 LED 不亮? A: 检查 LED 方向(正极接 PC13,负极接 GND 串联 1k 电阻)。用万用表测 PC13 引脚电压是否变化。

Q: PCB 文件用 KiCad 7 打不开? A: 需要 KiCad 8.0+。KiCad 7 用户需先升级。

Q: 板子接 USB-C 没反应? A: 这个板子用 USB-C 供电(非通信),检查 3.3V 测试点电压是否正常。USB-C 的 CC 引脚没配电阻的话可能某些充电器不输出 5V。

About

PCB设计项目

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages