Skip to the content
2 layers72 × 45 mmBrizer ZigBee, the printed circuit board in 3D

Ядром проекта является микроконтроллер ATmega328P. Для работы по протоколу ZigBee используется модуль E18-MS1-PCB.

Size
72 × 45 mm
Copper layers
2
Thickness
1.6 mm
Parts
48
Nets
83
Pads
196
Tracks, vias
442, 99
Pours
3
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
19 Oct 2021
Updated
19 Oct 2021

Overview

Brizer ZigBee is an open-source printed circuit board by kvazimoda24, from the kvazimoda24/TionO2-ZigBee repository on GitHub. It is a 2-layer board of 72 × 45 mm with 48 parts on 83 nets, routed with 442 tracks and 99 vias.

It is built around the ATMEGA328P-AU, E18-MS1-PCB and AMS1117-3.3, with the TXS0108EPW and IRF5852TRPBF-VB among its other parts. Its parts include 22 resistors, 8 capacitors, 6 connectors, 4 ICs and 3 transistors. It belongs with the radio and wireless boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

5

README

README.md

README.md

Проект для подключения бризера Tion O2 к умному дому через протокол ZigBee

Отлаживалось на бризерах выпущенных в октябре 2020 года. На экземплярах выпущенных раньше или позже может использоваться другой дисплей или другая прошивка.

В бризере в качестве контроллера ЖК дисплея используется микросхема HOLTEK HT1622.
Основная идея заключается в том, что мы цепляемся паралельно входу этой микросхемы и снифим данные, отправляемые в неё.
Для управления замыкаем выводы кнопок панели управления бризера имитируя, таким образом, нажатия на них.

Ядром проекта является микроконтроллер ATmega328P.
Для работы по протоколу ZigBee используется модуль E18-MS1-PCB. Так же пробовал модуль E18-MS1PA1-PCB, но из-за встроенного усилителя он слишком много потребляет, и его не вытягивает встроенный блок питания бризера.

Статус

При изменениях температуры или режима работы бризера, а также примерно каждые 20 минут на координатор отправляется текущий статус бризера.
Посылка представляет JSON вида: {"PWR":"1","APW":"1","OUT":"5","SPD":"3","HTE":"1","TMS":"0","HTT":"18"}
Параметры:
PWR - работает бризер или в режиме standbuy (0 - standbuy, 1 - работает)
APW - включён ли режим автоматического включения после сбоя питания. Если 1, то после подачи питания, если на момент сбоя бризер был включён, то бризер включится.
OUT - температура входящего воздуха
SPD - скорость работы вентилятора (от 1 до 4)
HTE - включён ли подогрев воздуха
HTT - до какой температуры подогревается входящий воздух
FLT - осталось дней до замены фильтров
MNT - минимально допустимая температура входящего воздуха
TIM - текущее время (формат ЧЧММ)
TMS - включён ли таймер включения/выключения
TME - время включения (формат ЧЧММ)
TMD - время выключения (формат ЧЧММ)
ERROR - в случае, если бризер отобразил ошибку, то будет отправлен только этот параметр, в значении будет строка с ошибкой. Так же, в случае, если не удалось распознать данные на дисплее, то в значении будет пусто.

Управление

Для управления необходимо отправить строку, содержащую одну или несколько команд.
Строка состоит из названия параметра, разделителя, значения параметра. Разделителем является двоеточие ":".
Можно отправить разом несколько параметров. В этом случае параметры должны отделаться друг от друга запятой ","
Оканчиваться строка должна символом возврата каретки (код символа 0x0D).
Максимальная длинна строки 127 символов.
Параметры будут применяться в том же порядке, что и в отправленной команде.
Если встречается ошибочный параметр, то дальнейший разбор строки прекращается.

Пример строки: PWR:1,SPD:2,HTE:1,HTT:17\r

Сами параметры аналогичны тем, что перечислены в статусе, за исключением параметра FLT - изменение срока замены фильтров я не реализовывал, т.к. не увидел необходимости в этом.
Так же, добавлена дополнительная команда EXS. Значение можно выставить любое число до 4 знаков, например 1.
При получении этой команды контроллер проходит по всем настройкам бризера и отправляет их координатору ZigBee сети. Это нужно, чтобы получить текущие значения таймеров, текущего времени, срока службы фильтров и минимально допустимой температуры.

На стороне координатора я использую проект zigbee2mqtt. В нём статус можно получить по адресу zigbee2mqtt/device_id/action Строка с командами же отправляется по адресу zigbee2mqtt/device_id/set/action содержимое PWR:1,SPD:2,HTE:1,HTT:17

Каталоги и файлы

arduino - проект в Arduino IDE версии 1.8.16 - сдесь код для контроллера ATmega328P
kicad - проект в kiCAD версии 5.0.2 - схема платы, печатная плата и готовые герберы.
CC2530 - прошивки для ZigBee модулей
TION-O2_ZIGBEE.js - файл описания устройства для zigbee2mqtt. Его надо положить в каталог data проекта zigbee2mqtt и прописать в файле configuration.yaml:

text
external_converters:
  - TION-O2_ZIGBEE.js

Прошивка для ZigBee модуля создана с помощью контруктора прошивок с сайта https://ptvo.info
Вдохновлялся проектом https://hackaday.io/project/168959-let-me-control-you-hitachi-air-conditioner

Parts

48
QtyValueFootprintReferences
111KOhmlibrary:R_0805_2012MetricR7, R9, R10, R11, R12, R13, R15, R16, R20, R21, R22
910KOhmlibrary:R_0805_2012MetricR1, R2, R3, R4, R6, R8, R14, R17, R18
4MountingHole_3.2mm_M3MountingHole:MountingHole_3.2mm_M3, , ,
3IRF5852TRPBFlibrary:TSOP-6_1.65x3.05mm_P0.95mmQ1, Q2, Q3
20.1mkFlibrary:C_1206_3216MetricC4, C5
210mkFlibrary:C_0805_2012MetricC3, C7
222pFlibrary:C_0805_2012MetricC1, C2
110mkFlibrary:CP_EIA-3528-21_Kemet-BC6
1160Ohmlibrary:R_0805_2012MetricR19
116MHzlibrary:Crystal_SMD_HC49-SDY1
122mkFlibrary:C_0805_2012MetricC8
1330Ohmlibrary:R_0805_2012MetricR5
1AMS1117-3.3library:SOT-223-3_TabPin2U4
1ATmega328P-AUPackage_QFP:TQFP-32_7x7mm_P0.8mmU1
1AVR_ICSPlibrary:PinHeader_2x03_P2.00mm_VerticalJ3
1BRIZER_CONlibrary:IDC-Header_2x05_P2mm_VerticalJ1
1Busy LEDlibrary:PinHeader_1x02_P2.54mm_VerticalJ2
1CC2530_DEBUGlibrary:PinHeader_2x05_P2.00mm_VerticalJ4
1E18-MS1-PCBlibrary:E18-MS1PA1-PCBU3
1Pair Buttonlibrary:PinHeader_1x02_P2.54mm_VerticalJ5
1Pair LEDlibrary:PinHeader_1x02_P2.54mm_VerticalJ6
1TXS0108EPWPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU2

Similar boards

  • 2 layers59.5 × 27 mmDesk lamp cc2530, the printed circuit board in 3D

    Desk lamp cc2530

    Czubixx/zigbee-desk-lamp

    DIY Zigbee desk lamp based on CC2530 controllable smart light for workbench/desk use.

    28 parts
  • 2 layers87.6 × 35.6 mmYNXT WM01, the printed circuit board in 3D

    YNXT WM01

    RJSDevel/YNXT-WM01

    Zigbee Water meter device

    45 parts9GPL-3.0
  • 2 layers100 × 75 mmSmart roller gate controller, the printed circuit board in 3D

    Smart roller gate controller

    vooon/smart-roller-gate-controller

    ESP32 based roller gate controller with ZigBee remotes

    44 parts2GPL-3.0
  • 2 layers58 × 100 mmSensor node, the printed circuit board in 3D

    Sensor node

    unicab369/ESP-MESS

    I am building a Wireless Bridge System that can manage multiple devices using a variety of wireless technologies.

    106 parts
  • 2 layers100 × 100 mmReflowOvenController, the printed circuit board in 3D

    ReflowOvenController

    wangyeee/OpenHardware

    Collections of hardware design related to my drone project.

    102 parts10BSD-3-Clause
  • 2 layers94.5 × 74.4 mmAx58100-stm32-ethercat, the printed circuit board in 3D

    Ax58100-stm32-ethercat

    MetalMusings/MyOwnEtherCATDevice

    Documentation accompanying the "Make My Own EtherCAT device" video serie on Youtube.

    184 parts93

Questions

How big is the Brizer ZigBee PCB?

It measures 72 × 45 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Brizer ZigBee use?

48 parts, built around the ATMEGA328P-AU, E18-MS1-PCB, AMS1117-3.3 and TXS0108EPW. 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 Brizer ZigBee KiCad files?

From the kvazimoda24/TionO2-ZigBee repository on GitHub, at the commit this page was made from: the board is kiCAD/Brizer-ZigBee/Brizer-ZigBee.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Brizer ZigBee design in my own project?

Its repository states no licence, so its author keeps all rights: ask kvazimoda24 before reusing the design.