
HF PA v10
kholia/HF-PA-v10
HF-PA-v10 ;) Is this the end of the search for a 5W Digital PA? HF-PA-v10 is now a rugged 10W PA! We also do 100W+ now ;)

Zigbee-устройства для Алисы и умного дома Яндекса на ESP32-C6: прошивка, тесты и будущая PCB.
Zigbee LED Controller is an open-source printed circuit board by VlasovLabTech, from the VlasovLabTech/Zigbee-ESP32-C6-Alice repository on GitHub, published under the MIT licence. It is a 2-layer board of 47 × 35 mm with 51 parts on 42 nets, routed with 461 tracks and 11 vias.
It is built around the UCC27517DBVR-TP, BSC014N04LSATMA1 and IPD068P03L3G. Its parts include 21 resistors, 13 capacitors, 8 connectors, 4 ICs and 4 transistors. It belongs with the radio and wireless and home automation and IoT boards and the ESP32 and RISC-V boards of this library.
Открытый проект Zigbee 3.0-устройств на ESP32-C6 для Алисы, Яндекс Станции и умного дома Яндекса. Первая рабочая цель — контроллер света, который определяется как стандартное Zigbee-устройство и управляется из приложения «Дом с Алисой» и голосом через умную колонку Алиса.
Проект не ограничивается одним светильником: в дальнейшем здесь могут появиться простые кнопки, датчики, реле и другие Zigbee-устройства. Это не заявка на большую закрытую экосистему, а небольшой набор понятных и воспроизводимых устройств, которые можно собрать самостоятельно.
[!IMPORTANT] Текущая beta-версия —
0.1.0-beta.6. Прошивка и карта endpoint'ов ещё могут меняться. Сейчас проект предназначен для разработки и безопасных низковольтных экспериментов, а не для готового сетевого или силового изделия.
Проект независимый и не связан с компаниями Яндекс или Espressif. «Алиса», «Яндекс Станция» и «Дом с Алисой» упоминаются только для описания совместимости.
| Возможность | Состояние | Подтверждение |
|---|---|---|
| Zigbee End Device на ESP32-C6 | ✅ | прошивка собирается и запускается на nanoESP32-C6 V1.0/V1711 |
| Минимальный On/Off MVP | ✅ | обнаружение и On/Off проверены с Яндекс Станцией 2 |
Основной профиль 2 Dimmable + 1 Addressable RGB | ✅ | после полного удаления старого узла Яндекс Станция 2 обнаружила все три endpoint |
| Реальные GPIO/PWM/RMT-выходы | ✅ | оба PWM проверены осциллографом; 93-пиксельная RGB-лента управляется цветом, яркостью и оттенками белого |
| Три локальные клавиши | ⚠️ | GPIO назначены, debounce и короткое нажатие реализованы; нужна физическая проверка |
| Физическая кнопка подключения | ⚠️ | логика удержания BOOT 5 секунд реализована; чистое сопряжение подтверждено Serial-командой, физическую кнопку ещё нужно проверить |
| Собственная PCB | ⚠️ | схема и предварительная PCB разрабатываются; плата ещё не изготовлена |
Полный актуальный список задач и критериев готовности находится в
TASKS.md. Наблюдённые результаты собраны в
docs/compatibility.md.
2 Dimmable + 1 Addressable RGB:
| Endpoint | Тип устройства |
|---|---|
| 1 | Dimmable Light, PWM GPIO20 |
| 2 | Dimmable Light, PWM GPIO21 |
| 3 | Color Dimmable Light, физически одна адресная RGB-лента на GPIO22 |
Оба силовых выхода сразу представлены Алисе как диммируемые. Значение яркости
0 выключает канал, поэтому отдельные On/Off endpoint'ы не нужны. Адресная
RGB-лента использует один цифровой DATA-выход, а не три PWM-линии. Эта карта
одинакова для отладочной nanoESP32-C6 и собственной компактной PCB.
Endpoint 3 поддерживает включение, отдельную регулировку яркости, цвет XY и
цветовую температуру примерно 2000–6500 K. Все три карточки подтверждены в
приложении «Дом с Алисой» с Яндекс Станцией 2.
Один стандартный Home Automation On/Off Light (0x0100) на endpoint 1.
Это самый простой проверенный пример для первого подключения к Яндекс Станции 2.
flowchart LR
A[Алиса / приложение<br>«Дом с Алисой»] --> B[Яндекс Станция 2<br>Zigbee-координатор]
B <-->|Zigbee 3.0| C[ESP32-C6<br>Zigbee End Device]
C --> D[Стандартные Zigbee endpoint'ы]
D --> E[GPIO20/21<br>2 × PWM 25 кГц]
D --> F[GPIO22<br>Addressable RGB DATA]
G[GPIO0/1/2<br>локальные кнопки] --> C
H[BOOT / GPIO9<br>commissioning] --> CESP32-C6 самостоятельно работает как Zigbee End Device. Для управления не нужны Wi-Fi, MQTT, Raspberry Pi, внешний сервер или дополнительный микроконтроллер. Яндекс-специфичных кластеров и обходных решений в прошивке нет: обнаружение и управление строятся на стандартных Zigbee-кластерах.
Не любая колонка с Алисой является Zigbee-координатором. Нужна Яндекс Станция или отдельный хаб с поддержкой Zigbee. На данный момент фактически проверена только Яндекс Станция 2; совместимость с другими моделями пока не заявлена.
Проект развивается сразу по двум практичным направлениям:
nanoESP32-C6 V1.0/V1711
с модулем ESP32-C6-WROOM-1-N16.Отладочная плата не станет устаревшим вариантом после появления собственной
PCB: обе ветки останутся полезными для разных сценариев. Подробнее — в
docs/hardware.md.
Скрипты используют проект-локальные Arduino CLI и Arduino-ESP32. Системная установка Arduino IDE не обязательна.
git clone https://github.com/VlasovLabTech/Zigbee-ESP32-C6-Alice.git
Set-Location Zigbee-ESP32-C6-Alice
.\scripts\setup.ps1Проверка окружения и простого RGB-примера:
.\scripts\build.ps1 -Target smokeПроверенный одноканальный Zigbee MVP:
.\scripts\build.ps1 -Target mvpОсновной профиль 2 Dimmable + 1 Addressable RGB для отладочной платы:
.\scripts\build.ps1 -Target universalПроверка сборки того же профиля для компактной PCB:
.\scripts\build.ps1 -Target universal-pcbНе выбирайте COM-порт по старой записи или наугад.
ESP32-C6.Команды определения, первого стирания и загрузки описаны в
docs/build-and-test.md. Полное стирание уничтожает
прошивку и NVS выбранной платы, поэтому оно не выполняется автоматически.
mvp или основной universal-профиль.115200.universal-профиля дождитесь появления трёх устройств в
приложении; для минимального mvp появится одна лампа. Затем проверьте строку
zigbee=connected в ответе Serial-команды status.Поиск хаба ограничен по времени, поэтому сначала запускайте его в приложении, а затем удерживайте и отпускайте BOOT. Актуальный интерфейс приложения описан в официальной инструкции Яндекса.
Если Zigbee-сети в NVS ещё нет, Zigbee.begin() начинает commissioning сразу,
поэтому кнопку при самой первой чистой прошивке нажимать не требуется. Если
сеть сохранена, устройство возвращается только в неё и не остаётся постоянно
доступным для нового подключения.
Если Алиса голосом сообщает, что устройство найдено, но новые карточки не
появляются, чаще всего хаб повторно использует старую запись того же физического
узла. Удалите старые карточки полностью, затем очистите привязку на ESP командой
zigbee-reset или удержанием и отпусканием BOOT и повторите поиск.
Резервный способ перевода MVP в новое сопряжение через Serial Monitor:
factory-resetДля универсальной прошивки используется команда:
zigbee-resetОна очищает только состояние Zigbee-сети и перезагружает устройство.
Пользовательское состояние каналов хранится отдельно. Команда factory-reset
универсальной прошивки сбрасывает и Zigbee-сеть, и пользовательское состояние.
[!WARNING] На отладочной плате сервисной кнопкой временно служит BOOT/GPIO9. Она не заменяет отдельную защищённую SERVICE-кнопку будущей PCB. Полный сброс пользовательского состояния по-прежнему выполняется только командой
factory-reset, чтобы его нельзя было вызвать случайным нажатием.
Публичные настройки находятся в
firmware/universal_zigbee_device/UserConfig.h.
По умолчанию выбран профиль 2 Dimmable + 1 Addressable RGB и backend для
nanoESP32-C6 V1.0/V1711.
| Функция | GPIO | Электрический смысл |
|---|---|---|
| Endpoint 1, Dimmable 1 | 20 | PWM 25 кГц, 11 бит; duty 0 выключает канал |
| Endpoint 2, Dimmable 2 | 21 | PWM 25 кГц, 11 бит; duty 0 выключает канал |
| Endpoint 3, Addressable RGB DATA | 22 | WS2812-совместимый RMT; порядок RGB/GRB настраивается, по умолчанию RGB |
| Клавиши endpoint'ов 1–3 | 0, 1, 2 | нормально разомкнутая кнопка между GPIO и GND |
| Сервисное сопряжение | 9 | штатная BOOT, удержать 5 секунд после загрузки и отпустить |
| Индикатор состояния | 8 | WS2812 на nanoESP32-C6; обычный active-low LED на компактной PCB |
При включении индикатор GPIO8 вспыхивает три раза, затем делает одну короткую вспышку каждые 5 секунд. На отладочной плате цвет фиолетовый; обычный одноцветный светодиод компактной PCB повторяет тот же ритм без управления цветом.
По умолчанию задано 93 пикселя; пользователь может изменить число от 1 до 300 в
UserConfig.h. Число пикселей и порядок цветовых байтов задаются через
ZD_ADDRESSABLE_RGB_LED_COUNT и ZD_ADDRESSABLE_RGB_COLOR_ORDER. Стартовый
стендовый рисунок удалён: после включения лента восстанавливает сохранённое
состояние, а системную индикацию выполняет только отдельный GPIO8.
Основные Serial-команды:
help
status
key <1..3>
set dim <1..2> <on|off> <0..255>
set rgb <on|off> <r> <g> <b> <level>
all-off
save-now
reboot
zigbee-reset
factory-resetКоманда key 1…key 3 имитирует короткое нажатие соответствующей локальной
клавиши и остаётся удобной для диагностики без физического подключения.
Точный список и примеры приведены в
docs/build-and-test.md. Команда status намеренно
не выводит сетевые ключи, адреса и другие приватные данные.
Встроенный адресный RGB-светодиод nanoESP32-C6 подключён к GPIO8 и используется
только как индикатор состояния, а не как отдельный управляемый канал. Отсутствие
свечения само по себе не доказывает отказ Zigbee: проверяйте Serial-команду
status и сообщения [status-led].
GPIO20…GPIO22 являются только логическими выходами 3,3 В. Не подключайте к ним ленту, реле, MOSFET-затвор с большой ёмкостью, 12 В или сетевое напряжение без проверенного драйвера. Для WS2812 с питанием 5 В нужен подходящий level shifter, общее соединение GND и отдельное рассчитанное питание ленты.
firmware/
led_smoke_test/ проверка встроенного RGB-светодиода
zigbee_on_off_light/ минимальный подтверждённый On/Off MVP
universal_zigbee_device/ основной профиль и два аппаратных backend'а
docs/
build-and-test.md сборка, загрузка и проверка
compatibility.md только наблюдённые результаты
hardware.md отладочная плата и будущая PCB
troubleshooting.md диагностика типовых проблем
scripts/
setup.ps1 локальная установка инструментов
build.ps1 воспроизводимая сборка целей
TASKS.md живой план и критерии готовности
ROADMAP.md направления развитияЛокальные настройки, журналы, дампы и рабочие материалы следует хранить в
.local/ или output/. Эти каталоги исключены через .gitignore и не попадут
в GitHub. Никогда не добавляйте в репозиторий Zigbee network key, PAN ID,
IEEE/MAC-адреса, учётные данные, полный flash/NVS dump или персональные логи.
Сообщения о воспроизводимых ошибках, результаты совместимости с другими
Яндекс Станциями и Zigbee-хабами, исправления документации и проверенные
аппаратные предложения приветствуются. Перед публикацией удалите из журналов
все сетевые и персональные идентификаторы. Правила описаны в
CONTRIBUTING.md, а конфиденциальные уязвимости следует
сообщать по инструкции из SECURITY.md.
Прошивка и документация распространяются по лицензии MIT. Лицензия будущих исходников PCB будет отдельно зафиксирована до их публикации.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2, R3, R4, R5, R6, R8, R12, R18, R21 |
| 3 | 100R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R7, R11, R15 |
| 3 | 100n | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C8, C10, C12 |
| 3 | 1u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C9, C11, C13 |
| 2 | 100k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R17, R20 |
| 2 | 10R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R9, R13 |
| 2 | 10u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C6, C7 |
| 2 | 220u/25V | Capacitor_Tantalum_SMD:CP_EIA-7343-31_Kemet-D_HandSolder | C1, C2 |
| 2 | 47k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R10, R14 |
| 2 | BSC014N04LS | Zigbee_LED_Controller:Infineon_PG-TDSON-8_6.15x5.15mm_HandSolder_Pins1-8 | Q1, Q2 |
| 2 | UCC27517DBVR | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | U3, U4 |
| 1 | 100n/50V | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C5 |
| 1 | 10u/25V | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C4 |
| 1 | 12V INPUT | Zigbee_LED_Controller:TerminalBlock_WJ350_1x02_P3.5mm | J1 |
| 1 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R16 |
| 1 | 220u/25V DNP | Capacitor_Tantalum_SMD:CP_EIA-7343-31_Kemet-D_HandSolder | C3 |
| 1 | 2N7002 | Package_TO_SOT_SMD:SOT-23_Handsoldering | Q4 |
| 1 | 4.7k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R19 |
| 1 | BTN1 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J6 |
| 1 | BTN2 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J7 |
| 1 | BTN3 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J8 |
| 1 | DOIT ESPC6-32-N4 | Zigbee_LED_Controller:ESP32-C6-WROOM-1_DOIT_ESPC6-32 | U2 |
| 1 | EP1 DIMMABLE OUT | Zigbee_LED_Controller:TerminalBlock_WJ350_1x02_P3.5mm | J3 |
| 1 | EP2 DIMMABLE OUT | Zigbee_LED_Controller:TerminalBlock_WJ350_1x02_P3.5mm | J4 |
| 1 | EP3 ARGB 12V / DATA / GND | Zigbee_LED_Controller:TerminalBlock_WJ350_1x03_P3.5mm | J5 |
| 1 | IPD068P03L3G | Package_TO_SOT_SMD:TO-252-2 | Q3 |
| 1 | Mini360 / MP2307DN / 3.3V | Zigbee_LED_Controller:Mini360_17.9x12_PRELIMINARY | U1 |
| 1 | STATUS | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D1 |
| 1 | UART PROGRAMMER 2x3 | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J2 |

kholia/HF-PA-v10
HF-PA-v10 ;) Is this the end of the search for a 5W Digital PA? HF-PA-v10 is now a rugged 10W PA! We also do 100W+ now ;)

AronASzucs/Avalanche32
Handheld ESP32-S3 Geiger counter with a firmware-regulated 400 V boost, SBM-20 tube, USB-C charging and OLED display.

vehiclewaxberry/Space-Embodied-Robot-Complete
航天服务星具身智能机械臂机器人 | Space Service Robot with Embodied Intelligence — mechanical, electrical & harness, power & thermal, and propulsion hardware design.

GodessOfBun/ESP32-LED-Strip-Controller
A PCB Designed to control LED Strips with up to 5 optional channels

Lafayette-Motorsports/LVBoards
LV Board repository for Motorsports created 09.02.2025



Just-smart-enough/BATTERY_ISOLATOR_V1.1_PCB
A prototype 12V RV battery isolator
It measures 47 × 35 mm and has 2 copper layers, 1.6 mm thick.
51 parts, built around the UCC27517DBVR-TP, BSC014N04LSATMA1 and IPD068P03L3G. 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.
From the VlasovLabTech/Zigbee-ESP32-C6-Alice repository on GitHub, at the commit this page was made from: the board is hardware/zigbee_led_controller/Zigbee_LED_Controller.kicad_pcb and its schematic hardware/zigbee_led_controller/Zigbee_LED_Controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
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).