Zigbee2MQTTZigbee2MQTT
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Hardware
    • Adapters
    • Devices
  • Installation
    • Linux
    • Docker
    • Home Assistant addon
    • openHABian
    • Windows
    • FreeBSD jail
    • Kubernetes
    • Watchdog
    • Zigbee2MQTT fails to start/crashes runtime
  • Configuration
    • Adapter settings
    • MQTT
    • Zigbee network
    • Frontend
    • Devices and Groups
    • Logging
    • Device blocklist / passlist
    • OTA device firmware update
    • Device Availability
    • Home Assistant integration
    • More configuration options
    • Configuration update
  • Usage
    • Allowing devices to join
    • Integrations
    • Touchlink
    • Scenes
    • Binding
    • Groups
    • OTA updates
    • MQTT Topics and Messages
    • Exposes
  • FAQ

Connecting the CC2530

Pin layouts

The pin layout is different between each CC2530 module

NamePin layoutPicture
CC2530CC2530 pin layoutCC2530
Webee CC2530 + CC2591Webee CC2530 + CC2591 pin layoutCC2530 + CC2591

Using a USB to serial adapter

Confirmed working

This how-to has been confirmed working with the following CC2530 based devices:

DeviceImage
CC2530CC2530

and the following USB to serial adapters:

DeviceImage
CP2102CP2102
Flashing the firmware

The required coordinator firmware can be found here: Zigbee 1.2 and Zigbee 3.0.

Connecting

Connect to CC2530 to the USB to serial adapter using the following mapping:

USB-Serial AdapterCC2530
3V3VCC
GNDGND
TXDP02
RXDP03

Now plug in the USB-to-serial adapter in your USB port and start Zigbee2MQTT, enjoy!

To a Raspberry Pi (Zero)

CC2530 can be connected to a Raspberry PI (Zero) via GPIO Pins - no USB2FTDI is needed.

The use of UART by the installed Linux has to be disabled: Detailed explanation here

Enable UART in the Kernel and disable UART use for BlueTooth.

In /boot/config.txt add following lines:

enable_uart=1
dtoverlay=pi3-disable-bt

Disable the modem system service (on the command line):

sudo systemctl disable hciuart

Remove the console entry by removing any of those entries from /boot/cmdline.txt if present:

console=serial0,115200 console=ttyAMA0,115200

Reboot your Raspberry.

Wiring CC2530 to the Raspberry

CC C2530 -> Raspberry
VCC -> 3,3V (Pin1)
GND -> GND (Pin6)
P02 -> TXD (Pin8 / BCM 14)
P03 -> RXD (Pin10 / BCM 15)

CC2531PI

Configuring Zigbee2MQTT

Change the Serial Port in your data/configuration.yaml file:

serial:
  port: /dev/ttyAMA0

Have fun.

Via an ESP8266 as a serial to WiFi bridge

This setup allows you to connect a CC2530 to an ESP8266 which can be put everywhere in your house. Via a serial socket, Zigbee2MQTT will connect to your CC2530.

Wiring

Wire the CC2530 to the ESP8266 using the following scheme:

ESP8266CC2530
3v3VCC
GNDGND
TXP02
RXP03
GNDP20
GNDP04
GNDP05

Option 1 - Flashing the ESP8266 with ESPEasy

The ESP8266 needs to be flashed with ESPEasy. ESPEasy has sufficient documentation on how to get you up and running:

  • How to flash the ESP8266 with ESPEasy
  • ESP8266 firmware: ESP_Easy_mega-XXXXXXXX_normal_ESP8266_4096.bin
  • More information about ESPEasy

Setting up ESPEasy

Open the ESPEasy web interface and complete the setup. Afterwards open the web interface again.

Click on Devices Edit of the first task and select Communication - Serial Server from the dropdown list.

Fill in the form as following:

a.    Name: ZIGBEE2MQTT
b.    Enabled: checked
c.    TCP Port: a number between 1000 and 9999 "1775"
d.    Baud Rate: 115200
e.    Data bits: 8
f.    Parity: No Parity
g.    Stop bits: 1
h.    Reset target after boot: - none –
i.    RX receive timeout: 0
j.    Event processing: Generic

Press Submit, the setup is now completed.

Option 2 - Flashing the ESP8266 with Tasmota

The ESP8266 needs to be flashed with Tasmota firmware, "zbbridge" build. Please find flashing instructions in the following guides:

  • Tasmota github
  • Getting started
  • Serial to TCP Bridge docs

You don't need MQTT for the serial to network functionality but it is a nice option to monitor your bridge.

Setting up Tasmota

Open the Tasmota web interface and complete the basic network setup. Next in "Configuration", "Configure Module" define your RX and TX pins. The Rx/Tx are relative to the ESP device. For example with ESP8266/ESP01's hardware serial, set GPIO1 as TCP Tx and GPIO3 as TCP Rx.

Next, in Tasmota's main screen, open "Console". Enter TCPBaudRate 115200. Decide on the port number to use and set it. For example for port = 8888 run:

Rule1 ON System#Boot do TCPStart 8888 endon
Rule1 1

Zigbee2MQTT configuration

Now add the following to the Zigbee2MQTT configuration.yaml:

serial:
    port: 'tcp://192.168.2.13:20108'
    adapter: zstack

Note to change the IP address and port. You can now start Zigbee2qmtt.

Help to make the docu better and edit this page on Github ✌
Last Updated:: 5/12/25, 5:39 PM