Is the ME part of my SIM800C well working?

I am very new to the SIM domain (and new to cell phones too!). I want to check if a SIM800C evaluation module with a recently purchased SIM card to a local provider works well, and I’m not sure of anything.
The communication between the RPi0 and the module is OK, and I decided to power the SIM module with an old PC power supply, so I do not have to worry about the 2 amps of maximum current .
I have written software that places the SIM module in a known state when the system is restarted or powered up, it seems to work well. Then I run “” to send commands and requests to the module.

My first question is: how can I be sure that the module is connected to the radio network ? (note: in the following texte, the character ’⏎’ means the two characters “\ r \ n” in that order, while ’↵’ means “\ r” only, with ’\ r’ = 0x0D, 13, and ’\ n ’= 0x0A, 10, .

The most surprising is that every time I start the module, the LED of the network LED always flashes the same way (10 flashes in 8~ seconds), the antenna being connected or not !

The module has a strange behavior. For example, using miniterm program, the command:




at the first query. I do not feel especially bad with that !
When I try to modify this parameter, the answer is of type


except for PGSM_MODE which gives

⏎+CME ERROR: operation not authorized⏎

. For all these commands, if I add “,ALL_BAND” to the first parameter, the answer is

⏎+CME ERROR: unauthorized operation⏎

. It looks like that the ALL_BAND option is always added, a sort of default setting. But in that case, why did the module answered "⏎+CBAND: PCS_MODE, ALL_BAND?⏎ at the very first query ?

I am really wondering if the ME part of the SIM is well working. Could someone tell me, please, how can I check that.

Thank you for the attention you paid to this topic.

In which country are you using this?

Module blinks the network LED at every second rate if there is no network connection .
It blinks every 3 seconds when it connects to network.

Normally its set to EGSM_MODE,ALL_BAND for auto detection of bands.

Hello Ravi,

Thank You very much for the help you offer to beginners. For your web site(s) too, that is(are) very nice.

Related to blinking rates of the Netlignt, the following is a table got from the reference doc (…Radio/SIM/SIM800C_Hardware_Design_V1.02.pdf page 35). In the central column, I added the time between 10 flashes (64ms) of the Netlight.

Status              T/10 pls   SIM800C behavior

Off                 (♾)        SIM800C is not running
64ms On/ 800ms Off  (8.64)     SIM800C not registered the network
64ms On/ 3000ms Off (30.64)    SIM800C registered to the network
64ms On/ 300ms Off  (3.64)     GPRS communication is established

So, there is no 1 Hz blinking rate, as everybody use to talk about in the forums and Internet pages. But I suppose that they all talk about this 1.15Hz.

I am located in Peru. The “+COPN” command is listing more than 600 items.

With help of the program, I setted the module for a default 15200 baudrate (“at+ipr=115200;&w↵”). I noted that “;&w” is not necessay because the parameter of this command is supposed to be saved automaticaly in NVRAM (non-volatile flash memory).

After having restarted the module it can display (removing extra empty lines) :

+CFUN: 1
Call Ready
SMS Ready
+COPS: ,(0-4),(0-2)

I don’t know where to look !

I have to say that there are days that I am testing this module. During this time, at least once, I had this :

+COPS: (3,“71606”, “71606”, “71606”),(2,“TIM PERU”,“TIMPERU”,“71610”),(0-4),(0-2)

Thank you.

What is SIM registration status., AT+CREG?

Hello Ravi,
Thank you for the attention you paid to me.

Powering on the module, typing the command “ --ask --eol CRLF --raw --exit-char 25 /dev/ttyAMA0 115200 ; # ^Y” and then pushing the “Pon/Poff” of the button, I get (empty lines removed) :

— Miniterm on /dev/ttyAMA0 115200,8,N,1 —
— Quit: Ctrl+Y | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H —
+CFUN: 1
Call Ready
SMS Ready
+CREG: 2
+CREG: 0

Of course, the two last lines are “rewritten” every 60 seconds, more or less.

I mean you should check the status of registration using command AT+CREG?
? is part of the command itself.
Module will give registration status.

Hello Ravi, and thank you.

+CFUN: 1
Call Ready
SMS Ready
+CREG: 0,0
+CREG: 0,0
+CREG: 0,0
+CREG: 0,0
+CREG: 0,0

The last command had been sent one hour after haing powered on of the module.

Why there are so many CREG? commands executed?

I did not respond corectly first. I send myself all these commands.
I dont know. I guess the module is trying to register every minute. But when I try the command “AT + CSQ” and the response is “+ CSQ: 0.0” which looks bad to me. Could it be possible that I previously sent some bad command that would have places the module in that bad state?

What is your current band setting?
And the repeat might be due to your controller getting reset. How are you sending this data to module?
Serial terminal?

Hello Ravi,
Thank you for your answer.

The module and the Raspberry pi Zero connected together for the serial communication and a GPIO to simulate the PowerON/PowerOff push button. The RPi0 is connected and powered by the USB to my Desktop computer. The communication between my desktop and the RPi0 is done via ssh. RPi0 is executing Finaly, the AT commands and the responses appear on the terminal of my desktop.

Powering then starting (push button more than 1 seconde) the SIM module, while is running (extra empty lines removed and AT commands entered by myself in bold):

+CFUN: 1
Call Ready
SMS Ready

I read somewhere that some SIM card are limited (G3?, not sure). Could my problem come from such a limitation ?

EDIT : Adding the result of an “AT&V” command, changing presentation for a quick compare:

DEFAULT PROFILE                 USER PROFILE                    ACTIVE PROFILE
S0: 0                           S0: 0                           S0: 0
S3: 13                          S3: 13                          S3: 13
S4: 10                          S4: 10                          S4: 10
S5: 8                           S5: 8                           S5: 8
S6: 2                           S6: 2                           S6: 2
S7: 60                          S7: 60                          S7: 60
S8: 2                           S8: 2                           S8: 2
S10: 15                         S10: 15                         S10: 15
+CRLP: 61,61,48,6               +CRLP: 61,61,48,6               +CRLP: 61,61,48,6
V: 1                            V: 1                            V: 1
E: 1                            E: 1                            E: 1
Q: 0                            Q: 0                            Q: 0
X: 4                            X: 4                            X: 4
&C: 1                           &C: 1                           &C: 1
&D: 1                           &D: 1                           &D: 1
+CLTS: 0                        +CLTS: 0                        +CLTS: 0
+CREG: 0                        +CREG: 0                        +CREG: 0
+CGREG: 0                       +CGREG: 0                       +CGREG: 0
+CMEE: 0                        +CMEE: 0                        +CMEE: 0
+CIURC: 1                       +CIURC: 1                       +CIURC: 1
+CFGRI: 2                       +CFGRI: 2                       +CFGRI: 2
+CMTE: 0                        +CMTE: 0                        +CMTE: 0
+CANT: 0,0,10                   +CANT: 0,0,10                   +CANT: 0,0,10
+STKPCIS: 0                     +STKPCIS: 0                     +STKPCIS: 0
+CMGF: 0                        +CMGF: 0                        +CMGF: 0
+CNMI: 2,1,0,0,0                +CNMI: 2,1,0,0,0                +CNMI: 2,1,0,0,0
+CSCS: "IRA"                    +CSCS: "IRA"                    +CSCS: "IRA"
+VTD: 1                         +VTD: 1                         +VTD: 1
+CALS: 1                        +CALS: 1                        +CALS: 1
+CHF: 0                         +CHF: 0                         +CHF: 0
+CAAS: 1                        +CAAS: 1                        +CAAS: 1
+CBUZZERRING: 0                 +CBUZZERRING: 0                 +CBUZZERRING: 0
+DDET: 0                        +DDET: 0                        +DDET: 0
+MORING: 0                      +MORING: 0                      +MORING: 0
+SVR: 16                        +SVR: 16                        +SVR: 16
+CCPD: 1                        +CCPD: 1                        +CCPD: 1
+CSNS: 0                        +CSNS: 0                        +CSNS: 0
+CSGS: 1                        +CSGS: 1                        +CSGS: 1
+CNETLIGHT: 1                   +CNETLIGHT: 1                   +CNETLIGHT: 1
+SLEDS: 64,64,64,800,3000,300   +SLEDS: 64,64,64,800,3000,300   +SLEDS: 64,64,64,800,3000,300
+CSDT: 0                        +CSDT: 0                        +CSDT: 0
+CSMINS: 0                      +CSMINS: 0                      +CSMINS: 0
+EXUNSOL: 0                     +EXUNSOL: 0                     +EXUNSOL: 0
+FSHEX: 0                       +FSHEX: 0                       +FSHEX: 0
+FSEXT: 0                       +FSEXT: 0                       +FSEXT: 0
+IPR: 0                         +IPR: 115200                    +IPR: 115200
+IFC: 0,0                       +IFC: 0,0                       +IFC: 0,0
+CSCLK: 0                       +CSCLK: 0                       +CSCLK: 0

We can see that only the default baudrate had been changed. Hoping it will help finding what’s wrong…


I decided to enter commands / requests that could help expert to have an idea on the reason why the SIM module looks not working. I write “looks” because I am still not sure of the way to know the state of this module.

the result saying “CME ERROR: unknown” make me wondering if the CME part is well working.

+IFC: 0,0
+CME ERROR: unknown
+CME ERROR: unknown
+CME ERROR: unknown
+CME ERROR: unknown
+CCWA: 0
+CSTA: 129
+CME ERROR: Unspecified Error
+CLIP: 1,2
+CLIR: 0,2
+COLP: 0,2
+COPS: 0
+CPAS: 2
+CR: 0
+CREG: 0,0
+CRLP: 61,61,48,6,7
+CRSL: 24
+CSQ: 0,0
+CMUX: 0,0,5,127,10,3,30,10,2
+CPOL: 1,2,“310410”
+CPOL: 2,2,“310410”
+CPOL: 3,2,“73001”
+CPOL: 4,2,“73001”
+CPOL: 5,2,“73001”
+CPOL: 6,2,“21401”
+CPOL: 7,2,“21401”
+CPOL: 8,2,“21403”
+CPOL: 9,2,“21403”
+CPOL: 10,2,“72405”
+CPOL: 11,2,“72405”
+CPOL: 12,2,“72431”
+CPOL: 13,2,“72431”
+CPOL: 14,2,“72416”
+CPOL: 15,2,“72416”
+CPOL: 16,2,“72402”
+CPOL: 17,2,“72402”
+CPOL: 18,2,“72403”
+CPOL: 19,2,“72403”
+CPOL: 20,2,“72404”
+CPOL: 21,2,“72404”
+CPOL: 22,2,“334050”
+CPOL: 23,2,“334050”
+CPOL: 24,2,“72234”
+CFUN: 1
+CME ERROR: unknown
+CBC: 0,98,4191
+CSSN: 0,0

The more strange is that I repeated these commands / requires with the antenna disconnected and the results are EXACTLY the same !

You module is not talking to the network.
Can you add ALL BAND setting, your band setting is EGSM_MODE only?

AT+CBAND=“EGSM_MODE,ALL_BAND” and see if it works.
Share a image of your setup showing how you have connected things.
Or a short video might also help.

Here are the pictures:

Using the oscilloscope and after having sent the command AT&C, I monitored the DCD signal status of the SIM module. It is permanently à 1 (high).

I thought I wrote it, but no ! I already tried to change Operation Band, here are the results :

at+cband="PCS_MODE";+cband?            +CBAND: PCS_MODE OK
at+cband="EGSM_PCS_MODE";+cband?       +CBAND: EGSM_PCS_MODE OK
at+cband="EGSM_MODE";+cband?           +CBAND: EGSM_MODE OK
at+cband="DCS_MODE";+cband?            +CBAND: DCS_MODE OK
at+cband="EGSM_DCS_MODE";+cband?       +CBAND: EGSM_DCS_MODE OK
at+cband="PGSM_MODE";+cband?           +CME ERROR: operation not allowed
at+cband="GSM850_MODE";+cband?         +CBAND: GSM850_MODE OK
at+cband="GSM850_PCS_MODE";+cband?     +CBAND: GSM850_PCS_MODE OK

But :
AT+CBAND="whatever_mode,ALL_BAND"↵ -> +CME ERROR: operation not allowed

I should also say that the first objective is to send and receive SMS only. I have no ideas of the meaning of these modes :face_with_raised_eyebrow:
I go and try to find something on these modes on Internet…

If we look at the last image of this page,
it seems that the first diagnostic test displayed by this software is “at+csq”, and in the example, it displays a good level. When I do this test, I get “+CSQ: 0.0” which means, if I well understand, that there is almost no incoming radio signal. This missing radio signal could explain that with or without an antenna, the results are always the same.
NOTE : I have a good cell phone running very close to the module.

I received a new module and connected it. The result of my first tests is following. So, it well means that the previous module was not working. (empty lines removed)

+CSQ: 8,0

For facility, I left a 1 amper power suply in use : bad idea ! Puting back the 20 ampère 5 volts, it works well. Some 17 secondes after the “power on” control, the blinking rate of the net led is near 1 pulse every 3 secondes : youpi !

We can see the new module (right hand), an extra long antenna because the signal level looks bad (not sure it’s a good idea), the unused 1 amp 5 volt power supply, and the zero Raspberry Pi.

Note that I do not declare the thread as resolved until an SMS has been sent and an SMS has been received, but I will need some time, having other activities…

Glad that you got it working. Since you got the network Sending SMS is trivial. Hope you are succesful :slight_smile:
You can paste the images directly here. No problem.

The nice story had been very short ! I only saw this functioning a couple of times ! I wondered about the power supply of the SIM module…

The diagram bellow (specifications) comes from the SIM800C_Hardware_Design_V1.02.pdf, page 18 or the SIM868_Hardware_Design_V1.00.pdf, page 21. After having done the test described bellow, it seems to me that this spécification could be very hard to follow if you are not using a good battery feeding the module with sufficiently short and thick cables.


To test, I powered directly the SIM module on it’s VBAT, with cables soldered directly an a 100 µF tantalium condenser (that you probably have too, on your module). My power supply is set to deliver up to 5 Amperes.
Then I programmed the RPi0 to generate a waveform of approximatively 577_µs ON and 4615_µS OFF, on GPIO19 (“sudo pigpiod ; sudo pigs hp 19 192 111132↵”). I mounted an IRFZ44 to receive this GPIO19 on it’s gate, as shown on the picture bellow. The drain is connected to the VBAT/+ of the condensers trougth a 2.2 Ohms, and the source to the GND/- of the condensers, this done with “nice” cables. NOTE that a 2.2 Ohms does not correspond to a 2 ampere load, from a 4.1 volts power supply : 4.1/2.2 -> 1.86 amper.

Monted IRFZ44

With an extra 1000_µF chemical in parallel with the 100_µF tantal (solder on it, for testing), the voltage drop was more then 350 mV (440_mV, see bellow).

With an additional 1000_µF

Calculating the value of a condenser that would support a too resistive power supply and/or cabling, I found that 3300_µF would be necessary (2 x 577 x 10^-6 / .350). So I put an other 4700 µF in parallel with the previous (giving then a total of 3 condensers 4700+1000+100 on VBAT. I obtained the diagram shown bellow, and the specifications are followed, with delta of 260_mV. In reality, I will use a 4700_µF/6.3_V well difficult to place.

With additionals 1000_µF+4700_µF

NOTE: on the scope’s pictures, the blue signal is the IRFZ44 drain, and the yellow the VBAT voltage.

Related to my main problem, I am now convinced that a specifically 2G type SIM card is required, and I am not sure that it is the model I installed… I will check soon with my provider.

EDIT: deletion of the part remaining in French… :scream:

1 Like

Thanks for sharing the experience @SerPat
Is that a little french at the end :slight_smile:

Oups ! Correction done :flushed:

I add the schematic drawing of the test circuit.

1 Like