Connecting the CC2530 #
Pin layouts #
The pin layout is different between each CC2530 module
Name | Pin layout | Picture |
---|---|---|
CC2530 | ![]() |
![]() |
Webee 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 | ![]() |
and the following USB to serial adapters:
Device | Image |
---|---|
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)
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:
- 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:
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.