Alter.Org.UA
 << Back Home EN en   Donate Donate

Automated KiCad7 Symbol generation tool

make_kicad_sym.py формує symbol-файл для KiCad7 на основі спрощеного опису пінів елемента.

Опис формату вхідного файлу

Назва Компоненту
  • Ключове слово: name:
  • Приклад: name: ESP32-WT32-S1
  • Опис: Визначає назву компонента.
Властивості
  • Ключове слово: prop:
  • Приклад: prop: Reference U
  • Опис: Встановлює різноманітні властивості, такі як посилання, відбиток, посилання на технічні умови, ключові слова та опис.
Розмір Шрифту
  • Ключове слово: font:
  • Приклад: font: 1.27
  • Опис: Вказує розмір шрифту для представлення компонента.
Розмір Кроку
  • Ключове слово: step:
  • Приклад: step: 2.45
  • Опис: Визначає розмір кроку для розрахунку позицій пінів.
Розмір Компоненту
  • Ключове слово: sizep:
  • Приклад: sizep: 17 17
  • Опис: Вказує ширину та висоту компонента, розраховані на основі розміру кроку.
Розміщення Пінів та Конфігурація
  • Ключові слова: side:, [Назва Піна] [Тип Піна]
  • Приклади: side: L, GPIO36 i
  • Опис: Встановлює сторону для визначення пінів та визначає кожен пін з його назвою та типом.
Пряме Нумерування
  • Ключове слово: num:
  • Приклад: num: 1
  • Опис: Перезапускає нумерацію пінів з вказаного номера, збільшуючи для кожного наступного піна.
Зворотнє Нумерування
  • Ключове слово: rnum:
  • Приклад: rnum: 31
  • Опис: Перезапускає нумерацію пінів з вказаного номера, зменшуючи для кожного наступного піна.
Пропускання Позицій
  • Ключове слово: --
  • Опис: Пропускає одну позицію без впливу на нумерацію.
Типи Пінів

Типи пінів можуть бути як ключовими словами KiCad, такими як 'input', 'output', 'bidirectional' тощо, так і скороченнями:

  • i для входу
  • o для виходу
  • io для двонаправленого
  • vin для входу живлення (також v)
  • n для пасивного (також -)
  • vout для виходу живлення

  • для не підключеного
Розміщення

Піни розміщуються послідовно зверху вниз і зліва направо, відповідно до порядку їх визначення в сеції кожної сторони side:

Якщо знайдено більше одного запису з тим же ID, xlf_merge враховує стан перекладу (див. нижче пріоритет об'єднання) та використовує запис з найвищим пріоритетом. Якщо записи мають однаковий пріоритет, використовується 1-й, якщо не вказано -f.

Example esp32-wt32-s1.sym.in

name: ESP32-WT32-S1

prop: Reference U
prop: Footprint RF_Module:ESP32-WT32-S1
prop: Datasheet https://datasheet.lcsc.com/lcsc/2001060933_Wireless-tag-WT32-S1_C477832.pdf
prop: ki_keywords RF Radio BT ESP ESP32 Espressif Ethernet external U.FL antenna
prop: ki_description RF Module, ESP32-D0WD SoC, Wi-Fi 802.11b/g/n, Bluetooth, BLE, Ethernet RMII, 32-bit, 2.7-3.6V, PCB antenna, SMD
prop: ki_fp_filters ESP32?WT32?S1*

font: 1.27
step: 2.54
sizep: 12 12

side: L
EN  input
GPIO36  i
GPIO38  i
GPIO39  i
GPIO34  i

GPIO37  i
GPIO35  i
GPIO32  i
GPIO33  i

GPIO25  io
GPIO26  io

side: B
--
--
GPIO27  io
GPIO14  io
GPIO12  io
GPIO13  io

GPIO15  io
GPIO2  io
GPIO0  io
GPIO4  io

GPIO16  io

side: R
rnum: 31
GND -
GPIO21  io
U0TX/GPIO1 io
U0RX/GPIO3 io

GPIO22  io
GPIO19  io
GPIO23  io
GPIO18  io

GPIO5  io
GPIO17  io
VDD  vin

Usage

python kicad_symbol_generator.py <input_file> > <output_file.kicad_sym>
    or
python kicad_symbol_generator.py <input_file> <output_file.csv>

Demo




https://github.com/Alter-1/make_kicad_sym

Download: make_kicad_sym.py, use Python 3.x


2024.01.27


FB or mail alterX@alter.org.ua (remove X)   Share
Автор: Alter (Александр А. Телятников) Сервер: Apache+PHP под FBSD © 2002-2025