Skip to content
A

Zigbee

Interfacing XBee S2C Zigbee with Arduino Uno

What is the XBee S2C?

XBee S2C practical reference

The industry-standard Zigbee module line, offering mature mesh-networking firmware and strong configuration tooling via XCTU. Unlike bare Zigbee chips that require custom firmware development, the XBee S2C ships with Digi's proven Zigbee mesh stack already loaded, and can be configured entirely through Digi's free XCTU desktop application without writing any radio-stack code — making it the go-to choice for reliable, professional-grade mesh sensor networks where development time matters more than per-unit cost.

Key specifications

  • Chipset: Digi XBee S2C, Zigbee mesh networking module
  • Frequency band: 2.4GHz ISM band, IEEE 802.15.4 / Zigbee
  • Operating voltage: 2.1V–3.6V DC (3.3V typical)
  • Operating current: ~33 mA TX (typical), ~28 mA RX, µA-level in sleep mode
  • Range: ~90m indoor / ~1200m outdoor line-of-sight (module-dependent, PRO variants extend this)
  • Network role: Coordinator, router, or end-device, configurable via XCTU or AT/API commands
  • Configuration: Digi XCTU desktop tool for firmware updates, network settings, and diagnostics — no custom radio stack coding required
  • Interface: UART (AT command mode or binary API frame mode) to the host microcontroller
  • Form factor: Standard XBee 20-pin through-hole footprint, compatible with common XBee shields and adapter boards

Pinout and connection notes

XBee modules use a non-breadboard-friendly 2mm pitch pin spacing, so most builders use a dedicated XBee breakout adapter or shield to convert to standard 0.1-inch headers; these adapters also typically include the necessary 3.3V regulation since the module itself is not 5V tolerant. Configuration and firmware are handled through Digi's free XCTU software over a USB-serial adapter before deployment.

  • VCC: Power, 3.3V DC (NOT 5V tolerant — most XBee shields include a regulator)
  • GND: Ground
  • DOUT (TX): UART transmit — connect to microcontroller RX
  • DIN (RX): UART receive — connect to microcontroller TX
  • RESET: Active-LOW module reset
  • ASSOCIATE: Indicates network association status via LED blink pattern
  • CTS/RTS: Optional UART hardware flow control pins

Integration checklist

  1. Confirm the exact part number and breakout-board revision.
  2. Verify supply voltage, current demand, logic levels, and signal direction against the datasheet.
  3. Check controller pin assignments and bus address or interface mode against the example code.
  4. Power up with external loads disconnected, then test signals before full integration.
  5. If readings or communication fail, check power and ground first, then pin mapping, interface settings, and library initialization.

Troubleshooting and reproducibility

Record the board used, wiring, library/version, supply arrangement, and measured behavior. Use the selected board-specific wiring example as the source of truth. Never assume visually similar modules share identical voltage tolerance or pin order.

Setting Up XBee S2C with Arduino Uno

Library

SoftwareSerial by Arduino core

Built into the Arduino core — no install needed, just #include <SoftwareSerial.h>. An XBee Explorer/adapter board (with level shifting) is the recommended way to wire this, rather than direct jumper wires.

Wiring

Component pinArduino Uno pinNote
VCC—3.3V ONLY — this module is not 5V tolerant on power. Use a dedicated 3.3V regulator or an XBee Explorer board, not the Arduino 3.3V pin if driving anything else from it too.
GNDGND
DOUT (TX)D2 (RX)Module output is 3.3V logic — Arduino reads this fine as HIGH.
DIN (RX)D3 (TX) via dividerUse a voltage divider or logic-level shifter — DIN is not 5V tolerant.

Swipe sideways to see every column →

C++
  • Every XBee S2C ships in a mesh (ZigBee) network role that must be configured in XCTU (coordinator/router/end device) before it will talk to another XBee — fresh out of the box, two XBees will not automatically pair like an HC-05 does.
  • This module is strictly 3.3V — unlike some "5V tolerant" sensor modules, feeding 5V into VCC can permanently damage it. An XBee Explorer USB or Explorer Regulated board handles the level shifting and regulation safely.
  • In transparent (AT) mode this behaves like a wireless serial cable once configured; API mode gives structured packets with addressing but needs the library-level API frame parsing instead of raw byte pass-through.

Related Components

Related Guides & Projects