Close
0%
0%

LTE CAT-M1/NB-IoT Shield for Arduino

This open-source, low-power LTE shield uses cutting-edge CAT-M technology and also integrates GNSS location capabilities!

Similar projects worth following
This open-source LTE shield uses SIMCOM's SIM7000-series modules with the latest LTE CAT-M technology to allow Arduino users to painlessly connect their low-power IoT devices with the next-generation cellular technology! NB-IoT is also available for many countries (but sadly not in the USA yet) simply by swapping out to a different SIM7000 module version. Luckily SIMCOM made it super easy to integrate this module because most of the AT commands are identical to previous version, and Adafruit has a wonderful library for their FONA 2G and 3G products. Check it out and help make this happen! You can view the latest code and design files here on my Github page: https://github.com/botletics/SIM7000-LTE-Shield. Note: The hardware works great but software is still under development! I plan on launching an Indiegogo campaign when I get a fully-working prototype, so stay tuned for update

Introduction

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 can be used 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 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. 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)!

The SIM7000 Shield

The LTE shield that I've designed uses the SIM7000-series to enable users to have extremely low-power LTE CAT-M technology and GNSS at the tip of their fingers! The shield also sports a MCP9808 I2C temperature sensor, great for at least measuring something and sending it via LTE! Currently I am using the SIM7000A (the CAT-M1 module) because in the US we poor souls don't have NB-IoT yet, unlike our European counterparts. However, for those in other places of the world with NB-IoT it's as easy as swapping out the SIM7000A with other versions like the SIM7000ESIM7000C, and SIM7000E-N modules.

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

Goals for this Project

I'd love to have this open-source design fully-integrated to the hobbyist market for Arduino users all around the world! I believe this is where the future is for cellular communication and getting this into the hands of users all around the globe will help to catalyze interest in this new technology. Follow me on this journey as I attempt to document the latest and greatest cellular modems!

Meanwhile I've put some starter units available for sale here on my website!

sch - 881.09 kB - 03/12/2018 at 19:04

Download

brd - 162.57 kB - 03/12/2018 at 19:04

Download

Portable Network Graphics (PNG) - 249.57 kB - 03/12/2018 at 19:04

Preview
Download

image/png - 240.70 kB - 01/09/2018 at 14:17

Preview
Download

- 824.48 kB - 01/09/2018 at 14:17

Download

View all 6 files

  • 1 × LTE Shield Kit I plan on selling it on my website and it will come with headers and the proper LTE/GNSS antennae: https://www.botletics.com/products/
  • 1 × Arduino This could be an UNO, Mega, Leonardo, etc.
  • 1 × SIM Card I personally used the Hologram Developer SIM card for testing!

  • Botletics SIM7000 Shield on Amazon.com!

    Timothy Woo10/17/2018 at 15:25 0 comments

    Hey everyone!

    This is just to let you know that the Botletics SIM7000 shield kit is now available on Amazon.com!

    ~ Tim

  • Arduino Library 2G/3G/LTE Support

    Timothy Woo02/09/2018 at 23:20 0 comments

    Hey guys, what's up! I just added library support for the SIM5320 3G module and example sketches so basically the library now supports 2G (SIM800/808/900/908) as well as 3G (SIM5320) and LTE CAT-M/NB-IoT with the SIM7000! 

    This might be a bold statement, but so far I think it's the best available Arduino library there is for SIMCom modules. Check it out here!

  • MQTT Tutorial Video!

    Timothy Woo02/09/2018 at 04:35 0 comments

    Wazzup everyone!


    I just posted this new YouTube video on how to send data to Adafruit IO and CloudMQTT via MQTT protocol with my example Arduino sketch. Be sure to like, share, and subscribe and I'll be sure to post more videos and updates! (And hopefully with a new microphone...)

    As a reminder, my Indiegogo campaign is still live with 50 units most likely being ready by the end of the month on a first order first served basis!

    Thanks!

    Tim

  • MQTT Working Great!

    Timothy Woo02/05/2018 at 16:54 0 comments

    Hey guys,

    MQTT is working great and I just uploaded this MQTT example sketch that publishes and subscribes to MQTT topics on Adafruit IO using the Adafruit MQTT library! I also updated the IoT_Example sketch with the option of sending GPS and temperature/battery data via MQTT!

    I also created this tutorial on how to use the IoT Example sketch with HTTP and MQTT!

    Best,

    Tim

  • SIM7000G Global Version!!!

    Timothy Woo02/02/2018 at 22:53 1 comment

    What's up guys!

    Things are going well and I'm ordering all the parts to start production for the next 50 boards. Hopefully I can even have them ready by the end of the month! Because I'll be partnering up with OSH Park and OSH Stencils the circuit boards, stencil, and assembly work will be completely done in the USA! 

    As some SUPER EXCITING NEWS, SIMCom notified me that they're soon releasing a SIM7000G version, a global version that is basically SIM7000A, C, and E versions all combined! It will support all the different bands and should work anywhere in the world! I hope to get my hands on this right when it comes out and hopefully use this in the majority of my shields in the future. Imagine truly global Hologram SIM cards with a truly global cellular modem! INSANITY. I've managed to get first-hand access of the spec overview which I've posted on Github. I'll keep everyone updated on this!

    See the latest updates and order your own shield on my Indiegogo campaign!

    Tim

  • Live on Indiegogo! YAY!

    Timothy Woo02/01/2018 at 05:09 0 comments

    What's up guys!

    It's midnight here and I just launched the Indiegogo campaign for my shield. Check it out here and be sure to share the link on social media because every view counts for me! Contributions are also greatly appreciated and will help me continue my efforts. I plan on fulfilling all orders regardless of how much I raise and I have everything ready to go with a contract manufacturer in the US.

    Anyway, thanks for your support and I hope this will positively benefit the community!

    ~ Tim

  • New Version + Updates!

    Timothy Woo01/31/2018 at 23:13 0 comments

    Hey guys!

    I just released a new version (revision v5) which will be the version I am going to produce from now on. This version adds LiPo support and I will explain why:

    In the beginning with v1 I actually already had LiPo battery support because I played it safe, but then I found that the SIM7000A worked flawlessly without the LiPo battery so I removed it in subsequent versions. This is because the SIM7000A only supports LTE CAT-M1 and NB-IoT and therefore draws a fraction of GSM power consumption. However, with the SIM7000C and E versions they support fallback to 2G and 2.5G so power supply becomes an issue and the module will enter a reboot cycle in GSM mode. However, if CAT-M1 or NB-IoT is available, use of the battery can be avoided by setting the module to only use those two modes and not GSM. Again, for SIM7000A users this is not an issue at all and you can simply leave out the LiPo battery and it should work just fine!

    Revision v5 adds a JST connector for standard single-cell LiPo batteries like those found at Sparkfun and Adafruit and also includes circuitry to charge the battery at 500mA. Because of this charge rate the battery should be at least 500mAH capacity (1AH or more is ideal) to prevent damage. Also, higher capacity batteries will be able to supply more current to the module for large spikes. Moreover, now that a battery can be connected to the shield, the "b" command in the LTE_Demo can run and monitor the battery voltage and percentage!

    In this revision I have also attached the normally disconnected pin on the Arduino to VBAT, the LiPo battery voltage (also equivalent to the SIM7000 module's supply voltage) for convenience and debugging.

    Another reason I decided to add the LiPo support is because the firmware updater tool only works if the module is powered by a robust power supply (such as a LiPo battery). You can find the firmware updater tool files here on Github.

    As always, you can view the latest design files and full schematic on my Github page.

    As a quick reminder, my Indiegogo campaign for this shield launches midnight tonight (Eastern time) so be sure to check it out!

    Thanks,

    Tim

  • Added MQTT Support!

    Timothy Woo01/27/2018 at 04:14 0 comments

    What up everybody!

    This is just to let you know that I successfully added MQTT support posting data to the cloud! I've updated the Github library which includes a new version of the IoT_Example sketch that allows you to publish GPS, temperature, and supply voltage data to their respective topics via MQTT with username and password authentication. Currently only the connect and publish commands work but I'll be working on getting subscribe and receive functionalities up and running as well as adding support for AWS IoT. So far I have tested with cloud MQTT and it works great! I might also post a little YouTube video on MQTT after I get the new features implemented.

    Anyway, lots of stuff going on here and I'm definitely staying busy. Also remember that my Indiegogo campaign is launching in less than 6 days! Please support my tinkering by spreading the word and contributing to my campaign when it launches!

    ~ Tim

  • SIM7000A Certified for AT&T

    Timothy Woo01/24/2018 at 19:06 0 comments

    During the IoT Evolution Expo in Orlando, FL SIMCom announced that the SIM7000A module is now PTCRB certified for AT&T. Previously it had only been fully and officially certified for Verizon. Read more in this article.

    On that note, we're only 8 days away from the Indiegogo campaign launching on Feb 1st!

  • Indiegogo Campaign + Hologram SIM's + Perks!

    Timothy Woo01/22/2018 at 20:55 0 comments

    What's up guys!


    Today I chatted with Hologram.io developers Ben Strahan and Chris Gammell and I'm super excited to tell you that for my Indiegogo campaign launching on Feb 1st all units delivered after the campaign will include a free Hologram SIM card and a promo code for $40 of free Hologram store credit exclusively for the campaign! Oh, and the price of the kits will be $89 (USD) instead of the $99 I originally stated!

    If you haven't already, check out Hologram's site and developer plan because they have some really cool deals. All my tutorials use their SIM card because it's global, has 1MB free data per month, and super easy to use with a full API documentation and support so I definitely recommend it! 

    As a quick update on my progress on producing the shields, I'm working with a contract manufacturer in the US to produce more boards for the Indiegogo campaign pre-orders. Unfortunately there won't be any early-bird units available at the start of the campaign because they're all sold out! That's good news and bad news for some of you waiting for one out there, but I'll attempt to console you by saying that I might even start production before the campaign ends if I see enough demand, so please share to anyone you think might be interested!

    Anyway, it's been a great ride and let's make this campaign even more awesome to spread the love of LTE and IoT!

    <3

    Tim

View all 27 project logs

View all instructions

Enjoy this project?

Share

Discussions

drivehamel wrote 10/03/2020 at 05:30 point

I'm also making the same project on HR consultant award winning company. You can see the official website https://peakperformancehr.ca/

  Are you sure? yes | no

drivehamel wrote 09/23/2020 at 11:02 point

On Adafruit customer service masses of misunderstanding about if the module would even work or no longer with information partially because of one-of-a-kind datasheets being to be had from SIM com. Older variations of the AT instructions showed higher functionality with facts. Visit for more detail https://driver.pk/

  Are you sure? yes | no

Capt. Flatus O'Flaherty ☠ wrote 03/26/2018 at 15:49 point

I'm interested in this project, but have you got data working on this SIM product yet? I spent many hours with Adafruit 3G module trying to get it to work with data but software refused to work. On Adafruit customer service lots of confusion about if the module would even work or not with data partly due to different datasheets being available from SIM com. Older versions of the AT commands showed better functionality with data.

  Are you sure? yes | no

renaud wrote 02/16/2018 at 15:07 point

Hi Timothy, did you try entering sleep mode and still receiving text message? Seems to me it's like a paging does not wake up the module.

  Are you sure? yes | no

Grogdor the Burninator wrote 01/24/2018 at 03:02 point

Page 20 of "SIM7000 Hardware Design_V1.01.pdf" details the 2A current spikes of GSM/GPRS data transmission, might want to doublecheck that the Uno supply pins survive that. Power delivery took a bit to perfect for my SIM5320/60 boards.

  Are you sure? yes | no

Timothy Woo wrote 01/24/2018 at 03:04 point

Thanks for the comment, I saw that part of the spec sheet too! Yea I measured the current with a uCurrent Gold and initial startup was 55mA, sometimes spiking to 100mA but nothing crazy at all. Registered to the cell network and idling was a mere 15-20mA on CAT-M1.

  Are you sure? yes | no

Grogdor the Burninator wrote 01/24/2018 at 07:10 point

Right, now try 2G data on a marginal signal.

  Are you sure? yes | no

Timothy Woo wrote 01/24/2018 at 15:14 point

Unfortunately I can't test 2G and 2.5G because the SIM7000A doesn't support 2G fallback and the SIM7000C and E versions use different frequency bands (900/1800) than American GSM (850/1900). Perhaps I'll ask some of my European users to test it out for me  :)

Also, I should note that my biggest users would be people who want the CAT-M/NB-IoT feature, and if they're using 2G well then they could just get a SIM800 or something.

  Are you sure? yes | no

Makerfabs wrote 01/17/2018 at 03:08 point

For previous SIM900, the peak currently can be 1.2A when power up~~ which may leads to Power  down for the whole system, i designed a special power-lack power circuit to avoid that. so maybe the SIM700 do not have the alike problem ?

  Are you sure? yes | no

Timothy Woo wrote 01/17/2018 at 14:05 point

No, fortunately it does not have this issue.  :)

  Are you sure? yes | no

Capt. Flatus O'Flaherty ☠ wrote 03/26/2018 at 15:44 point

You just need to have suitable battery connected which acts as large capacitor

  Are you sure? yes | no

Craig wrote 11/20/2017 at 15:35 point

Any idea what power consumption is like? Or what it would look like in a sleep/standby mode? I have an application in mind where I'd like to maximize battery life for several months: sleep for a week, wake up, transmit, sleep for a week, etc..

  Are you sure? yes | no

Timothy Woo wrote 11/20/2017 at 15:45 point

You can turn the device completely off by using "AT+CPOWD=1" or using the PWRKEY pin which would practically draw nothing at all because it actually kills the power to the SIM7000 altogether. If you take this route you would only have to worry about the sleep current of the microcontroller itself. However, you could also put the SIM7000 into a sleep mode (similar to the ESP8266 deep sleep) where it draws only 9uA and you can have it wake up via its RTC. During LTE transmission it draws around 115mA compared to the much higher 325mA+ for 2G/GSM. You can refer to the SIM7000 Hardware Design document, section 5.4 "Current Consumption".

You can view a recent tutorial I posted here: https://www.instructables.com/id/LTE-NB-IoT-Shield-for-Arduino/ and check out my Github page for more documentation (like the SIM7000 Hardware Design document): https://github.com/botletics/NB-IoT-Shield

  Are you sure? yes | no

Timothy Woo wrote 11/24/2017 at 03:40 point

Correction: Actually it seems like the SIM7000 draws 7uA when powered off, according to the SIM7000 spec overview. However, with the latest version (v3) of the LTE shield you can cut off power to the regulator to minimize the current consumption even more.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates