dobrovolskiy.com
EN
← все проектыжелезо · 2026

LTE-контроллер, сгенерированный скриптом

Полноценная плата 4G-контроллера сетевого освещения, сгенерированная целиком из Python вместо ручного черчения.

Контроллер освещения с питанием от 220 В переменного тока: четыре релейных выхода на 16 А, восемь оптоизолированных входов определения наличия 220 В, ESP32-S3 с нативной прошивкой через USB-C, LTE Cat-1 модем SIMCom A7682E и...

LTE-контроллер, сгенерированный скриптом

Контроллер освещения с питанием от 220 В переменного тока: четыре релейных выхода на 16 А, восемь оптоизолированных входов определения наличия 220 В, ESP32-S3 с нативной прошивкой через USB-C, LTE Cat-1 модем SIMCom A7682E и RTC DS3231 с батарейным питанием на двухслойной плате 175 x 115 мм.

Необычна сама методика: весь проект KiCad 10 (схема, нетлист, плата, размещение, зоны) создается самописным Python-генератором (`tools/kigen.py`), который разбирает библиотеки .kicad_sym, встраивает символы, размещает экземпляры на сетке 2,54 мм и соединяет каждый вывод глобальными метками, а затем управляет pcbnew, freerouting и kicad-cli для трассировки и производственных файлов.

Сделан за один день (08.07.2026) как намеренно дешевая конструкция из компонентов, доступных на LCSC/JLCPCB.

Что умеет

  • 4 релейных выхода Hongfa HF32FV-16 на 16 А с драйверами S8050, обратными диодами и светодиодами статуса; съемные клеммники 5,08 мм с коммутируемой L + N на каждый канал
  • 8 входов определения наличия 220 В переменного тока через оптопары LTV-817S (3x100k последовательно, встречно-параллельный 1N4148, RC-фильтр 47k/1 мкФ для сглаживания пауз между полупериодами)
  • Дерево питания: AC-DC HLK-10M05 (предохранитель 5x20 T2A + варистор 10D471K) -> понижающий TLV62585 на 3 А для шины модема 3,8 В с полимерными накопительными конденсаторами -> логическая шина 3,3 В на AMS1117
  • ESP32-S3 с нативным USB-C (GCT USB4145 + ESD USBLC6), кнопки BOOT/RESET, WiFi/BLE как резервная связь
  • LTE Cat-1 модем с micro-SIM, ESD-сборками, торцевой SMA-антенной на копланарной дорожке ~50 Ом, согласование уровней UART 1,8 В через SN74LVC1T45
  • RTC DS3231MZ с TCXO, резервным питанием от CR2032 и прерыванием будильника на GPIO
  • Зоны сетевого напряжения и логики физически разделены с выделенными классами цепей (MAINS с зазорами 2,5 мм/1,5 мм, MAINS_SENSE, POWER, RF)
  • Полностью воспроизводимо: правишь генераторы, перезапускаешь цепочку (gen_sch -> ERC -> netlist -> gen_pcb -> DSN -> freerouting -> post_route -> export_all)

Написан с нуля парсер s-выражений KiCad и генератор схем/плат (~1,5 тыс. строк Python), который встраивает библиотечные символы, вычисляет концы выводов с учетом поворота и управляет размещением и заливкой зон в pcbnew; сгенерированная схема без ошибок ERC; правила проектирования для сетевого напряжения; вся смешанная плата с сетью/RF/USB/LTE спроектирована за одну сессию. Пока не разведена — честнее назвать это проектным исследованием/демонстрацией генератора, а не изготовленной платой.

Нужно что-то похожее?

Делаю это вживую на звонке в Zoom / Яндекс Телемост, вы смотрите на экран, таймер останавливается по вашему слову. Первые 15 минут бесплатно.

Ещё проекты

Облачные контроллеры FOURLEDSКонтроллеры освещения с сотовой связью для фасадов исторических зданий: шесть плат в KiCad, прошивка на ESP-IDF, сервер управления парком, дашбордБиблиотека компонентов KiCadКурируемая библиотека символов, посадочных мест и 3D-моделей для всех плат контроллеров.Сверхлегкий просмотрщик IP-камерСверхлёгкий многокамерный просмотрщик и регистратор RTSP: десятки камер на одном слабом ПК или сервере написанный на чистом C.