Skip to the content
PCBKitNew board
4 layers80 × 50 mmMianCtrl H7, the printed circuit board in 3D

STM32H723VGT6 MainCtrlBoard Author: Aiyin4DaGLD · Hardware: v1.2 · Updated: 2026-08-21

Size
80 × 50 mm
Copper layers
4
Thickness
1.6 mm
Parts
153
Nets
128
Pads
595
Tracks, vias
1,635, 675
Pours
777
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
21 Aug 2026
Updated
21 Aug 2026

Overview

MianCtrl H7 is an open-source printed circuit board by Aiyin4Da-2, from the Aiyin4Da-2/Main_Ctrl_H7 repository on GitHub, published under the MIT licence. It is a 4-layer board of 80 × 50 mm with 153 parts on 128 nets, routed with 1,635 tracks and 675 vias.

It is built around the TJA1042T/3/1J, SN75176AD and RY3408, with the RY8411, W25N01GVZEIG and RS3236-3.0YF5 among its other parts. Its parts include 55 capacitors, 35 resistors, 20 diodes, 13 ICs and 12 connectors. It belongs with the STM32 boards of this library.

Main components

12

README

README.md

STM32H723VGT6 MainCtrlBoard

Author: Aiyin4Da_GLD · Hardware: v1.2 · Updated: 2026-08-21

MainCtrl-H7 是一块基于 STM32H723VGT6 的 80 mm × 50 mm 四层主控板。板上集成 1 Gbit SPI NAND Flash、六轴 IMU、三轴磁力计、三路 CAN、两路 RS485、调试串口、WS2812、无源压电蜂鸣器和 IMU 加热控制,并通过 80-pin BTB 连接器引出大部分 MCU 信号。

本文档以 2026-08-21 的 mianCtrl_H7.kicad_sch、mianCtrl_H7.kicad_pcb、MainCtrl_H7Demo.ioc 和当前固件源码为依据。目录与文件名中的 mian、Borad、sortware 为工程现有拼写,为避免破坏路径未作重命名。

MainCtrl-H7 top side
接口侧
MainCtrl-H7 bottom side
核心器件侧

主要规格

项目配置
MCUSTM32H723VGT6,Cortex-M7,LQFP-100;当前固件配置 480 MHz
外部时钟24 MHz HSE,PH0/PH1
外部存储W25N01GVZEIG,1 Gbit(128 MiB)SPI NAND,OCTOSPI1 四线模式,当前配置约 60 MHz
惯性传感器ICM-42688-P 六轴 IMU;LIS3MDLTR 三轴磁力计,共用 SPI2
有线通信3 × FDCAN(TJA1042T-3),2 × RS485(SN75176AD),UART7,USART1,USART10,DBUS/UART5
人机交互1 × WS2812B、1 × USER_BTN、1 × CPT-9019S-SMT 无源压电蜂鸣器
电源输入24 V,经 XT30 接入
扩展连接J12,0.8 mm 间距 2 × 40-pin BTB
PCB约 79.996 mm × 49.994 mm,4 层,153 个封装,当前 PCB 无未布网络
设计工具KiCad 10.0 华秋版本

文件内容

text
Main_Ctrl_H7/
├── bom/
│   └── ibom_mainCtrl.html              # 交互式 BOM / 焊接辅助
├── datasheet & netlist/
│   ├── mianCtrl_H7.txt                 # 2026-08-01 导出的旧网表
│   └── *.pdf                           # 主要 IC 数据手册
├── image/
│   ├── mianCtrl_H7_Top.png
│   └── mianCtrl_H7_Bottom.png
├── mainCtrlBorad_sortware_demo/        # STM32CubeMX + CMake 硬件自测固件
│   ├── Core/Inc/                       # BSP 与应用头文件
│   ├── Core/Src/                       # BSP、控制台和硬件自测实现
│   ├── Hardware/                       # 固件使用的网表和数据手册副本
│   ├── MainCtrl_H7Demo.ioc
│   ├── CMakeLists.txt
│   └── CMakePresets.json
├── mianCtrlBorad/
│   ├── mianCtrl_H7.kicad_sch           # 当前原理图
│   ├── mianCtrl_H7.kicad_pcb           # 当前 PCB
│   ├── mianCtrl_H7.kicad_pro           # KiCad 工程
│   ├── bom/ibom.html                   # 从当前 PCB 生成的交互式 BOM
│   └── production/                     # BOM、坐标、网表与旧生产压缩包
└── README.md

常用入口:

硬件功能框图

text
24 V IN
  └─ U10 RY8411 ── +5V
       ├─ U12 RY3408 ── +3V3_MCU ── STM32H723 / W25N01 / WS2812 / Buzzer
       ├─ U11 RS3236-3.0YF5 ── +3V3_IO
       └─ U13 RS3236-3.0YF5 ── +3V3_IMU ── ICM-42688-P / LIS3MDL

STM32H723
  ├─ OCTOSPI1 ── W25N01GVZEIG
  ├─ SPI2 ─────── ICM-42688-P + LIS3MDL
  ├─ FDCAN1/2/3 ─ TJA1042T-3 × 3 ─ CAN1/2/3
  ├─ USART2/3 ─── SN75176AD × 2 ── RS485-1/2
  ├─ TIM3_CH2 ─── WS2812B
  ├─ TIM1_CH3N ── Q1 ── BZ1
  └─ GPIO PB1 ─── Q2 ── IMU heater

电源网络

网络变换级主要负载设计说明实测
+24V_VINJ1 → F1/保护级U10 输入24 V 外部输入待补录
+5VU10 RY8411CAN/RS485 收发器、后级稳压器24 V 降压至 5 V待补录
+3V3_MCUU12 RY3408MCU、Flash、WS2812、蜂鸣器网络名指示 3.3 V 设计域待补录
+3V3_IOU11 RS3236-3.0YF5IO 电源域器件后缀为固定 3.0 V;网络名仍为 +3V3_IO待补录
+3V3_IMUU13 RS3236-3.0YF5ICM-42688-P、LIS3MDL器件后缀为固定 3.0 V;网络名仍为 +3V3_IMU待补录

建议首次上电使用限流电源,并依次记录 J1 输入、+5V、+3V3_MCU、U11 pin 5 和 U13 pin 5 的电压及整板静态电流。当前工程中没有保存这五路电源的定量实测记录,因此表格保留为“待补录”。

MCU 外设与引脚分配

功能MCU 引脚当前固件配置 / 去向
HSEPH0 / PH124 MHz 晶振,系统时钟配置为 480 MHz
SWDPA13 / PA14J3 pin 1 SWDIO、pin 2 SWCLK
USART1 控制台PA9 TX / PA10 RXJ11 pin 2 / pin 3,115200 8N1
UART7PE8 TX / PE7 RXJ10 pin 2 / pin 3,115200 8N1
USART10PE3 TX / PE2 RXJ9 pin 2 / pin 1,115200 8N1
DBUS / UART5PB12 RXJ2 pin 1 经板上接口电路;当前验证固件不初始化 UART5
RS485-1 / USART2PD5 TX / PD6 RX / PD4 DEU5 → J4,115200 8N1
RS485-2 / USART3PD8 TX / PD9 RX / PB14 DEU6 → J5,115200 8N1
FDCAN1PD1 TX / PD0 RXU2 → J6,标称仲裁速率 1 Mbit/s
FDCAN2PB6 TX / PB5 RXU3 → J7,标称仲裁速率 1 Mbit/s
FDCAN3PD13 TX / PD12 RXU4 → J8,标称仲裁速率 1 Mbit/s
SPI2 SCK/MOSI/MISOPB13 / PC1 / PC2ICM-42688-P 与 LIS3MDL 共用,Mode 3,当前约 0.9375 MHz
ICM-42688-PPC0 CS / PE10 DRDYWHO_AM_I 期望值 0x6A
LIS3MDLPC3 CS / PE12 DRDYWHO_AM_I 期望值 0x3D
OCTOSPI1 FlashPE11 NCS、PB2 CLK、PD11 IO0、PB0 IO1、PA3 IO2、PA1 IO3W25N01GVZEIG,四线模式
WS2812PA7 / TIM3_CH2800 kHz 波形
BuzzerPB15 / TIM1_CH3N低边 MOSFET Q1 驱动;诊断频率 4 kHz
IMU heaterPB1 GPIO高电平开启,软件占空比控制 Q2
USER_BTNPA15低电平按下,30 ms 消抖

外部连接器

MP 为连接器机械固定焊盘,不计入编号针脚。CAN 与 RS485 连接器的机械焊盘在当前原理图中接 GND,但外部线束仍应使用可靠的共地连接。

连接器Pin 1Pin 2Pin 3Pin 4说明
J1 PWR_INGNDVINP——XT30,24 V 输入
J2 DBUSDBUS+5VGND—当前验证固件禁用 UART5
J3 SWDPA13/SWDIOPA14/SWCLKGND+5V下载与调试
J4 RS485-1A1B1——板上 R5 = 120 Ω
J5 RS485-2A2B2——板上 R10 = 120 Ω
J6 CAN1CAN1_LCAN1_H——板上 R1 = 120 Ω
J7 CAN2CAN2_LCAN2_H——板上 R2 = 120 Ω
J8 CAN3CAN3_LCAN3_H——板上 R3 = 120 Ω
J9 USART10RX / PE2TX / PE3GND+5V115200 8N1
J10 UART7GNDTX / PE8RX / PE7—115200 8N1
J11 USART1GNDTX / PA9RX / PA10—控制台;原理图 Value 字段当前误写为 UART7
J12 BTB见下表2 × 40-pin 扩展连接器

J12 80-pin BTB 网络对照

当前 J12 的 80 个电气脚中没有 GND、+5V 或 3 V 电源网络。扩展板不能只依靠 J12 获得电源和参考地;设计扩展板前必须先确认独立供电/共地方案,或修改 J12 引脚分配。

展开 J12 pin 1–80
PinNetworkPinNetwork
1PB1241PA14
2IMU_SCLK42PA13
3USART3_TX43PA12
4USART3_RX44PA11
5USART3_DE45USART1_RX
6BUZZER46USART1_TX
7PD1047PA8
8FLASH_IO048PC9
9CAN3_RX49PC8
10CAN3_TX50BTN
11PC751PC10
12PC652PC11
13PD1553PC12
14PD1454CAN1_RX
15PB1155CAN1_TX
16PB1056PD2
17PE1557PD3
18PE1458USART2_DE
19PE1359USART2_TX
20DRDY_LIS3MDLTR60USART2_RX
21FLASH_NCS61PD7
22DRDY_ICM-4268862PB3
23PE963PB4
24PE864CAN2_RX
25UART7_RX65CAN2_TX
26FLASH_CLK66PB7
27PC567PB8
28FLASH_IO168PB9
29IMU_HEATER69PE0
30ADC_PWR70PE1
31WS281271NC / unnamed
32PA672IMU_MOSI
33FLASH_IO373PC13
34PA574PC14
35PA475PC15
36FLASH_IO276PE6
37PA277PE5
38PA078PE4
39CS_LIS3MDLTR79USART10_TX
40IMU_MISO80PE2

固件构建

工具链

  • CMake 3.22
  • Ninja
  • GNU Arm Embedded Toolchain(arm-none-eabi-gcc)

构建命令

powershell
cd mainCtrlBorad_sortware_demo
cmake --preset Debug
cmake --build --preset Debug

若工程目录从其他磁盘复制而来,旧的 build/Debug/CMakeCache.txt 可能仍记录原路径,可使用以下命令重新生成缓存:

powershell
cmake --fresh --preset Debug
cmake --build --preset Debug

2026-08-21 对当前 main 分支源码执行干净构建:构建通过;Flash 使用 84,836 B / 1 MiB(8.09%),DTCMRAM 使用 3,920 B / 128 KiB(2.99%)。该结果只证明固件可以编译链接,不代表当前修改已完成上板验证。

硬件自测固件

USART1 控制台为 115200、8-N-1。上电后等待 device started,输入 help 查看命令。

当前启动流程:

  1. 初始化 GPIO、三路 FDCAN、OCTOSPI1、SPI2、TIM1、TIM3、USART2/3、UART7、USART1 和 USART10;UART5/DBUS 有意不初始化。
  2. 启动 WS2812 动画,并播放约 1 kHz、2 kHz、4 kHz 三音蜂鸣器旋律。
  3. 自动测试 ICM-42688-P、LIS3MDL、W25N01 和 IMU heater。
  4. USER_BTN 按下后切换 WS2812 效果;控制台持续接收命令。

数据安全警告: 当前固件在每次启动以及执行 all、flash test 时都会擦除、写入、回读并再次擦除 W25N01 的 block 1023。不要在该 block 保存需要保留的数据。

USART1 命令

命令作用是否需要外部接线 / 风险
status查看 WS2812、heater、按键状态,并读取 LIS3MDL、ICM-42688、W25N01 ID无
all执行 ICM、LIS3MDL、W25N01 破坏性擦写和 heater 测试会改写 Flash block 1023
icm testICM-42688 复位、寄存器回读和 16 组六轴采样无
icm stream start静止校准 50 点零偏后,以约 20 Hz 输出陀螺仪和积分角度 CSV启动时保持板卡静止
icm stream stop停止陀螺仪数据流无
lis3 testLIS3MDL 数据读取与片内自检无
flash id只读 JEDEC ID无
flash test擦写并校验 block 1023,结束后再次擦除破坏性
flash protect恢复全阵列易失写保护,检查 SR1 0x7C无
heater testPB1 100% 加热 8 秒,使用 LIS3MDL 温度通道观察趋势表面可能升温
can internal三路 FDCAN 控制器内部回环无,不检查外部收发器
can bus三路 CAN 共总线,轮流发送并要求另外两路接收需三路共线并正确处理终端电阻
can 1 2 等指定两路 CAN 物理双向收发测试只连接指定的一对端口
rs485 test两路 RS485 双向收发J4/J5 A-A、B-B,并确保共地
uart7 testUART7 本地回环短接 J10 pin 2 与 pin 3
uart10 testUSART10 本地回环短接 J9 pin 2 与 pin 1
ws next切换 WS2812 动画人工观察颜色
buzzer test播放 1/2/4 kHz 三音当前硬件存在已知驱动问题
buzzer diag输出 4 kHz / 50% 5 秒并打印 TIM1/PB15 寄存器与采样结果当前硬件存在已知驱动问题

外部测试接线

  • CAN 两端必须各保留 120 Ω 终端。当前 CAN1/2/3 均焊有固定 120 Ω;若三路直接并联,等效终端约 40 Ω。执行 can bus 前应只保留总线两端终端,或先逐对执行 can 1 2、can 1 3、can 2 3。
  • RS485:J4 pin 1(A1)接 J5 pin 1(A2),J4 pin 2(B1)接 J5 pin 2(B2),并从其他 GND 点可靠共地。
  • UART7:短接 J10 pin 2(TX)与 pin 3(RX)。
  • USART10:短接 J9 pin 2(TX)与 pin 1(RX)。
  • USART1:J11 pin 2 为 TX,pin 3 为 RX,pin 1 为 GND;用于日志与命令输入。

第三方材料

STM32Cube、CMSIS、HAL 驱动和器件数据手册保留各自的版权与许可条款,不属于本项目原创内容的统一授权范围。详见 THIRD_PARTY_NOTICES.md 以及各 Drivers 子目录中的许可证文件。

许可证

本项目原创的硬件设计、固件和文档采用 MIT License 开源。第三方代码与资料继续遵循其各自的版权和许可条款。

Parts

153
QtyValueFootprintReferences
18100nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC11, C12, C13, C14, C15, C16, C17, C18, C24, C27, C30, C44, C47, C49, C52, C54 +2
13100nFCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC3, C4, C5, C6, C7, C8, C9, C10, C19, C20, C21, C22, C23
1310uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC28, C31, C34, C35, C36, C37, C39, C40, C42, C43, C46, C48, C51
910KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR39, R40, R42, R44, R45, R47, R50, R51, R58
7ESD9B5.0ST5GDiode_SMD:D_SOD-523D14, D15, D16, D17, D18, D19, D21
5120RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2, R3, R5, R10
420pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC25, C26, C32, C38
44K7Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6, R7, R9, R11
4LEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD9, D10, D11, D12
4M3.2MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
31KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR46, R48, R62
347uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC29, C33, C41
3LOGOLOGOG***, G***, G***
3PESD1CANkicad_api_lib:PESD1CAND1, D2, D3
3TJA1042T-3Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU2, U3, U4
210nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC45, C50
22.2uFCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC1, C2
22KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR53, R54
2330RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR38, R59
24.7KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR60, R61
2AO3400APackage_TO_SOT_SMD:SOT-23Q1, Q2
2RS-485Connector_JST:JST_GH_BM02B-GHS-TBT_1x02-1MP_P1.25mm_VerticalJ4, J5
2RS3236kicad_api_lib:RS3236-3.0YF5U11, U13
2SM712Package_TO_SOT_SMD:SOT-23D4, D5
2SN75176ADPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU5, U6
2UART7Connector_JST:JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_VerticalJ10, J11
110KResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR56
11KResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR24
122RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR49
1330RResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR55
136RResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR57
147KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR43
14K9Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR52
14u7Inductor_SMD:L_APV_APH0630L2
154K6Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR41
16u8Inductor_SMD:L_APV_APH0630L1
1BOOT0Gld_Library:Button_SideSW3
1BTBGld_Library:AEX7 OthersBTB_P0.8mm_2x40pin_FJ12
1BTNGld_Library:Button_SideSW4
1BuzzerBuzzer_Beeper:Buzzer_CUI_CPT-9019S-SMTBZ1
1CAN1Connector_JST:JST_GH_BM02B-GHS-TBT_1x02-1MP_P1.25mm_VerticalJ6
1CAN2Connector_JST:JST_GH_BM02B-GHS-TBT_1x02-1MP_P1.25mm_VerticalJ7
1CAN3Connector_JST:JST_GH_BM02B-GHS-TBT_1x02-1MP_P1.25mm_VerticalJ8
1D-BUSConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ2
1FuseFuse:Fuse_2512_6332Metric_Pad1.52x3.35mm_HandSolderF1
1ICM-42688-Pkicad_api_lib:ICM-42688-PU7
1K34kicad_api_lib:K34D6
1LIS3MDLTRkicad_api_lib:LIS3MDLTRU8
1NRSTGld_Library:Button_SideSW1
1PMBT3094APackage_TO_SOT_SMD:SOT-23Q3
1PWR_INConnector_AMASS:AMASS_XT30PW-M_1x02_P2.50mm_HorizontalJ1
1RY3408kicad_api_lib:RY3408U12
1RY8411kicad_api_lib:RY8411U10
1SMCJ28Akicad_api_lib:SMCJ28AD22
1STM32H723VGTxPackage_QFP:LQFP-100_14x14mm_P0.5mmU1
1SWDConnector_JST:JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_VerticalJ3
1USART10Connector_JST:JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_VerticalJ9
1W25N01GVZEIGkicad_api_lib:W25N01GVZEIGU9
1WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD13
1X32258MOB4SI 24Mkicad_api_lib:X32258MOB4SIY1
1~Diode_SMD:D_SOD-523D20

Questions

How big is the MianCtrl H7 PCB?

It measures 80 × 50 mm and has 4 copper layers, 1.6 mm thick.

What parts does the MianCtrl H7 use?

153 parts, built around the TJA1042T/3/1J, SN75176AD, RY3408 and RY8411. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the MianCtrl H7 KiCad files?

From the Aiyin4Da-2/Main_Ctrl_H7 repository on GitHub, at the commit this page was made from: the board is mianCtrlBorad/mianCtrl_H7.kicad_pcb and its schematic mianCtrlBorad/mianCtrl_H7.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the MianCtrl H7 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers48 × 96 mmMain Control Board, the printed circuit board in 3D

    Main Control Board

    baoqi-zhong/Awesome-SMT-Machine

    A single head 🔥SMT Machine🔥 based on FOC stepper motors. Pure self-developed and fully open-sourced.

    188 parts9
  • 4 layers45.9 × 42.1 mmRoboMotor GIM6010, the printed circuit board in 3D

    RoboMotor GIM6010

    baoqi-zhong/RoboMotor

    A fully open-sourced motor controller project

    130 parts6MIT
  • 4 layers63.7 × 64 mmWirelessCharger V0.1, the printed circuit board in 3D

    WirelessCharger V0.1

    htsong-lab/hardware

    Hardware engineering portfolio: FPGA high-speed board, RoboMaster power electronics and smart-car projects.

    196 parts
  • 2 layers77 × 44 mmRe G431, the printed circuit board in 3D

    Re G431

    Pledoge/G431-Board

    106 parts
  • 4 layers42.7 × 52 mmHPM5E31, the printed circuit board in 3D

    HPM5E31

    HNUST-Dust/HPM5E

    HPM5E PCB

    225 parts1
  • 4 layers39 × 40.5 mmWirelessJLink V3S, the printed circuit board in 3D

    WirelessJLink V3S

    hkustenterprize/RM2025-Wireless-JLink

    Wireless JLink-OB based on Allwinner V3S

    147 parts30GPL-3.0
  • 2 layers45 × 22 mmDrone LM5145, the printed circuit board in 3D

    Drone LM5145

    hkustenterprize/RM2025-LM5145-48to24

    53 parts3