---
title: Digi XBee and XBee3 cellular and WiFi modules
---
# Digi XBee and XBee3 cellular and WiFi modules (group)
**Module:** **[Supported Modules](group__group__supported__modules.html)** **/** **[Digi](group__group__digi.html)** **/** **[Digi XBee and XBee3 cellular and WiFi modules](group__digi__xbee.html)**
Manufacturer: Digi. Models: XBee and XBee3 cellular and WiFi modules.
## Connection Information
- Combined TCP/SSL sockets:
- 1
- The much more complicated (and unsupported) API mode is needed for multiplexing.
- Socket Buffering:
- The modem does **not** have an internal buffer for incoming data.
- You must set the buffer size in this library to be larger than your largest expected incoming packet, or you will lose incoming data.
- Socket Numbering:
- Only one socket is available in transparent/command mode, and it is always channel 0.
- The mux argument on the client constructor and init() is ignored.
**Todo**: [todo](todo.html#_todo000021)
## Supported Public Functions
- [TinyGsmXBee](../classes/class_tiny_gsm_x_bee.md)
- GSM Modem Constructor
- [TinyGsmXBee(Stream& stream)](../classes/class_tiny_gsm_x_bee.md#ac58736666fd96eac88bcae17b41b6a12)
- [TinyGsmXBee(Stream& stream, int8_t resetPin)](../classes/class_tiny_gsm_x_bee.md#a53c25a4426c4808f87ba5000e94f3d12)
- Basic functions ([TinyGsmModem.tpp](../files/_tiny_gsm_modem_8tpp.md))
- [begin(const char* pin = nullptr)](../classes/class_tiny_gsm_modem.md#ae4397a65939a770e478e29c718d13e59)
- [init(const char* pin = nullptr)](../classes/class_tiny_gsm_modem.md#a27f7f71fb1a2008dc57f6d454564022c)
- [sendAT(Args... cmd)](../classes/class_tiny_gsm_modem.md#afa190e606feb7831c86094577064d2e6)
- [setBaud(uint32_t baud)](../classes/class_tiny_gsm_modem.md#a279bffb4e905f1150dadab726e8482f2)
- [forceModemBaud(StreamObject& at_serial, uint32_t targetBaud)](../classes/class_tiny_gsm_modem.md#a0ff68001b77fed375db7e048bc5ab5f4)
- [testAT(uint32_t timeout_ms = 10000L)](../classes/class_tiny_gsm_modem.md#a5bfedec6b19edfbcbc0a5832fff7d603)
- [waitResponse(uint32_t timeout_ms, String& data, GsmConstStr r1 = GFP(ModemConfig::GSM_OK), GsmConstStr r2 = GFP(ModemConfig::GSM_ERROR), GsmConstStr r3 = nullptr, GsmConstStr r4 = nullptr, GsmConstStr r5 = nullptr, GsmConstStr r6 = nullptr, GsmConstStr r7 = nullptr, GsmConstStr r8 = nullptr)](../classes/class_tiny_gsm_modem.md#a4416426fc61492fcb761139b85f1535b)
- [waitResponse(uint32_t timeout_ms, GsmConstStr r1 = GFP(ModemConfig::GSM_OK), GsmConstStr r2 = GFP(ModemConfig::GSM_ERROR), GsmConstStr r3 = nullptr, GsmConstStr r4 = nullptr, GsmConstStr r5 = nullptr, GsmConstStr r6 = nullptr, GsmConstStr r7 = nullptr, GsmConstStr r8 = nullptr)](../classes/class_tiny_gsm_modem.md#a5d04ca30762417cd04f0df3b620b6df7)
- [waitResponse(GsmConstStr r1 = GFP(ModemConfig::GSM_OK), GsmConstStr r2 = GFP(ModemConfig::GSM_ERROR), GsmConstStr r3 = nullptr, GsmConstStr r4 = nullptr, GsmConstStr r5 = nullptr, GsmConstStr r6 = nullptr, GsmConstStr r7 = nullptr, GsmConstStr r8 = nullptr)](../classes/class_tiny_gsm_modem.md#ac8849ac15a91800244750682561c3938)
- [getConfiguredModem()](../classes/class_tiny_gsm_modem.md#a2f9a76aa8ef51867e560196a8261c170)
- [getModemInfo()](../classes/class_tiny_gsm_modem.md#a587c942eefa8b4905da4cfaf79d04c53)
- [getModemName()](../classes/class_tiny_gsm_modem.md#a500246b8d736f654ffd91db17664e42a)
- [getModemManufacturer()](../classes/class_tiny_gsm_modem.md#a3bf0eb3d18cefc70a0277103719873aa)
- [getModemModel()](../classes/class_tiny_gsm_modem.md#ae0ca787c0bb16776f3b326a899c39d4e)
- [getModemRevision()](../classes/class_tiny_gsm_modem.md#a748dce8b32f1a5d4ca0f9bf9a5ea55a2)
- [getModemSerialNumber()](../classes/class_tiny_gsm_modem.md#a3a13f308ec6beb7e2a270d1ece67978e)
- [factoryDefault()](../classes/class_tiny_gsm_modem.md#a229a18e6a1226a51301ba3a41f75947d)
- Power functions ([TinyGsmModem.tpp](../files/_tiny_gsm_modem_8tpp.md))
- [restart(const char* pin = nullptr)](../classes/class_tiny_gsm_modem.md#a986567555e19bc82fc3f4f154f89de40)
- [powerOff()](../classes/class_tiny_gsm_modem.md#ac6d0ce36377992e00b0d38c5cb1a9126)
- [radioOff()](../classes/class_tiny_gsm_modem.md#a084efec47f33f71933c2084bf4c3fead)
- [sleepEnable(bool enable = true)](../classes/class_tiny_gsm_modem.md#ae293a3c9ef0c55ce7dbc05a29dd5c3a7)
- [setPhoneFunctionality(uint8_t fun, bool reset = false)](../classes/class_tiny_gsm_modem.md#a496f2e6fb026bea432f2f3d31b50d2be)
- Generic network functions ([TinyGsmModem.tpp](../files/_tiny_gsm_modem_8tpp.md))
- [getRegistrationStatus()](../classes/class_tiny_gsm_modem.md#a75286fdda3bb1672f1c88a06d010c04d)
- [isNetworkConnected()](../classes/class_tiny_gsm_modem.md#ac6923f6667d67ec47e88a15d34d365fe)
- [waitForNetwork(uint32_t timeout_ms = 60000L, bool check_signal = false)](../classes/class_tiny_gsm_modem.md#a8cdad3a71c520124dd1d5aed16ee726b)
- [getSignalQuality()](../classes/class_tiny_gsm_modem.md#a714c21a155a823bb32a7be87fde815bd)
- [getLocalIP()](../classes/class_tiny_gsm_modem.md#a69cbe284005cf8831b0155f5ba721d87)
- [localIP()](../classes/class_tiny_gsm_modem.md#ab6aae9d6513ea9496f79704367eeff44)
- SIM card functions ([TinyGsmGPRS.tpp](../files/_tiny_gsm_g_p_r_s_8tpp.md))
- [simUnlock(const char* pin)](../classes/class_tiny_gsm_g_p_r_s.md#a466fae623fa90d89e3b899f8ad9b6770)
- [getSimCCID()](../classes/class_tiny_gsm_g_p_r_s.md#a8ba9e16bbba657b10ebb7da122c21d54)
- [getIMEI()](../classes/class_tiny_gsm_g_p_r_s.md#a27acb4e97886f54e2d741c5554a25aa4)
- [getIMSI()](../classes/class_tiny_gsm_g_p_r_s.md#a33c0b782e1076262c262063857d648a2)
- [getSimStatus(uint32_t timeout_ms = 10000L)](../classes/class_tiny_gsm_g_p_r_s.md#a04fe0ca24dc592e8e564c9669fd4a314)
- GPRS functions ([TinyGsmGPRS.tpp](../files/_tiny_gsm_g_p_r_s_8tpp.md))
- [gprsConnect(const char* apn, const char* user = nullptr, const char* pwd = nullptr)](../classes/class_tiny_gsm_g_p_r_s.md#a23ddc191f39cb31d183d91bc89b4bd44)
- [gprsDisconnect()](../classes/class_tiny_gsm_g_p_r_s.md#aa6decbde976ddbdee7e0d5a0047f46da)
- [isGprsConnected()](../classes/class_tiny_gsm_g_p_r_s.md#a047ca5d9e0d99bcc87e5dbce11403aec)
- [getOperator()](../classes/class_tiny_gsm_g_p_r_s.md#aa80d4559b92f4ab0d4a1142013364821)
- WiFi functions ([TinyGsmWifi.tpp](../files/_tiny_gsm_wifi_8tpp.md))
- [networkConnect(const char* ssid, const char* pwd)](../classes/class_tiny_gsm_wifi.md#afdbf9f1bbd066ebfe1733b65f1bd6571)
- [networkDisconnect()](../classes/class_tiny_gsm_wifi.md#ad361ae16422d411d86dec9964678cb87)
- Socket listening functions ([TinyGsmTCP.tpp](../files/_tiny_gsm_t_c_p_8tpp.md))
- [maintain()](../classes/class_tiny_gsm_t_c_p.md#a35e2f8d26fd77dd0c217631b153d41bc)
- Text messaging (SMS) functions ([TinyGsmSMS.tpp](../files/_tiny_gsm_s_m_s_8tpp.md))
- [sendSMS(const String& number, const String& text)](../classes/class_tiny_gsm_s_m_s.md#afbbd31f4c58b16319bef3e3b9e42b5dd)
- [sendSMS_UTF16(const char* const number, const void* text, size_t len)](../classes/class_tiny_gsm_s_m_s.md#a430127e129d6fb41b643a0364deca94b)
- Battery functions ([TinyGsmBattery.tpp](../files/_tiny_gsm_battery_8tpp.md))
- [getBattVoltage()](../classes/class_tiny_gsm_battery.md#af41311b4c55dea716a0ef6afd14846ac)
- [getBattStats(int8_t& chargeState, int8_t& percent, int16_t& milliVolts)](../classes/class_tiny_gsm_battery.md#a0aeea9308d460dcd811089c5821eada3)
- Temperature functions ([TinyGsmTemperature.tpp](../files/_tiny_gsm_temperature_8tpp.md))
- [getTemperature()](../classes/class_tiny_gsm_temperature.md#aab76cfbab3183877b3fa4f005cdbc394)
- Utilities ([TinyGsmModem.tpp](../files/_tiny_gsm_modem_8tpp.md))
- [streamWrite(T last)](../classes/class_tiny_gsm_modem.md#aa03b38efd4eb8437c9e5ed92aac89742)
- [streamWrite(T head, Args... tail)](../classes/class_tiny_gsm_modem.md#a6f0a60b7020372ab7e7605f90d5eb2a5)
- [streamClear()](../classes/class_tiny_gsm_modem.md#a7879aad8a0f9def7cd8d7450800b2d64)
- [streamDump(int16_t expected_len)](../classes/class_tiny_gsm_modem.md#a20ccc061bab4e038a8800c244e761ecd)
- Utilities
- [streamClear(void)](../classes/class_tiny_gsm_x_bee.md#a82712d01327655c859088ce9147efece)
- XBee identifier functions
- [getBeeType()](../classes/class_tiny_gsm_x_bee.md#a974a83e07cd2f01b57704a97d95cd4d2)
- [getBeeName()](../classes/class_tiny_gsm_x_bee.md#a519acaa082e5b73d739b976b6b14951f)
- [getSeries(void)](../classes/class_tiny_gsm_x_bee.md#a17f45d972ac52cc7f3c90ae55b8cdbbf)
- XBee specific utilities
- [commandMode(uint8_t retries = 5)](../classes/class_tiny_gsm_x_bee.md#a009aac7c3a3b70e7f6ad74af8c911e48)
- [writeChanges(void)](../classes/class_tiny_gsm_x_bee.md#a6ccd761ccaebb0cf914de9ca663a8d26)
- [exitCommand(void)](../classes/class_tiny_gsm_x_bee.md#a66ff7236862d153d277452fc37a43a27)
- [exitAndFail(void)](../classes/class_tiny_gsm_x_bee.md#acd411093a44157682339ba225fb19e28)
- [readResponseString(uint32_t timeout_ms = 1000)](../classes/class_tiny_gsm_x_bee.md#ac8e6a48b1769315e815b2fc6b123c890)
- [readResponseInt(uint32_t timeout = 1000L)](../classes/class_tiny_gsm_x_bee.md#a27e23fb45f33680b66b188dc47a9a355)
- [sendATGetString(GsmConstStr cmd)](../classes/class_tiny_gsm_x_bee.md#adc63f167bef2ee9a27173899b322978a)
- [changeSettingIfNeeded(GsmConstStr cmd, int16_t newValue, uint32_t timeout_ms = 1000L)](../classes/class_tiny_gsm_x_bee.md#a623d62e3cd13c71fbf87476836aa0166)
- [changeSettingIfNeeded(GsmConstStr cmd, String newValue, uint32_t timeout_ms = 1000L)](../classes/class_tiny_gsm_x_bee.md#a236f56458072ad8fb93101778011482e)
- [gotIPforSavedHost()](../classes/class_tiny_gsm_x_bee.md#a4c28681485897ab2e1c352d2b299e1e4)
- [GsmClientXBee](../classes/class_tiny_gsm_x_bee_1_1_gsm_client_x_bee.md)
- Arduino Client interface ([TinyGsmTCP.tpp](../files/_tiny_gsm_t_c_p_8tpp.md))
- [stop()](../classes/class_gsm_client.md#acac60bc3c9cb1e7d58e2b13833e4c720)
- Extended Client API ([TinyGsmTCP.tpp](../files/_tiny_gsm_t_c_p_8tpp.md))
- [remoteIP()](../classes/class_gsm_client.md#aad926ad92b0e7754620e9ab249ad73e8)
- [getMux()](../classes/class_gsm_client.md#a9dc458d3a5eced0cfecdbdc72e06d6c0)
- [getConnectionID()](../classes/class_gsm_client.md#a198f6e1698d43841c3a1ab287bca914d)
- [beginWrite(uint16_t size)](../classes/class_gsm_client.md#a3faf91fd6a17294a5915ce57ac5bdc0d)
- [endWrite(uint16_t expected_size = 0)](../classes/class_gsm_client.md#a36e18c3adb596ab7d299796e658f42a5)
- [GsmClientSecureXBee](../classes/class_tiny_gsm_x_bee_1_1_gsm_client_secure_x_bee.md)
- Client constructors and initialization
- [GsmClientSecureXBee()](../classes/class_tiny_gsm_x_bee_1_1_gsm_client_secure_x_bee.md#af1d17ced027be45b613767433ddb5542)
- [GsmClientSecureXBee(TinyGsmXBee& modem, uint8_t mux = 0)](../classes/class_tiny_gsm_x_bee_1_1_gsm_client_secure_x_bee.md#aaf4e097d2cdb17510a71e1a514df928e)
- [GsmClientSecureXBee(TinyGsmXBee& modem, SSLAuthMode sslAuthMode, SSLVersion sslVersion = SSLVersion::TLS1_2, const char* CAcertName = nullptr, const char* clientCertName = nullptr, const char* clientKeyName = nullptr)](../classes/class_tiny_gsm_x_bee_1_1_gsm_client_secure_x_bee.md#a8c49bfec9390bdaf000066152a115ddf)
- [GsmClientSecureXBee(TinyGsmXBee& modem, uint8_t mux, SSLAuthMode sslAuthMode, SSLVersion sslVersion = SSLVersion::TLS1_2, const char* CAcertName = nullptr, const char* clientCertName = nullptr, const char* clientKeyName = nullptr)](../classes/class_tiny_gsm_x_bee_1_1_gsm_client_secure_x_bee.md#a99665e3725f9337c839cd4605fde2ae1)
- [GsmClientSecureXBee(TinyGsmXBee& modem, const char* pskIdent, const char* psKey, SSLVersion sslVersion = SSLVersion::TLS1_2)](../classes/class_tiny_gsm_x_bee_1_1_gsm_client_secure_x_bee.md#a5af659e4c9c47b737bce778a502b5416)
- [GsmClientSecureXBee(TinyGsmXBee& modem, uint8_t mux, const char* pskIdent, const char* psKey, SSLVersion sslVersion = SSLVersion::TLS1_2)](../classes/class_tiny_gsm_x_bee_1_1_gsm_client_secure_x_bee.md#a3469e3d1f4431ac4276ff008a2708ec9)
- [GsmClientSecureXBee(TinyGsmXBee& modem, const char* pskTableName, SSLVersion sslVersion = SSLVersion::TLS1_2)](../classes/class_tiny_gsm_x_bee_1_1_gsm_client_secure_x_bee.md#a549ff88c3422a17e2c9d9b3ef8b6a1c9)
- [GsmClientSecureXBee(TinyGsmXBee& modem, uint8_t mux, const char* pskTableName, SSLVersion sslVersion = SSLVersion::TLS1_2)](../classes/class_tiny_gsm_x_bee_1_1_gsm_client_secure_x_bee.md#a8df05492ad05bca5b7d8922872aefc8d)
- Client SSL configuration functions ([TinyGsmSSL.tpp](../files/_tiny_gsm_s_s_l_8tpp.md))
- [setSSLContextIndex(uint8_t sslCtxIndex)](../classes/class_gsm_secure_client.md#a2bc46f89e3e2e15ddaf137a760e51e61)
- [setSSLAuthMode(SSLAuthMode mode)](../classes/class_gsm_secure_client.md#a4b46715fbe03e7814302861c720ab022)
- [setSSLVersion(SSLVersion version)](../classes/class_gsm_secure_client.md#a90fa586822a2848ef1c0799b5f86a72d)
- Client certificate assignment functions ([TinyGsmSSL.tpp](../files/_tiny_gsm_s_s_l_8tpp.md))
- [setCACertName(const char* CAcertName)](../classes/class_gsm_secure_client.md#a6e4efbb501cc444aa5533ac83e818660)
- [setCACertName(const String& CAcertName)](../classes/class_gsm_secure_client.md#a9c531872f5eea9ebb7d7242480af40e8)
- [setClientCertName(const char* clientCertName)](../classes/class_gsm_secure_client.md#ad748837d7cbd8094d19bf0db83d8c250)
- [setClientCertName(const String& clientCertName)](../classes/class_gsm_secure_client.md#a409325e292e26ca63477c9fb5a7012ce)
- [setPrivateKeyName(const char* clientKeyName)](../classes/class_gsm_secure_client.md#a9c94b672781edf4f0ffbb474825ffa99)
- [setPrivateKeyName(const String& clientKeyName)](../classes/class_gsm_secure_client.md#ad9aa73781d1ce7022242b4eda36a0c27)
- Arduino Client interface ([TinyGsmTCP.tpp](../files/_tiny_gsm_t_c_p_8tpp.md))
- [stop()](../classes/class_gsm_client.md#acac60bc3c9cb1e7d58e2b13833e4c720)
- Client PSK assignment functions ([TinyGsmSSL.tpp](../files/_tiny_gsm_s_s_l_8tpp.md))
- [setPSKTableName(const char* pskTableName)](../classes/class_gsm_secure_client.md#a64c8288ba08845f36933f2b551346d59)
- [setPSKTableName(const String& pskTableName)](../classes/class_gsm_secure_client.md#ada834301f0221d06538c70cbd84f378b)
- [setPreSharedKey(const char* pskIdent, const char* psKey)](../classes/class_gsm_secure_client.md#aed7d395100a2c79405bb1aa75fea7b14)
- [setPreSharedKey(const String& pskIdent, const String& psKey)](../classes/class_gsm_secure_client.md#abba6fff24f0aa3d7e350a5d412c4906e)
- Extended Client API ([TinyGsmTCP.tpp](../files/_tiny_gsm_t_c_p_8tpp.md))
- [remoteIP()](../classes/class_gsm_client.md#aad926ad92b0e7754620e9ab249ad73e8)
- [getMux()](../classes/class_gsm_client.md#a9dc458d3a5eced0cfecdbdc72e06d6c0)
- [getConnectionID()](../classes/class_gsm_client.md#a198f6e1698d43841c3a1ab287bca914d)
- [beginWrite(uint16_t size)](../classes/class_gsm_client.md#a3faf91fd6a17294a5915ce57ac5bdc0d)
- [endWrite(uint16_t expected_size = 0)](../classes/class_gsm_client.md#a36e18c3adb596ab7d299796e658f42a5)
## Classes
| | Name |
| -------------- | -------------- |
| struct | **TinyGsmXBeeModemConfig**
Basic modem configurations for the Digi XBee and XBee3. |
| struct | **TinyGsmXBeeTcpConfig**
TCP behavior and limits for the Digi XBee and XBee3. |
| class | **TinyGsmXBee**
Class for the Digi XBee family of modems. |
| class | **TinyGsmXBee::GsmClientXBee**
Inner client. |
| class | **TinyGsmXBee::GsmClientSecureXBee**
Inner secure client. |
## Types
| | Name |
| -------------- | -------------- |
| enum class | [XBeeRegStatus](#gabb2f083476b151f9f987f4f13b490c61) { REG_OK = 0, REG_UNREGISTERED = 1, REG_SEARCHING = 2, REG_DENIED = 3, REG_UNKNOWN = 4 }
Registration status. |
| enum class | [XBeeType](#ga500f7d35073f8590502262b80638047a) { XBEE_UNKNOWN = 0, XBEE_S6B_WIFI = 0x601, XBEE_LTE1_VZN = 0xB01, XBEE_3G = 0xB02, XBEE3_LTE1_ATT = 0xB06, XBEE3_LTEM_ATT = 0xB08, XBEE3_LTEM3 = 0xB0E }
The known types of XBees The values are responses to the HS command to get "hardware series". |
### XBeeRegStatus
| Enumerator | Value | Description |
| ---------- | ----- | ----------- |
| REG_OK | 0 | Registered on the network. |
| REG_UNREGISTERED | 1 | Not registered on the network. |
| REG_SEARCHING | 2 | Searching for network. |
| REG_DENIED | 3 | Registration denied. |
| REG_UNKNOWN | 4 | Unknown registration status. |
### XBeeType
| Enumerator | Value | Description |
| ---------- | ----- | ----------- |
| XBEE_UNKNOWN | 0 | Unknown XBee type. |
| XBEE_S6B_WIFI | 0x601 | Digi XBee Wi-Fi. |
| XBEE_LTE1_VZN | 0xB01 | Digi XBee Cellular LTE Cat 1. |
| XBEE_3G | 0xB02 | Digi XBee Cellular 3G. |
| XBEE3_LTE1_ATT | 0xB06 | Digi XBee3 Cellular LTE CAT 1. |
| XBEE3_LTEM_ATT | 0xB08 | Digi XBee3 Cellular LTE-M. |
| XBEE3_LTEM3 | 0xB0E | Digi XBee3 Cellular LTE-M3. |
-------------------------------
Generated by [Doxygen](https://www.doxygen.nl) and [m.css](https://mcss.mosra.cz/) with templates from [doxybook2](https://github.com/matusnovak/doxybook2)
Updated on 2026-09-11