> For the complete documentation index, see [llms.txt](https://docs.monogoto.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.monogoto.io/ntn-satellite-networks/ntn-certified-devices/ntn-certified-modules/telit-me310m1-w1n-satellite-ntn-network.md).

# Telit ME310M1-W1N Satellite NTN Network

This guide provides the steps to connect the Telit ME310M1-W1N Development Kit to Skylo satellite Non-Terrestrial Networks (NTN) using a Monogoto SIM.

<figure><img src="https://3922449203-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FPHgnav0KzuJYMIJxrNhI%2FME310M1-W1N.png?alt=media&amp;token=81aba32d-e74d-4014-8620-ba69bb6bbb0a" alt=""><figcaption></figcaption></figure>

### Quick Navigation

* [Set up the ME310M1-W1N](#set-up-the-nrf9151dk)
* [Connect the ME310M1-W1N to Skylo](#connect-the-nrf9151-to-skylo)
* [Test the connection by sending UDP payload](#test-the-connection-by-sending-udp-payload)
* [Useful Links](#useful-links)

## Set up the ME310M1-W1N

* [ ] Connect the **Power cable** to the ME310M1-W1N
* [ ] Connect the **USB cable** to the ME310M1-W1N (EVB)
* [ ] Connect the **LTE antenna**
* [ ] Connect the **GPS antenna**
* [ ] Insert the **Monogoto SIM**

### Run the latest module and application firmware

Update the ME310M1-W1N with the latest **module firmware** that supports NTN

<details>

<summary>How to download and update the ME310M1-W1N  modem and application firmware</summary>

#### Update module firmware

1. Download the latest module firmware [ME310M1-W1N NTN](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2F05Xx3q7033rdxypUdMAJ%2Fstream_ME310M1-W1N_MCU_48.00.503-B008-P0U.500000_signed.bin?alt=media\&token=20756d1a-c799-4884-953d-094d8d56f377).&#x20;
2. Download the **Cinterion XFP** tool [TC-XFP-4.3.3](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FEGbh43X7rnKRz5hXBvHQ%2FTC_XFP_4.3.3.zip?alt=media\&token=37ef27a5-9a78-4d7f-8817-38d2176aa61b).&#x20;
3. Open Telit **Cinterion XFP** Programmer
4. Upload the `.bin` file (e.g. `stream_ME310M1-W1N_MCU_48.00.503-B008-P0U.500000_signed.bin`) and select **Program**.

<figure><img src="https://3922449203-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FrGPOAGpMXvPpemN8g9Jh%2FCinterion%20XFP.png?alt=media&amp;token=c379a0c3-d907-4239-9e8b-10d5b8b615b8" alt=""><figcaption></figcaption></figure>

</details>

{% hint style="info" %}
For more information, see Telit's [getting started page](https://www.telit.com/me310m1-download-zone/?utm_source=chatgpt.com).
{% endhint %}

### Open a serial connection with the ME310M1-W1N

You can use the **Serial Terminal ComPort**, or any program of choice (e.g. PuTTY for Windows, or screen/minicom/miniterm for macOS/Linux).

Set the baud rate to `115200` . To test the connection with the ME310M1-W1N module, enter `AT` and expect the answer `OK`.

{% hint style="info" %}
Keep the AT Commands manual next to you for more details about the commands. [Click here](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2F8injI6gd0dWe4ZF8ZGLi%2FTC_ME310M1_AT_Commands_Reference_Guide_r4.pdf?alt=media\&token=46171703-a1d3-4a5e-8fe6-317083640af8) to download the latest version.
{% endhint %}

### Check SIM Status

**Enable the module**

```bash
AT+CFUN=1
```

**Check SIM status**

```
AT+CPIN?
```

Expected response: `+CPIN: READY`

{% hint style="success" %}
+CPIN: READY means that the SIM is ready and does not require any PIN entry.
{% endhint %}

### Query Device Information

Useful for confirming firmware, hardware and SIM identity.

**Request the hardware model**

```
AT+GMM
```

Example response: `ME310M1-W1N`

**Request the firmware version**

```
AT+CGMR
```

Example response: `M0U.500003-B008`

{% hint style="warning" %}
The minimum required module firmware is `M0U.500003-B008`
{% endhint %}

**Request the IMSI**

```
AT+CIMI
```

**Request the ICCID** (Integrated Circuit Card ID), which is the identification number of the SIM

```
AT%XICCID
```

### **Acquire GPS location**

To establish a satellite connection, a location has to be set.

**Put the radio in flight mode**

```
AT+CFUN=4
```

**Activate GPS within the ME310M1-W1N module**

```bash
AT$GPSP=1
```

**Start the GNSS scan**

```bash
AT$GPSACP
```

Example response:

```bash
$GPSACP: 134454.000,3144.5416N,03459.4203E,3.4,303.7,3,0.0,0.0,0.0,060926,06,7.4,7.0
```

{% hint style="warning" %}
Save the location as we need it later on.
{% endhint %}

**Shut down the GPS**

```bash
AT$GPSP=0
```

***

## Connect the ME310M1-W1N to Skylo

**Disable radio**

```
AT+CFUN=4
```

**Enable NTN mode** (NB-IoT over satellite)

```
AT%RATIMGSEL=4
```

**Check whether the modem supports multiple NTN bands.**

```
AT%GETCFG="BAND"
```

{% hint style="info" %}

<table><thead><tr><th width="114.2647705078125">Band</th><th width="183.939208984375">Name</th><th width="162.4071044921875">DL freq. (MHz)</th><th width="175.0606689453125">UL freq. (MHz)</th></tr></thead><tbody><tr><td><code>255</code></td><td>L-band (NTN 1.6 GHz)</td><td>1525–1559</td><td>1626.5–1660.5</td></tr><tr><td><code>256</code></td><td>S-band (NTN 2 GHz)</td><td>2170–2200</td><td>1980–2010</td></tr><tr><td><code>252</code></td><td>AWS-4</td><td>2180–2200</td><td>2000–2020</td></tr><tr><td><code>23</code></td><td>Skylo (same as Band 252)</td><td>2180–2200</td><td>2000–2020</td></tr></tbody></table>
{% endhint %}

#### **Set GPS location**

Configure static UE position mode:

```
AT%SETCFG="NTN_UE_POS_MODE","1"
```

Format:

```
AT%SETCFG="NTN_UE_STATIC_POS","<latitude>","<longitude>","<altitude>"
```

**Set the location** which has just been acquired, e.g.:

```bash
AT%SETCFG="NTN_UE_STATIC_POS","31.742360","34.990338","303.7"
```

**Configure the NTN operator profile for Skylo**

```bash
AT%NWOPER="default",,"skylo"
```

### Subscribe to network status events

**Enable SIB31 reception events**

```
AT%NOTIFYEV="SIB31",1
```

**Enable Timing Advance events**

```
AT%NTNEV="TA",1
```

**CEREG network registration status events**

```
AT+CEREG=2
```

**Enable the radio**

```
AT+CFUN=1
```

**Set APN**

```
AT+CGDCONT=1,"IP","data.mono"
```

**Automatic Network Selection**

```
AT+COPS=0
```

The initial NTN registration may take several minutes. Example responses:

```
%NOTIFYEV: "SIB31"
%NTNEVU: "TA","RACH",501,21894,667760
%NTNEVU: "TA","TAC",1,140,667931
+CEREG: 5,"3A9D","0007DBBD",14
```

**CEREG State Codes**

<table><thead><tr><th width="220.4140625">Value</th><th>Meaning</th></tr></thead><tbody><tr><td>0</td><td>Not registered, not searching</td></tr><tr><td>1</td><td>Registered (home network)</td></tr><tr><td>2</td><td>Not registered, searching</td></tr><tr><td>3</td><td>Registration denied</td></tr><tr><td>4</td><td>Unknown / out of coverage</td></tr><tr><td>5</td><td>Registered &#x26; roaming </td></tr></tbody></table>

### Radio & Signal Checks

**Request network info**

```
AT#RFSTS
```

Example response:

```
#RFSTS: "901 98",32233,-121,-111,-10,3A9D,0,0,0,1,0,"7DBBD","240075909193025","Skylo Technologi",3,255,0,0,3
```

***

## Test the Connection by Sending UDP Payload

To send UDP data, send **three AT commands**:

1. **Activate PDP context**

```
AT#SGACT=1,1
```

Expected response: `#SGACT: 10.116.194.83`

2. **Connect socket**

Replace `<ip-address>` with the ip address of your UDP server

```
AT#SD=<connId>,<txProt>,<rPort>,"<IPaddr>",<closureType>,<lPort>,<connMode>
```

3. **Set the IP address** and port, e.g.:

```
AT#SD=1,1,1055,"18.199.15.247",0,5000,1
```

Expected response: `OK`

4. **Send UDP data through socket 1**

```
AT#SSEND=1
```

Example response: `>`

5. **Enter the payload**

```
> Hello from Telit NTN
```

6. **Close the UDP socket**

```
Ctrl+Z
```

Expected response: `OK`

{% hint style="info" %}
You can test the UDP connection with the Ubidots platform which runs a UDP server. [Learn more](https://docs.monogoto.io/developer/cloud-integrations/ubidots).
{% endhint %}

## Test the Connection by Sending PING

To send PING, send **three AT commands**:

1. **Activate PDP context**

```
AT#SGACT=1,1
```

Expected response: `#SGACT: 10.116.194.83`

2. **Send 2 PINGs** to IP address `8.8.8.8`.

```
AT#PING="8.8.8.8",5
```

If the connection is active, you will see 2 PINGs with a number representing the response time in milliseconds. Example response:

```
#PING: 01,8.8.8.8,4,114
#PING: 02,8.8.8.8,2,114
```

{% hint style="info" %}
**Great work on connecting the Telit ME310M1-W1N to Monogoto**! Have a look at the Things logs in the [Monogoto Hub](https://hub.monogoto.io/) to find more details about the established connection.
{% endhint %}

### Switch Between NTN and Public Networks

Use the following commands to switch from NTN to public networks:

**Disable radio**

```
AT+CFUN=4
```

**Enable public networks**&#x20;

```
AT%RATIMGSEL=1
```

**Reset the module**

```
AT+CFUN=1,1
```

**Enable radio**

```
AT+CFUN=1
```

**Set APN**

```
AT+CGDCONT=1,"IP","data.mono"
```

**Automatic Network Selection**

```
AT+COPS=0
```

**Activate PDP context**

```
AT#SGACT=1,1
```

Expected response: `#SGACT: 10.116.194.83`

### Switch Back to Satellite NTN

**Put the radio in flight mode**

```
AT+CFUN=4
```

**Enable NTN mode** (NB-IoT over satellite)

```
AT%RATIMGSEL=4
```

**Set GPS location**

Configure static UE position mode:

```
AT%SETCFG="NTN_UE_POS_MODE","1"
```

**Set the location** which has just been acquired, e.g.:

```bash
AT%SETCFG="NTN_UE_STATIC_POS","31.742360","34.990338","303.7"
```

**Configure the NTN operator profile for Skylo**

```bash
AT%NWOPER="default",,"skylo"
```

**Enable SIB31 reception events**

```
AT%NOTIFYEV="SIB31",1
```

**Enable Timing Advance events**

```
AT%NTNEV="TA",1
```

**CEREG network registration status events**

```
AT+CEREG=2
```

**Enable the radio**

```
AT+CFUN=1
```

**Set APN**

```
AT+CGDCONT=1,"IP","data.mono"
```

**Automatic Network Selection**

```
AT+COPS=0
```

The initial NTN registration may take several minutes. Example responses:

```
%NOTIFYEV: "SIB31"
%NTNEVU: "TA","RACH",501,21894,667760
%NTNEVU: "TA","TAC",1,140,667931
+CEREG: 5,"3A9D","0007DBBD",14
```

***

## Useful Links

* [Telit ME310M1-W1N NTN APP Note](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FdMT7rOScuEliQYTbJlEe%2FME310M1_NTN_App_Note_80756NT12307A_r0.pdf?alt=media\&token=7e09aa00-410b-4749-b1be-9ff46250bb08)
* [Telit ME310M1-W1N NTN Operating Guide](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FjRhqRw9SLCRDfgtC7s9O%2FME310M1_NTN_Skylo_Operating_Guide.pdf?alt=media\&token=ca4e307e-862d-4313-a5a4-0f3b373a68e5)
* [Telit ME310M1-W1N NTN AT Commands](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2F8injI6gd0dWe4ZF8ZGLi%2FTC_ME310M1_AT_Commands_Reference_Guide_r4.pdf?alt=media\&token=46171703-a1d3-4a5e-8fe6-317083640af8)ֿ
* [Telit ME310M1-W1N NTN User Guide](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FObaCoNo1yD6zSRCgr60G%2FTC_ME310M1_Interfaces_User_Guide_r0.pdf?alt=media\&token=cf23ff33-53fd-484b-be36-0f087623977d)
