Skip to the content
PCBKitNew board
2 layers16 × 18 mmVolt Unit, the printed circuit board in 3D

auto probe

Size
16 × 18 mm
Copper layers
2
Thickness
1.6 mm
Parts
15
Nets
10
Pads
39
Tracks, vias
72, 14
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
17 Aug 2026
Updated
13 Oct 2026

Overview

Volt Unit is an open-source printed circuit board by gravitymir, from the gravitymir/auto_probe repository on GitHub, published under the MIT licence. It is a 2-layer board of 16 × 18 mm with 15 parts on 10 nets, routed with 72 tracks and 14 vias.

It is built around the LMV358 and BAT54S. Its parts include 7 resistors, 3 capacitors, 2 diodes, 2 connectors and 1 IC.

Main components

2

README

README.md

auto_probe

Отладочные core-платы на STM32 — исходники KiCad, гербера и генератор, который их собирает.

Платы не рисовались мышкой: схема, размещение, разводка и шелкография описаны Python-скриптами поверх pcbnew API. Любую правку можно повторить одной командой, а результат каждый раз прогоняется через набор проверок.

Платы

STM32G474RE-CoreBoardSTM32H723ZG-CoreBoard
МКSTM32G474RET6, LQFP64STM32H723ZGT6, LQFP144
Размер70 × 70 мм84 × 84 мм
Слоёв4 (GND / +3V3 внутренние)4 (GND / +3V3 внутренние)
Выводы4 × гребёнка 1×16, шаг 2.544 × гребёнка 2×18, шаг 2.54
ПитаниеUSB-C → AP2112K-3.3USB-C → AP2112K-3.3
Кварцы8 МГц HSE + 32.768 кГц LSE25 МГц HSE + 32.768 кГц LSE
Отладка1×10, распиновка WeAct STLink V2.11×10, распиновка WeAct STLink V2.1
Формат файловKiCad 7KiCad 10
Статусготова к заказуготова к заказу

Все выводы микроконтроллера выведены на гребёнки; шаг 2.54 мм — плата садится в макетку. У H723 внутренние ряды гребёнок отстоят от центра ровно на 11 × 2.54 мм, то есть противоположные гребёнки разнесены на 22 шага и плата ложится на сетку 0.1″.

Что на плате (G474)

Гребёнки. J2 — левая, J3 — нижняя, J4 — правая, J5 — верхняя. Назначение каждого контакта подписано на шелкографии и продублировано в PINOUT.csv. На каждой гребёнке выведены GND и +3V3 — они подключены к внутренним полигонам через thermal relief, отдельных дорожек к ним нет.

J6 — разъём прошивки, 1×10, распиновка один-в-один с WeAct MiniDebugger / STLink V2.1, шлейф садится без переходников:

12345678910
5VGNDRX (PB6)TX (PB7)NRSTSWO (PB3)GNDSWCLKSWDIO3V3

Контакт 1 (5V) связан с VBUS разъёма USB-C. USB и отладчик одновременно не подключайте.

USB-C (J1) — не только питание: D+/D− заведены на PA12/PA11, то есть на встроенный USB 2.0 FS device. Через него работают USB CDC (виртуальный COM-порт) и штатный DFU-бутлоадер STM32 — прошивка без отладчика вообще. CC1/CC2 притянуты 5.1 кОм к земле (роль устройства).

Кнопки. SW1 — RST, SW2 — BOOT0 (для входа в DFU: зажать BOOT, нажать RST).

Светодиод. D1 на PA5 (LED_A), через 1 кОм.

R3 (0 Ω) связывает +3V3 и +3V3A (VDDA / VREF+) в одной точке. Если АЦП будет шуметь — на это же место ставится ферритовая бусина, переразводить ничего не нужно.

Чем отличается H723

Раскладка повторяет G474: кристалл смещён к нижнему левому углу (OFFX / OFFY в генераторе), поэтому верхнее и правое кольца шире — там и стоят светодиод, кнопки RST и BOOT, разъём прошивки, USB-C и брендинг. USB-C стоит на плате целиком: корпус упирается в контур, но за него не свисает.

Электрически устроена так же: те же гребёнки со всеми выводами, тот же USB-C с D+/D− на встроенный USB FS (PA11/PA12), те же кнопки RST и BOOT0, светодиод (здесь на PB0 через 1 кОм), тот же R3 между +3V3 и +3V3A. Разъём прошивки J6 — тот же 1×10 с распиновкой WeAct, но UART другой:

12345678910
5VGNDRX (PC10)TX (PC11)NRSTSWO (PB3)GNDSWCLKSWDIO3V3

Взят USART3 на PC10/PC11, а не USART1: у LQFP144 эта пара выходит на верхнюю гребёнку рядом со SWCLK, тогда как PA9/PA10 попадают на правую гребёнку за коридором USB-C, куда дорожку уже не проложить. Ещё из отличий: 25 МГц HSE вместо 8 МГц, две банки VCAP1/VCAP2 по 2.2 мкФ, отдельная развязка VDD33USB и 11 конденсаторов развязки под корпусом вместо 4.

HSE стоит в корпусе SMD-3225 с четырьмя падами: у JLCPCB 25 МГц в нём — Basic Part (Yangxing X322525MOB4SI, C9006), тогда как двухпадовый 5032 только Extended и с перебоями в наличии. Два лишних пада — экран корпуса, они связаны диагональю под самим кварцем и посажены на полигон одной via. Нагрузочная ёмкость этого кварца 12 пФ, поэтому обвязка обоих генераторов — 18 пФ; кварц с другой CL ставить нельзя, частота уйдёт.

Подписан каждый из 144 контактов, оба ряда. У J2, J3 и J5 ряды подписаны с разных сторон гребёнки — внутренний изнутри, внешний снаружи. Напротив USB-C правое кольцо занято самим разъёмом и его коридором, поэтому у J4 обе строки остаются слева. Подпись, которой не хватило места, генератор сам переносит за гребёнку и сообщает об этом в отчёте сборки. Полная карта — в PINOUT.csv.

Шрифт шелкографии — 0.8 мм при толщине линии 0.15 мм: это минимум, который JLCPCB печатает без расплывания. В кольце между гребёнкой и краем платы остаётся 3.7 мм, и пятизначное имя таким шрифтом туда уже не входит — у нескольких цепей на шелке короткая форма (3V3A, PC2C, USBDP). В цепях, схеме и PINOUT.csv имена полные.

Рядом с деталью печатается только обозначение: под корпусом МК банки развязки стоят сеткой 3.2 мм, и номиналы читаемым шрифтом там просто не помещаются. Вместо этого на обратной стороне, в свободных площадках у J4, напечатана таблица «обозначение — номинал» на все 35 компонентов платы.

Схема H723 нарисована на листе A1: один символ LQFP144 занимает 76 × 188 мм, и вместе с четырьмя гребёнками 2×18 и 26 конденсаторами на A2 (как у G474) он не раскладывается.

Как открыть

Футпринты у обеих плат лежат в собственной библиотеке проекта auto_probe.pretty рядом с платой и подключаются через fp-lib-table — системные библиотеки KiCad не нужны, и проект не зависит от того, какая версия KiCad стоит у вас или у сборщика.

text
boards/STM32G474RE-CoreBoard/STM32G474RE-CoreBoard.kicad_pro
boards/STM32H723ZG-CoreBoard/STM32H723ZG-CoreBoard.kicad_pro

G474 сохранена в формате KiCad 7 (KiCad 8/9/10 открывают её и конвертируют при первом сохранении), H723 — в формате KiCad 10: её собирали уже им. Платы независимы, так что разные форматы никому не мешают, но KiCad 7 файл H723 не откроет.

Как заказать

Для JLCPCB / PCBWay достаточно одного архива:

text
boards/STM32G474RE-CoreBoard/STM32G474RE-CoreBoard_gerbers.zip
boards/STM32H723ZG-CoreBoard/STM32H723ZG-CoreBoard_gerbers.zip

Внутри: 4 слоя меди, паяльная маска, шелкография, паста, контур платы (.gm1) и сверловка (PTH / NPTH раздельно). Параметры заказа: 4 слоя, 1.6 мм, HASL или ENIG, минимальный зазор 0.2 мм, минимальное отверстие 0.2 мм.

Для монтажа на заводе — BOM.csv и pos.csv рядом с платой. В BOM G474 проставлены номера LCSC для микроконтроллера, стабилизатора и USB-C; у H723 — для стабилизатора и USB-C, номер самого STM32H723ZGT6 подставьте сами. Пассивку подберите из JLCPCB Basic Parts по номиналу и типоразмеру.

Генератор

text
gen/
├── kigen.py        разбор библиотек символов, генерация .kicad_sch
├── pcbhelp.py      обёртка над pcbnew: размещение, дорожки, via, полигоны, текст
├── kicadenv.py     где лежат библиотеки KiCad и различия API между версиями
├── build_g474.py   сборка платы G474 целиком
├── build_h723.py   сборка платы H723
├── outputs.py      BOM.csv и PINOUT.csv из готовой платы
├── export.py       гербера, сверловка, pos.csv, PDF и архив для завода
├── drc.py          геометрический контроль зазоров + несоединённые цепи
├── conn.py         связность цепей (union-find)
├── crtyd.py        пересечения courtyard
└── silkchk.py      наложения шелкографии и печать поверх падов

Нужен Python с модулем pcbnew — от KiCad 7 или KiCad 10 (в Debian/Ubuntu — пакет kicad, в Windows — C:\Program Files\KiCad\10.0\bin\python.exe). Каталоги системных библиотек скрипты находят сами:

bash
python3 gen/build_h723.py boards/STM32H723ZG-CoreBoard
python3 gen/outputs.py    boards/STM32H723ZG-CoreBoard/STM32H723ZG-CoreBoard.kicad_pcb
python3 gen/export.py     boards/STM32H723ZG-CoreBoard
python3 gen/drc.py        boards/STM32H723ZG-CoreBoard/STM32H723ZG-CoreBoard.kicad_pcb
python3 gen/silkchk.py    boards/STM32H723ZG-CoreBoard/STM32H723ZG-CoreBoard.kicad_pcb

export.py зовёт kicad-cli; им же гоняется штатный DRC:

bash
kicad-cli pcb drc --schematic-parity --severity-error boards/STM32H723ZG-CoreBoard/STM32H723ZG-CoreBoard.kicad_pcb

Позиции надписей, выставленные вручную в KiCad, хранятся в build_g474.py в таблицах REF_AT и VAL_AT — пересборка их не затирает. Остальные надписи расставляет автоподбор, который считает занятыми чужие надписи, контуры, пады (шелк поверх открытой меди не печатается) и корпуса деталей (иначе надпись уезжает под чип и её не видно).

Проверки

У KiCad 7 в CLI нет DRC, поэтому проверки написаны отдельно. Текущее состояние обеих плат:

проверкаG474H723
зазоры меди0 нарушений при штатных 0.2 мм0 нарушений при штатных 0.2 мм
DRC самого KiCad0 ошибок0 ошибок
схема против платы—0 расхождений
несоединённые цепи00
пересечения courtyard00
отверстие-отверстиеминимум 0.387 ммминимум 0.278 мм
наложения шелкографии00
шелкография поверх падов00

Обе платы проходят штатный DRC самого KiCad (проверено в KiCad 10) — 0 ошибок при netclass clearance 0.2 мм. Сигнальные дорожки 0.15 мм, силовые 0.35 мм; минимум JLCPCB для этого процесса — 0.09 мм. У H723 есть ещё и проверка схемы против платы (--schematic-parity), её умеет только CLI KiCad 10.

Веер из 144 выводов на четыре гребёнки 2×18 упирается не в ширину дорожки, а в угол: крайние дорожки идут под 42°, и поперёк соседа от шага 0.5 мм остаётся 0.5·cos42° = 0.37 мм. Отсюда и вынос гребёнок на 27.94 мм от центра — на 26 мм веер в зазор 0.2 мм не укладывался ни при какой разумной ширине.

Что осталось

  • На D+/D− нет защиты от статики (например, USBLC6-2SC6) — для прототипа терпимо.
  • D+/D− заодно выведены на J4 контакты 3 и 4. Удобно для отладки, но это отвод на дифференциальной паре: если USB начнёт капризничать при определении — снимите с них всё.
  • VBUS не заведён на вывод МК, определить подключение кабеля программно нельзя.

Лицензия

MIT — см. LICENSE.

Референсные материалы ST (схемы Nucleo MB1367 / MB1364, их гербера и BOM) в репозиторий не включены: они распространяются по ST Open Platform License Agreement. Разбор того, что из них полезно и как это открыть в KiCad, — в docs/.

Parts

15
QtyValueFootprintReferences
2100nFauto_probe:C_0402_1005MetricC2, C3
210kauto_probe:R_0402_1005MetricR5, R6
218kauto_probe:R_0402_1005MetricR3, R4
2470kauto_probe:R_0805_2012MetricR1, R2
2BAT54Sauto_probe:SOT-23D1, D2
1220Rauto_probe:R_0402_1005MetricR7
1470pFauto_probe:C_0402_1005MetricC1
1LMV358auto_probe:SOIC-8_3.9x4.9mm_P1.27mmU1
1LOGICauto_probe:PinHeader_1x03_P2.54mm_VerticalJ1
1PROBEauto_probe:PinHeader_1x02_P2.54mm_VerticalJ2

Questions

How big is the Volt Unit PCB?

It measures 16 × 18 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Volt Unit use?

15 parts, built around the LMV358 and BAT54S. 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 Volt Unit KiCad files?

From the gravitymir/auto_probe repository on GitHub, at the commit this page was made from: the board is boards/Volt-Unit/Volt-Unit.kicad_pcb and its schematic boards/Battery-Unit/Battery-Unit.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Volt Unit 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).

More from gravitymir/auto_probe

7
  • 2 layers58 × 44 mmPSU Unit, the printed circuit board in 3D

    PSU Unit

    gravitymir/auto_probe

    auto probe

    37 partsMIT
  • 2 layers60 × 42 mmVoice Unit, the printed circuit board in 3D

    Voice Unit

    gravitymir/auto_probe

    auto probe

    33 partsMIT
  • 2 layers45 × 28 mmBattery Unit, the printed circuit board in 3D

    Battery Unit

    gravitymir/auto_probe

    auto probe

    20 partsMIT
  • 2 layers22 × 23.4 mmLIN Unit, the printed circuit board in 3D

    LIN Unit

    gravitymir/auto_probe

    auto probe

    17 partsMIT
  • 2 layers13 × 13.4 mmCAN Unit, the printed circuit board in 3D

    CAN Unit

    gravitymir/auto_probe

    auto probe

    8 partsMIT

Similar boards

  • 2 layers44.2 × 32.6 mmWiring, the printed circuit board in 3D

    Wiring

    esp-ebus/ebus-adapter-hardware

    This repo conains KiCAD design of eBUS bus powered (without external supply) adapter to WiFi.

    49 parts44
  • 4 layers48.5 × 33.5 mmHFLink Plus, the printed circuit board in 3D

    HFLink Plus

    LX050724/HFLink

    完全使用FPGA实现的高速DAP

    130 parts25Apache-2.0
  • 4 layers100 × 20 mmLimiters, the printed circuit board in 3D

    Limiters

    greatscottgadgets/misc

    miscellaneous Great Scott Gadgets projects

    143 parts21GPL-2.0
  • 4 layers89 × 60.5 mmBlack scope, the printed circuit board in 3D

    Black scope

    jgpeiro/black_scope

    Simple stm32 oscilloscope

    95 parts20
  • 2 layers64.8 × 62 mmSensor, the printed circuit board in 3D

    Sensor

    chukhanhhoang/SoftRoboticSetupFesto

    Code for Raspberry Pi and Matlab/Simulink

    89 parts14
  • 2 layers41.5 × 35.5 mmOpenEstim++, the printed circuit board in 3D

    OpenEstim++

    humancomputerintegration/BOH-Electro-Tactile

    This is the repository for PCB schematics and Arduino codes used for the "Full-Hand Electro Tactile Feedback without Obstructing Palmar Side of Hand" paper (ACM CHI2023).

    28 parts13
  • 2 layers68.6 × 53.3 mmDesign files, the printed circuit board in 3D

    Design files

    aspro648/Arduino

    DIY Clones done in KiCAD

    40 parts12
  • 4 layers206.7 × 105.8 mm32-channel current source, the printed circuit board in 3D

    32-channel current source

    M4a1x/nmr-spectrometer

    My master thesis at D-CHAB (ETH Zürich) - Building a 25MHz NMR spectrometer

    324 parts11GPL-3.0