Open-Source LTE CAT-M/NB-IoT Shield for Arduino

Open-Source LTE CAT-M/NB-IoT Shield for Arduino © GPL3+

This completely open-source LTE shield for Arduino uses the latest and greatest CAT-M NB-IoT technology optimized for low-power IoT devices!

  • 36 respects

Components and supplies

Botletics SIM7000 Shield
This shield will include an LTE/GNSS antenna and stacking female headers. Can also buy on
Ph a000066 iso (1) ztbmubhmho
Arduino UNO
Other Arduino versions should work as well, like Arduino Mega and Leonardo!
Hologram Global IoT SIM Card
You can use other SIM cards as well, but I found this one to work great and the Hologram developer SIM is free! Currently all Botletics SIM7000 shields ship with a free Hologram SIM card and promo code!
Adafruit 3.7V LiPo Battery
This is required for proper operation and the recommended battery capacity is 1000mAH or greater. You can find these at Sparkfun or Adafruit with JST connectors. Without this battery, the SIM7000 will power cycle, especially with more power-hungry operations like SMS and data.

Necessary tools and machines

09507 01
Soldering iron (generic)
To solder headers onto the shield!

Apps and online services

About this project


With the emergence of low-power IoT devices with cellular connectivity and the phase-out of 2G (with only T-mobile supporting 2G/GSM until 2020), everything is moving toward LTE and this has left many people scrambling to find better solutions. However, this has also left many hobbyists facepalming with legacy 2G technology like the SIM800-series modules from SIMCOM. Although these 2G and 3G modules are a great starting point and readily available on the market (especially 2G), it's time to move forward and SIMCOM recently announced their new SIM7000A LTE CAT-M module at a developer's conference. How exciting! :)

The amazing part of all of this is that SIMCOM made it extremely easy to migrate from their 2G and 3G modules to this new module! The SIM7000-series use many of the same AT commands which minimizes the software development by miles! Also, Adafruit already has a wonderful FONA library on Github that I've adapted to introduce this new SIM7000 into the party!

What is LTE CAT-M?

LTE CAT-M1 is considered the second-generation LTE technology and is lower-power and therefore more suitable for IoT devices. NarrowBand-IoT (NB-IoT) or "CAT-M2" technology is a Low-Power Wide Area Network (LPWAN) technology specifically designed for low-power IoT devices and deep building penetration. It is a relatively new technology that is, unfortunately, not yet available in the US, although T-Mobile has announced that they plan on delivering nation-wide (USA) NB-IoT coverage in 2018.

For IoT devices using radio technology (RF) there are several things to keep in mind:

  • Power consumption
  • Bandwidth
  • Range
  • Packet size (send lots of data)
  • Cost

Each of these have tradeoffs (and I won't really explain them all); for example, large bandwidth allows devices to send lots of data (like your phone, which can stream YouTube!) but this also means it's very power-hungry. Increasing the range (the "area" of the network) also increase power consumption. In the case of NB-IoT, cutting down the bandwidth means that you won't be able to send much data, but for IoT devices shooting morsels of data to the cloud this is perfect! Hence, "narrow"-band technology, ideal for low-power devices with little amounts of data but still with long range (wide area) characteristic of cellular connection!

The SIM7000 Shield for Arduino

The shield that I've designed uses the SIM7000-series module to enable users to have low-power LTE CAT-M technology and GNSS at the tip of their fingers! It's the first open-source shield that uses the SIM7000-series modules and one of the first few NB-IoT Arduino shields made available on the market. The shield also sports a high-accuracy MCP9808 I2C temperature sensor, great for at least measuring something and sending data to the web! Currently I am using the SIM7000A because I am in the USA, but unfortunately we don't have NB-IoT coverage just yet. However, for those in other places of the world with NB-IoT it's as easy as swapping out the module with other versions like the SIM7000E and SIM7000C modules which also support 2.5G (EDGE) and 2G (GSM/GPRS).

Since I'm a huge fan of open-source (as you can see from my Reflowduino project) I've made this project completely open-source as well, with special thanks to Adafruit for their FONA library! (And if they'd allow it, I'd call this the "FONA LTE" but I'm not making that official due to copyright purposes lol).

NOTE: You will need a 3.7V LiPo battery of 1000mAH or greater capacity, like the ones found on Sparkfun or Adafruit with JST connectors. If you purchase from other sources, please make sure the polarity of the JST connector is correct!


You can view the latest documentation, example code (including an IoT example sketch for a GPS tracker application) and a full step-by-step wiki on the shield's Github page. However, check out the following resources for how to get started and some coolpractical applications for this shield!

Goals for this Project

My goal is to have this open-source design fully-integrated in the hobbyist market for Arduino users all around the world! I believe this is where the future is for cellular communication. Stay tuned for updates and feel free to comment, give suggestions, and share, because that's what this is all about!

  • If you liked this project, please give it a thumbs up!
  • If you want your own LTE shield, please take a look at what's included in a purchase here and let me know that you're interested so I can get a head count! I'm also planning on launching a crowdfunding campaign soon!
  • As always, please share this project!

~ Tim

"Share to learn, learn to share!"


NB-IoT Shield Github Repo
Check the Github page for the latest code and updates as well as a product wiki!


Similar projects you might like

LTE Cellular Shield for Arduino with Voice!

by Timothy Woo

  • 19 respects

Nixie Tube Shield for Arduino

Project in progress by Marcin Saj

  • 18 respects

GPS Data Logger, Real-Time Curve, Max Height and Max Speed

Project tutorial by yvesmorele

  • 28 respects

Arduino Motor Shield PCB V1 | 4 Motors at Once

Project tutorial by Jithin Sanal

  • 13 respects
Add projectSign up / Login