Thales' cellular IoT products business is now part of Telit Cinterion, find out more.

You are here

Telit Cinterion IoT Developer Community

Cinterion® Connect Shield: Library

Documentation, October 16, 2017 - 6:50am, 9311 views

Hello Makers!

FInally, we are able to present you our Arduino based library for your Cinterion® Connect Shield. 



This library contains some examples to easily let you start your project idea!

A basic example how to use the Cinterion Connect Shield and register to the network is here avilable:

AT command usage 

There are also two more examples, which show how to prepare your sketch for publishing and subscribing  MQTT messages:

MQTT Publishing

MQTT Subscribing 

Note: To use the MQTT example you need to download and copy the Arduino MQTT library to your libraries. 


Plug your Cinterion Connect Shield directly on your Arduino. The library uses the pin mapping below.

Therefore you are free to stack some other shields on top.


Next, you should download the library and place it into the directory where you have your other Arduino libraries.

Now you just need to create a new sketch and add:

#include <LTECinterionConnectShield.h>

then, create an object of class:


and start using it!


By default in ourMQTT example you will find the server which for the first steps to get you project running is a good example because you do not need to create an account. 

To test if something is published you can use the webinterface from HiveMQ.

Simply add as host :

Use as port: 8080

Add the 'ClientID' and 'Topic' and you can start!

MQTT with Java 

Depending on your project it could be usefull to let embedded Java from the ELS61 handle the MQTT connection and other tasks.

The benefit is that you can use the Arduino C code handle the module/ sensors and actors and let Java do the communication to the server/cloud. This idea of sharing  resources is pretty common.

For an example check out the article:

Cinterion ELS61 Connect Shield Java Demo


The Cinterion Connect Shield as default uses the main serial connection which is also used for Arduino programing.
Therefore, if the LTE device is enabled during Arduino programing (loading a new software) it may brake the transmission and the programing fails.
Please turn off the LTE device for programing  - press the ON/OFF button for at least 3 seconds.

Of course the library does not include everything. The main reason is to leave you enough space on your Arduino for your own application. If you desire some additional examples or modifications let us know!

Hello David,
Thank you for the documentation and the examples.
I just received the cinterion shield with an Arduino 101. I tried to follow the steps explained above but I got stuck with the error below when compiling the sketch. Could it be because of the pin number? because I didn't understand to which value should I change it.
I would be really grateful if you can help me figuring this out.

In file included from /tmp/755663708/custom/Cinterion-Connect-Shield-LIB/src/LTEConnectShieldModem.h:34:0,
from /tmp/755663708/custom/Cinterion-Connect-Shield-LIB/src/LTECinterionConnectShield.h:30,
from /tmp/755663708/MqttPubExample/MqttPubExample.ino:38:
/tmp/755663708/custom/Cinterion-Connect-Shield-LIB/src/LTEConnectShieldHwSerial.h:137:2: error: #error No UART found in HardwareSerial.cpp
#error No UART found in HardwareSerial.cpp
exit status 1

Hi David
Im not sure if this is the right place to post.
I have received the dev boards - connect shield and set it up on a Arduino UNO.
I have loaded the test applications (tried all of them) but I dont seem to be creating a session with the mobile sim provider.
The SIM is a Telstra SIM with the Jasper portal so I can see anything that happens.
I have set the PIN as #define PIN_NUMBER ""
and the app to const char* apn = "telstra.internet";
The repeated AT+CPIN? lines are a bit suspicious.
any thoughts ?

The serial console gives the following:


David Martens's picture
David Martens