The pin layout is different between each CC2530 module
Name | Pin layout | Picture |
---|---|---|
CC2530 | ![]() |
![]() |
Webee CC2530 + CC2591 | ![]() |
![]() |
This how-to has been confirmed working with the following CC2530 based devices:
Device | Image |
---|---|
CC2530 | ![]() |
and the following USB to serial adapters:
Device | Image |
---|---|
CP2102 | ![]() |
The required coordinator firmware can be found here: Zigbee 1.2 and Zigbee 3.0.
Connect to CC2530 to the USB to serial adapter using the following mapping:
USB-Serial Adapter | 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!
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.
CC C2530 -> Raspberry
VCC -> 3,3V (Pin1)
GND -> GND (Pin6)
P02 -> TXD (Pin8 / BCM 14)
P03 -> RXD (Pin10 / BCM 15)
Change the Serial Port in your data/configuration.yaml
file:
serial:
port: /dev/ttyAMA0
Have fun.
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.
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 |
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
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.
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.
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
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.