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

Контроллер освещения с питанием от 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 минут бесплатно.