NB_Generic Library to support more boards besides MKR NB 1500 using NB-IoT/LTE-M

NB_Generic Library

How To Install Using Arduino Library Manager

Why do we need this NB_Generic Library

This library is based on, modified, bug-fixed and improved from:

  1. MKRNB Library

to add support to many boards besides Arduino MKR NB 1500.

This NB_Generic Library will finally provide these following features (certainly ony if supported by the NB/GPRS modules)

  1. TCP Client and Server (HTTP, HTTPS , MQTT, Blynk, WebSockets, …)
  2. UDP data connections
  3. SMS (Sending and Receiving)

Currently Supported modems

  • u-blox LTE-M/NB-IoT Modems (SARA-R4xx, SARA-N4xx, but NOT SARA-N2xx). Not fully tested yet.

To be Supported modems

  • SIMCom LTE Modules (SIM7100E, SIM7500E, SIM7500A, SIM7600C, SIM7600E)
  • SIMCom SIM7000E/A/G CAT-M1/NB-IoT Module
  • SIMCom SIM7020E/A/G CAT-M1/NB-IoT Module
  • Sequans Monarch LTE Cat M1/NB1 (VZM20Q)

Releases v1.0.0

  1. Initial coding to add support to many boards besides MKRNB 1500 / u-blox NB-IoT / LTE-M modem SARA R401

Currently Supported Boards

  1. nRF52 boards, such as AdaFruit Feather nRF52832, nRF52840 Express, BlueFruit Sense, Itsy-Bitsy nRF52840 Express, Metro nRF52840 Express, NINA_B302_ublox, NINA_B112_ublox, etc.. Currently SSL WebClient is not working.
  2. SAM DUE
  3. SAMD21
  • Arduino SAMD21: ZERO, MKRs, NANO_33_IOT, etc.
  • Adafruit SAMD21 (M0): ItsyBitsy M0, Feather M0, Feather M0 Express, Metro M0 Express, Circuit Playground Express, Trinket M0, PIRkey, Hallowing M0, Crickit M0, etc.
  • SeeedStudio: LoRaWAN, Zero, Femto M0, XIAO M0, Wio GPS Board, etc.
  1. SAMD51
  • Adafruit SAMD51 (M4): Metro M4, Grand Central M4, ItsyBitsy M4, Feather M4 Express, Trellis M4, Metro M4 AirLift Lite, MONSTER M4SK Express, Hallowing M4, etc.
  • Seeeduino: WIO Terminal, Grove UI Wireless
  1. Teensy (4.1, 4.0, 3.6, 3.5, 3,2, 3.1, 3.0, LC)
  2. ESP32 including ESP32-S2 (ESP32-S2 Saola, AI-Thinker ESP-12K, etc.)
  3. ESP8266.
  4. STM32F/L/H/G/WB/MP1 boards (with 32+K Flash)
  5. Arduino Mega, UNO, Nano, Leonardo, etc


  1. GPRSUdpNtpClient

  2. NBWebClient

  3. NBSSLWebClient

  4. ReceiveSMS

  5. SendSMS

Advanced Examples:

  1. NB_MQTT

  2. NB_MQTTClient_Auth

  3. NB_MQTTClient_Basic

  4. NB_MQTT_Medium

  5. NB_MQTT_ThingStream

  6. NB_Blynk

and more in Tools

Major Release v1.1.0

  1. Rewrite to isolate AT-command hardware-specific code to prepare for supporting more NB-IoT/LTE-M/GPRS modems
  2. Add FileUtils-related examples
  3. Make NB_RESETN, NB_PWR optional for u-blox NB-IoT/LTE-M/GPRS modems
  4. Permit configure baudrate of NB-IoT/LTE-M/GPRS Modem
  5. Reduce hardcoding
  6. Add Bug Report and Feature Request templates

Release v1.0.1

  1. Add Advanced examples (MQTT, Blynk)