--- 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