Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



72 Commits

Repository files navigation


Programmable XBee Trigger that is ZigBee Home Automation profile compliant. Possible to integrate with SmartThings Hub v3 or a separate ZigBee / XBee network. Includes a reference hardware design up to 4 channels with a full BOM, perfect for DIYselfers out there.

Used in real life to automate garage / gate automatons.

Hardware example


An assembled board without a mounted XBee radio. Metric scale for reference (cm.). Board dimension - 51 x 57 mm.

Bill of Materials (BOM)

Designator Component Manufacturer Quantity SKU / Part nr. Spec Option
XB1 Programmable XBee (with RPSMA) Digi 1 XBP24CZ7SITB003 PDF
BR1 Bridge Rectifier DF01M ON Semiconductor 1 Mouser No: 512-DF01M PDF
C1 (C2) Electrolytic Capacitor - Radial 220uF 50V Panasonic. 1-2 Mouser No: 667-EEU-FM1H221. PDF.
PS1 DC/DC Isolated Converter Cosel MGFS1R5243R3 Cosel 1 Mouser No: 436-MGFS1R5243R3 PDF
Q1,Q2,Q3,Q4 Bipolar Transistor BC548BTA ON Semiconductor 4 Mouser No: 512-BC548BTA PDF
D1,D2,D3,D4 Diode 1N4004 ON Semiconductor 4 Mouser No: 863-1N4004RLG PDF
K1,K2,K3,K4 General Purpose Relay (APAN3103) Panasonic 4 Mouser No: 769-APAN3103 PDF
R1,R2,R3,R4 Resistor RN55D1801FB14 Vishay 4 Mouser No: 71-RN55D1801FB14 PDF
XB1 10 pin header for XBee Harwin 2 Mouser No: 855-M22-7131042 PDF
J1 2 pin Terminal Block (PCB) Molex 1 Mouser No: 538-39501-1002 PDF A
2 pin Terminal Plug Molex 1 Mouser No: 538-39500-0002 PDF A
J2 9 pin Terminal Block (PCB) Molex 1 Mouser No: 538-39501-1009 PDF A
9 pin Terminal Plug Molex 1 Mouser No: 651-1908101 PDF A
J1 2 pin Fixed Terminal Block (PCB) Molex 1 Mouser No: 538-39357-0002 PDF B
J2 9 pin Fixed Terminal Block (PCB) Molex 1 Mouser No: 538-39357-0009 PDF B
Antenna with RP-SMA Connector Linx Technologies 1 Mouser No: 712-ANT-2.4-CW-RAH PDF
JP1 6 pin Debug Header Molex 1 Mouser No: 538-22-28-8065 PDF O
J3 2 pin Reset Header Molex 1 Mouser No: 538-22-28-5027 PDF O

Standard 3.5 width headers are used. Option A) uses pluggable termination; B) Fixed screw termination; O) Parts are optional and meant for development; Components can easily be switched with other termination blocks or use direct wire soldering.


  • On 32bit Linux target, simply: make
  • On 64bit Linux target:
    • Intall 32bit compatible libraries: sudo apt-get install lib32stdc++6
    • make
  • On MacOS:
    • Install Docker
    • make builddocker
    • make dall



Send a Unicast ZCL "On" command to trigger the connected relay for 125ms (Relay 1). The state of the switch remains in "Off" state. Broadcast command is ignored by default.

Endpoint: 0xEA,
clusterId: 0x0006,
profileId: 0x0104,
command: 0x01


The following defines can be altered in custom.h prior to compilation to change the behavior how the Trigger works:

Name Description Default
PXBEE_TRIGGER_IGNORE_BROADCAST When enabled, ignores broadcast commands and reacts only when unicast messages are sent to the specific address (ignores All On/All Off commands). Enabled
ZCL_MANUFACTURER The reported manufacturer string. For SmartThings local execution support without custom device handler, set this to "Leviton". "PXBee"
ZCL_MODEL The reported model string. For SmartThings local execution support without custom device handler, set this to "ZSS-10". "Trigger"


Endpoint Description
0xEA Relay 1
0xEB Relay 2
0xEC Relay 3
0xED Relay 4
0xEE Auxiliary binary input endpoint


This project is based on exsilium/pxbee-blink-led boilerplate and includes the full Digi XBee SDK version 1.6.0 sources.

Includes the necessary build binaries:

HI-CROSS+ ANSI-C Compiler for HC08 V-5.0.39, Dec 13 2011
HI-CROSS+ SmartLinker V-5.0.48, Dec 13 2011
HI-CROSS+ Burner V-5.0.16, Dec 13 2011
(c) Copyright Freescale 1987-2010

If not otherwise noted, the added code is BSD licensed.


Programmable XBee trigger for relay impulse. For automating things that are not yet automated.








No packages published