Connecting the CC2530
The pin layout is different between each CC2530 module
|Webee CC2530 + CC2591|
Using a USB to serial adapter
This how-to has been confirmed working with the following CC2530 based devices:
and the following USB to serial adapters:
Flashing the firmware
Connect to CC2530 to the USB to serial adapter using the following mapping:
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 hereopen in new window
Enable UART in the Kernel and disable UART use for BlueTooth.
/boot/config.txt add following lines:
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:
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)
Change the Serial Port in your
serial: port: /dev/ttyAMA0
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.
Wire the CC2530 to the ESP8266 using the following scheme:
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 ESPEasyopen in new window
- ESP8266 firmware: ESP_Easy_mega-XXXXXXXX_normal_ESP8266_4096.binopen in new window
- More information about ESPEasyopen in new window
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 githubopen in new window
- Getting startedopen in new window
- Serial to TCP Bridge docsopen in new window
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
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
serial: port: 'tcp://192.168.2.13:20108'
Note to change the IP address and port. You can now start Zigbee2qmtt.