Timothy Woo edited this page Nov 28, 2018 · 30 revisions


The LTE CAT-M/NB-IoT shield uses SIMCOM's SIM7000-series cellular modules, which are low-power modules that support the new LTE CAT-M1 and NB-IoT technology and also have integrated GNSS (GPS, GLONASS and BeiDou/Compass, Galileo, QZSS standards) for location tracking. There are multiple SIM7000-series modules that cater to different regions around the world, and luckily SIMCOM has made it really easy to identify: SIM7000A (American), SIM7000E (European), SIM7000C (Chinese), and SIM7000G (Global). Currently NB-IoT is supported in many countries around the world but unfortunately not in the US, although it's scheduled to be launched by major providers by 2018.

To use the shield simply plug the shield into an Arduino, insert a compatible SIM card, attach the LTE/GNSS antenna, and you're good to go! Below is a quick feature overview:

There's also the option to choose your own custom logic voltage level to use the board with other platforms like ESP8266, ESP32, Raspberry Pi, and anything else you can think of!

You can order the shield on Amazon.com

All PCB design files and hardware are released under the Creative Commons Attribution Share Alike 4.0 license.

All other software is released under the GNU General Public License v3.0.


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, 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 improved upon to introduce this new SIM7000 to the party!

What is LTE CAT-M?

LTE CAT-M1 is considered the second-generation LTE technology and is lower-power and more suitable for IoT devices. NarrowBand IoT (NB-IoT) technology is a Low-Power Wide Area Network (LPWAN) technology specifically designed for low-power IoT devices. It is a relatively new technology that is, unfortunately, not yet available in the US, although large carriers are working on testing and building the infrastructure and it should be available sometime 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)! Additionally, NB-IoT is designed for deep building penetration which could be perfect for commercial IoT devices.

The LTE/NB-IoT Shield for Arduino

The shield that I've designed uses the SIM7000-series module for user to have low-power LTE CAT-M technology and fast multi-GNSS at the tip of their fingers! The shield also sports a high-accuracy MCP9808 I2C temperature sensor, great for at least measuring something and sending it via LTE, and built-in audio support (revision v5 and later)! The shield comes in three different version to cater to different regions around the world with the SIM7000A, SIM7000E and SIM7000C modules. There's even a global version (SIM7000G) that is pretty much all the aforementioned versions combined to work just about anywhere on the globe!

Since I'm a huge fan of open-source I've also made this project open-source and so far I think this is the best Arduino library available for SIMCom modules since it supports 2G, 3G, and LTE all with the same library! I've also included lots of examples, tutorials, and documentation for people to follow along and try it for themselves!

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.