SIM900 UART notes

Active today
Viewed 12 times

I use a module same as here with my RPI 4B and there were difficulties in communication between them two since the start. The module worked fine with my Arduino. It is connected via Rxd-Txd pins, 5V, ground and an additional external power to the module.

I’m trying to make it make calls with the help of python, and for now after entering python -m serial.tools.miniterm /dev/ttyAMA0 115200 to the RPI terminal and typing in blindly “AT” I get a series of backslashes which after a closer look turned out to be this: “␄␐␁␀” (EOT DLE SOH NUL). Which happily already is a response, but it’s still not an “OK” that’s expected after such command.

How could I solve this? I’ve surfed many google search results for RPI and SIM900 but none of them worked.

 New contributor
  • Hi Oresto, Welcome and nice to meet you. Congratulation to your happily getting a mysterious reply to your blind AT command. Your interesting story with Arduino implies all SIM 900 hardware/firmware go well. I think it is only the Rpi4B UART SIM900 teething problem that is slightly disturbing. So let us start with this wield guy “␄␐␁␀ (EOT DLE SOH NUL)” – tlfong01 1 hour ago   
  • I agree that you are a blind guy, blindly typing the “hello there?” command “AT”, though smartly expecting the correct reply “OK”. I think you are over ambitious or jumping start too high to start with a python test program. Usually I warn and recommend newbies to start from the very beginning, using a terminal emulator, checking out Rpi RxD TxD wiring by using the “loopback” test. But for the impatient newbie anxiously wanting a short cut answer, perhaps we go directly attack the weild SIM900 reply “EOT DLE SOH NUL”. – tlfong01 1 hour ago   
  • I need a couple of minutes to read the friendly user guide of the A6 SIM900 thing. In the mean time, I would suggest the impatient newbie, while waiting anxiously, kill his time by reading the following tutorial, explaining what the hell is “loopboack” test, and how to use a “teriminal emulator” to do the job “: Serial Port Debugging 101 : Loopback Test – Amita Singh Chauhan 2016dec07 medium.com/@amitasinghchauhan/…. Happy reading and cheers! – tlfong01 59 mins ago    
  • Now let us wiki to get to know the control characters EOT, DLE, SOH, NUL: Control Character – Wikipedia en.wikipedia.org/wiki/Control_character EOT – End of transmission, EOT, ^D, Code 4, used to end text input or to exit a Unix shell. These uses usually have little to do with their use when they are in text being output, and on modern systems usually do not involve the transmission of the code number at all (instead the program gets the fact that the user is holding down the Ctrl key and pushing the key marked with a ‘C’). / to continue, … – tlfong01 5 mins ago   
  • DLE – Data link escape character was intended to be a signal to the other end of a data link that the following character is a control character such as STX or ETX. For example a packet may be structured in the following way (DLE) <STX> <PAYLOAD> (DLE) <ETX>. / to continue, … – tlfong01 4 mins ago   Edit   


This “Question” is lacking detail (OS, did you enable serial) BUT the fundamental problem is you are trying to use /dev/ttyAMA0 which is connected to Bluetooth (except in the unlikely circumstance that you changed this).

See How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: