Connecting the CC2530 #

Pin layouts #

The pin layout is different between each CC2530 module

Name Pin layout Picture
CC2530 CC2530 pin layout CC2530
Webee CC2530 + CC2591 Webee CC2530 + CC2591 pin layout CC2530 + CC2591

Using a USB to serial adapter #

Confirmed working #

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

Device Image
CC2530 CC2530

and the following USB to serial adapters:

Device Image
CP2102 CP2102
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 Adaper CC2530
3V3 VCC
GND GND
TXD P02
RXD P03

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:

ESP8266 CC2530
3v3 VCC
GND GND
TX P02
RX P03
GND P20
GND P04
GND P05

Option 1 - Flashing the ESP8266 with ESPEasy #

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

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:

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'

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