> 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/getting-started/general-device-configurations/volte-devices/simcom-sim8230g.md).

# SIMCom SIM8230G

The SIMCOM SIM8230G-M2 is based on 3GPP Release 17 and supports VoLTE over LTE, 5G SA, VoNR, and LTE Cat 4 fallback. With reduced bandwidth and lower complexity, it is well suited for IoT and industrial applications. This guide explains how to configure the module for VoLTE operation, including the required modem settings.

<img src="/files/mZ6VaJPOwYeH65Wx2uVO" alt="SIM8230G-M2" width="372">

### Quick Navigation

* [Connect the SIMCom ](#connect-the-lm960-to-monogoto)[SIM230G-M2 to Monogoto](#connect-the-lm960-to-monogoto)
* [Network Configuration](#network-configuration)
* [Network Activation](#network-activation)
* [Useful Links](#useful-links)

### Prerequisites

* &#x20;Monogoto SIM with VoLTE-enabled profile
* SIMCom SIM8230G-M2 cellular modem
* A serving mobile network that supports VoLTE and IMS registration

## Connect the SIM8230G-M2 to Monogoto

{% hint style="info" %}
When connecting to the SIM8230G-M2 modem, keep the [**AT Commands manual** ](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FOWHKEm71IpiHAIq0tEFD%2FSIM8230%20Series_AT%20Command%20Manual_V1.00.pdf?alt=media\&token=f730b7c4-9536-49b0-9213-6f8663ef200c)next to you to look up details about commands.
{% endhint %}

**Connect to the modem**, enter the command: `AT` and wait for the response: `OK`

{% hint style="info" %}
When using Windows, [install the driver ](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FrcHDAtVOltljQTaaJlNz%2FSIM8230%205G%20RedCap%20Windows%20drivers.zip?alt=media\&token=656e715b-2980-47c4-9e77-98c761c0afb1)using the disk or USB stick provided by SIMCom.
{% endhint %}

Restart the modem:

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

Set the error reporting to **verbose**, resulting in more descriptive error messages (optional):

```bash
AT+CMEE=2
```

Check that the SIM card is detected and is not locked with a PIN, expected response: `+CPIN: READY`:

```bash
AT+CPIN?
```

{% hint style="warning" %}
If you receive an error, the SIM may not be inserted properly or the SIM is protected with a PIN. By default, Monogoto SIMs are not PIN protected.
{% endhint %}

### Query device information

Request the modem **hardware version**:

```
AT+CGMM
```

Request the modem **firmware version**:

```bash
AT+CGMR
```

Example response:

```
+CGMR: 2310B02X35M22A-M2
```

Request the **IMSI** (International Mobile Subscriber Identity):

```
AT+CIMI
```

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

```bash
AT+CICCID
```

### **Network mode preference**

Manually set the preferred network mode:

* `AT+CNMP=38` → Sets the module to LTE-only mode.

To verify the configured network mode, enter:

```
AT+CNMP?
```

Expected response: `+CNMP:38`&#x20;

### Verify that the module is connected to LTE

To verify the current network system mode, enter:

```
AT+CNSMOD?
```

Expected response: `+CNSMOD:0,8`&#x20;

### Verify LTE network registration

To verify the LTE network registration status, enter:

```
AT+CEREG?
```

#### CEREG State Change Report Codes

The table below provides an overview of the possible values for AT+CEREG? state change reports, indicating the module's network registration status.

<table><thead><tr><th width="87">Value</th><th>Description</th></tr></thead><tbody><tr><td><strong>0</strong></td><td>Not registered, and the module is not searching for a network.</td></tr><tr><td><strong>1</strong></td><td>Registered to the home network.</td></tr><tr><td><strong>2</strong></td><td>Not registered, but the module is attempting to attach or searching for a network.</td></tr><tr><td><strong>3</strong></td><td>Registration denied by the network.</td></tr><tr><td><strong>4</strong></td><td>Unknown (for example, out of coverage) </td></tr><tr><td><strong>5</strong></td><td>Registered and roaming.</td></tr></tbody></table>

### Network Activation

**Set the APN to** `data.mono`:

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

**Set the VoLTE APN to** `ims`:

```
AT+CGDCONT=2,"IP","ims"
```

To verify that the APNs are configured correctly

```
AT+CGDCONT?
```

Expected response:&#x20;

`+CGDCONT: 1,"IP","data.mono","0.0.0.0",0,0,0`

`+CGDCONT: 2,"IP","ims","0.0.0.0",0,0,0`

**Activate the required PDP contexts:**

```
AT+CGACT=1,1
AT+CGACT=1,2
```

Verify that the PDP contexts are activated:

```
AT+CGACT?
```

Expected response:&#x20;

`+CGACT: 1,1`

`+CGACT: 2,1`

#### Request Serving Cell Information

```
AT+CPSI?
```

Example response:

```
+CPSI: LTE,Online,425-03,0x18BB,1146385,18,EUTRAN-BAND7,3250,5,5,-128,-929,-603,0
```

* `EUTRAN-BAND7` indicates that the modem is connected to LTE Band 7

#### Verify that the device received an IP address:

```bash
AT+CGPADDR
```

Expected response: `+CGPADDR: 1,10.XXX.XX.XXX`

#### Place a VoLTE call

```
ATD<number>;
```

Expected response:&#x20;

`VOICE CALL:BEGIN`

**Verify the active call**

```
AT+CLCC
```

**End the call**

```
AT+CHUP
```

### Test the connection by sending a PING <a href="#test-the-connection-by-sending-a-ping" id="test-the-connection-by-sending-a-ping"></a>

A PING test can be performed to test if the modem has an active data connection with a mobile network.

When cellular modems are idle for a long period of time, cell towers might drop the data connection to save resources. Sending regular PINGs is a good method for testing the data connection, as well as for keeping the connection alive because the operator registers your device as being actively used.

Send 4 PINGs to `www.google.com`:

```
AT+CPING="www.google.com",1,4,64,1000,10000,255
```

Example response:

```
+CPING: 1,142.250.75.164,64,23,255
+CPING: 1,142.250.75.164,64,27,255
+CPING: 1,142.250.75.164,64,17,255
+CPING: 1,142.250.75.164,64,16,255
```

{% hint style="success" %}
Did you receive successful PING responses? **Congratulations!** 🎉 **You’ve successfully connected the SIM8230G-M2 modem to Monogoto.** \
Have a look at the **Things** logs in the [**Monogoto Console**](https://console.monogoto.io/) to find more details about the established connection.
{% endhint %}

## Useful Links

* [SIM8230G-M2 AT Commands](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FOWHKEm71IpiHAIq0tEFD%2FSIM8230%20Series_AT%20Command%20Manual_V1.00.pdf?alt=media\&token=f730b7c4-9536-49b0-9213-6f8663ef200c)
* [SIMCom product page](https://www.simcom.com/product/SIM8230G-M2.html)
* [SIM8230G-M2 User Guidelines Manual](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2FIVvcMo2KqmC96IQyYMsO%2FSIM8230-M2-EVB_User_Guidelines_Manual_V1.00_EVB_Version_V1.01.pdf?alt=media\&token=4266f317-9437-4a61-8acb-b6c8891e0b81)
* [SIM8230G-M2 Product Description](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M0mPxGpottOEfcucXOR%2Fuploads%2F65BArx5KvWbBQH5Xpgph%2FSIM8230G-M2_SPEC_20240829.pdf?alt=media\&token=52460c9e-e7e7-4d31-abc8-6564ebd1290e)
