

LIN Unit
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
4TLE7258D
TSON-8-EP(3x3)Thermal shutdown protection、Bus fault protection、Bus wake-up、Low-power mode、Under-voltage detection、Slope control TSON-8-EP(3x3) LIN Transceivers ROHSInfineon TechnologiesLIN TransceiversPESD1LIN
SOD-323-55℃~+125℃ 1 13pF 15V、24V 160W@8/20us 20.3V、30.3V 44V、70V 50nA Bidirectional ESD IEC 61000-4-2、IEC 61000-4-4 SOD-323 ESD and Surge Protection (TVS/ESD) ROHSTECH PUBLICESD And Surge Protection (TVS/ESD)1N4148W
SOD-123150mA 1A 1V@50mA 1uA@75V 400mW 4ns 75V Independent SOD-123 Switching Diodes ROHSSTMicroelectronicsSwitching DiodesSMAJ24CA
DO-214AC(SMA)-55℃~+150℃ 10.3A 24V 26.7V 38.9V 400W 5uA Bidirectional TVS DO-214AC(SMA) ESD and Surge Protection (TVS/ESD) ROHSGOODWORKESD And Surge Protection (TVS/ESD)
README
README.mdauto_probe
Отладочные core-платы на STM32 — исходники KiCad, гербера и генератор, который их собирает.
Платы не рисовались мышкой: схема, размещение, разводка и шелкография описаны Python-скриптами
поверх pcbnew API. Любую правку можно повторить одной командой, а результат каждый раз
прогоняется через набор проверок.
Платы
| STM32G474RE-CoreBoard | STM32H723ZG-CoreBoard | |
|---|---|---|
| МК | STM32G474RET6, LQFP64 | STM32H723ZGT6, LQFP144 |
| Размер | 70 × 70 мм | 84 × 84 мм |
| Слоёв | 4 (GND / +3V3 внутренние) | 4 (GND / +3V3 внутренние) |
| Выводы | 4 × гребёнка 1×16, шаг 2.54 | 4 × гребёнка 2×18, шаг 2.54 |
| Питание | USB-C → AP2112K-3.3 | USB-C → AP2112K-3.3 |
| Кварцы | 8 МГц HSE + 32.768 кГц LSE | 25 МГц HSE + 32.768 кГц LSE |
| Отладка | 1×10, распиновка WeAct STLink V2.1 | 1×10, распиновка WeAct STLink V2.1 |
| Формат файлов | KiCad 7 | KiCad 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, шлейф садится без переходников:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|
| 5V | GND | RX (PB6) | TX (PB7) | NRST | SWO (PB3) | GND | SWCLK | SWDIO | 3V3 |
Контакт 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 другой:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|
| 5V | GND | RX (PC10) | TX (PC11) | NRST | SWO (PB3) | GND | SWCLK | SWDIO | 3V3 |
Взят 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 стоит у вас или у сборщика.
boards/STM32G474RE-CoreBoard/STM32G474RE-CoreBoard.kicad_pro
boards/STM32H723ZG-CoreBoard/STM32H723ZG-CoreBoard.kicad_proG474 сохранена в формате KiCad 7 (KiCad 8/9/10 открывают её и конвертируют при первом сохранении), H723 — в формате KiCad 10: её собирали уже им. Платы независимы, так что разные форматы никому не мешают, но KiCad 7 файл H723 не откроет.
Как заказать
Для JLCPCB / PCBWay достаточно одного архива:
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 по номиналу и типоразмеру.
Генератор
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). Каталоги системных
библиотек скрипты находят сами:
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_pcbexport.py зовёт kicad-cli; им же гоняется штатный DRC:
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, поэтому проверки написаны отдельно. Текущее состояние обеих плат:
| проверка | G474 | H723 |
|---|---|---|
| зазоры меди | 0 нарушений при штатных 0.2 мм | 0 нарушений при штатных 0.2 мм |
| DRC самого KiCad | 0 ошибок | 0 ошибок |
| схема против платы | — | 0 расхождений |
| несоединённые цепи | 0 | 0 |
| пересечения courtyard | 0 | 0 |
| отверстие-отверстие | минимум 0.387 мм | минимум 0.278 мм |
| наложения шелкографии | 0 | 0 |
| шелкография поверх падов | 0 | 0 |
Обе платы проходят штатный 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| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 100nF | auto_probe:C_0402_1005Metric | C1, C2 |
| 2 | 10k | auto_probe:R_0402_1005Metric | R3, R4 |
| 2 | 510R | auto_probe:R_0805_2012Metric | R1, R2 |
| 2 | PESD1LIN | auto_probe:D_SOD-323 | D3, D4 |
| 2 | TLE7258D | auto_probe:VSON-8-1EP_3x3mm_P0.65mm_EP1.6x2.4mm | U1, U2 |
| 1 | 1N4148W | auto_probe:D_SOD-123 | D1 |
| 1 | 1uF | auto_probe:C_0603_1608Metric | C3 |
| 1 | BUS | auto_probe:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | LOGIC | auto_probe:PinHeader_1x06_P2.54mm_Vertical | J2 |
| 1 | PU1 | auto_probe:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm | JP1 |
| 1 | PU2 | auto_probe:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm | JP2 |
| 1 | SMAJ24CA | auto_probe:D_SMA | D2 |
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- 4 layers84 × 84 mm

- 2 layers58 × 44 mm

- 4 layers70 × 70 mm

- 2 layers60 × 42 mm

- 2 layers45 × 28 mm

- 2 layers16 × 18 mm

- 2 layers13 × 13.4 mm

Similar boards
- 4 layers46 × 56 mm

- 2 layers58.4 × 26 mm

Tja1018-breakout
marc-fischer/tja1028-breakout
Breakout Board for TJA1028 or compatible LIN Transceiver
13 parts1GPL-3.0 - 2 layers187 × 76 mm

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 mm

- 2 layers34 × 96 mm

- 6 layers158 × 174 mm

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 mm

Display
DLaxV-Community-Projects-Hub/Open-Shot-Clock
Build your own DIY Shot Clock
209 parts5CERN-OHL-P-2.0 - 4 layers84 × 55 mm
