Skip to the content
PCBKitNew board
2 layers22 × 23.4 mmLIN Unit, the printed circuit board in 3D

auto probe

Size
22 × 23.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
17
Nets
12
Pads
58
Tracks, vias
120, 20
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
17 Aug 2026
Updated
13 Oct 2026

Overview

LIN 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 22 × 23.4 mm with 17 parts on 12 nets, routed with 120 tracks and 20 vias.

It is built around the TLE7258D, PESD1LIN and 1N4148W, with the SMAJ24CA among its other parts. Its parts include 4 resistors, 4 diodes, 3 capacitors, 2 ICs and 2 connectors.

Main components

4

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

17
QtyValueFootprintReferences
2100nFauto_probe:C_0402_1005MetricC1, C2
210kauto_probe:R_0402_1005MetricR3, R4
2510Rauto_probe:R_0805_2012MetricR1, R2
2PESD1LINauto_probe:D_SOD-323D3, D4
2TLE7258Dauto_probe:VSON-8-1EP_3x3mm_P0.65mm_EP1.6x2.4mmU1, U2
11N4148Wauto_probe:D_SOD-123D1
11uFauto_probe:C_0603_1608MetricC3
1BUSauto_probe:PinHeader_1x04_P2.54mm_VerticalJ3
1LOGICauto_probe:PinHeader_1x06_P2.54mm_VerticalJ2
1PU1auto_probe:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1
1PU2auto_probe:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP2
1SMAJ24CAauto_probe:D_SMAD2

Questions

How big is the LIN Unit PCB?

It measures 22 × 23.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the LIN Unit use?

17 parts, built around the TLE7258D, PESD1LIN, 1N4148W and SMAJ24CA. 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 LIN Unit KiCad files?

From the gravitymir/auto_probe repository on GitHub, at the commit this page was made from: the board is boards/LIN-Unit/LIN-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 LIN 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 layers16 × 18 mmVolt Unit, the printed circuit board in 3D

    Volt Unit

    gravitymir/auto_probe

    auto probe

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

    CAN Unit

    gravitymir/auto_probe

    auto probe

    8 partsMIT

Similar boards

  • 4 layers46 × 56 mmLINBoard HW, the printed circuit board in 3D

    LINBoard HW

    corygrant/LINBoard

    73 parts1
  • 2 layers58.4 × 26 mmTja1018-breakout, the printed circuit board in 3D

    Tja1018-breakout

    marc-fischer/tja1028-breakout

    Breakout Board for TJA1028 or compatible LIN Transceiver

    13 parts1GPL-3.0
  • 2 layers187 × 76 mmCalyx level carrier, the printed circuit board in 3D

    Calyx level carrier

    ballhog/calyx-level

    Wired, fail-safe auto top-off (ATO) for a reef system. Part of the Corallite Calyx family (wired connected devices: Calyx-Outlet, Calyx-Sense, Calyx-Level).

    106 parts
  • 4 layers55 × 55 mmCaw bms, the printed circuit board in 3D

    Caw bms

    noxrick91/caw-bms

    锂电池管理系统

    154 parts228GPL-3.0
  • 2 layers34 × 96 mmGem solder, the printed circuit board in 3D

    Gem solder

    arlenko/gem-solder

    💎 DIY soldering iron controller

    114 parts12CERN-OHL-S-2.0
  • 6 layers158 × 174 mmTritonECU Main, the printed circuit board in 3D

    TritonECU Main

    alpauna/TritonECU

    ESP32-S3 engine control unit — fuel injection, ignition timing, wideband O2 (CJ125/LSU 4.9), dashboard, and MQTT telemetry

    457 parts10
  • 2 layers100 × 75 mmDisplay, the printed circuit board in 3D

    Display

    DLaxV-Community-Projects-Hub/Open-Shot-Clock

    Build your own DIY Shot Clock

    209 parts5CERN-OHL-P-2.0
  • 4 layers84 × 55 mmGrblPANEL, the printed circuit board in 3D

    GrblPANEL

    dresco/grblpanel_main_board

    KiCad implementation of a grblPANEL control board

    143 parts2