2

I have a SIM800L module and a keypad module that I want to connect to the raspberry pi 3B+ but then when I had all my modules and stuff I found out that the raspberry pi had only 1 UART (1RX & 1TX) pin I have 2 devices that I want to connect to that...

so my question is: Is it possible to connect SIM800L to another GPIO pins and use them as RX TX? to use serial communication? or is there any other platform like I2C & SPI that I can use with SIM800L?

SIM800L

  • Yes, no problem. Rpi3B+. can use USB to serial cable to talk to SIM800, using AT commands. I recommend to first use UART loopback test to make sure Rpi USB UART hardware and software are setup up correctly. As I remember, autobaud is not working. Just use 9k6bdN81. You can search "SIM800", "loopback" in this forum to see how other users solve their SIM800/SIM900 problems. Good luck. Cheers. – tlfong01 Oct 01 '20 at 10:31
  • My answer to the following question shows how Rpi4B uses 2 USB two serial cables to talk to two SIM7600 modules. Rpi3B+ should be the similar if using USB to serial cables. (1) "Using 3 SIM800c GSM Hat on 1 raspberry pi 3b+": https://raspberrypi.stackexchange.com/questions/113992/using-3-sim800c-gsm-hat-on-1-raspberry-pi-3b. WARNING to newbies: I see that you are using the chip, not a module. This way the learning curve could be very steep. If you are not that experienced, be prepared to spend a lot of time debugging hardware. Good luck. Cheers. – tlfong01 Oct 01 '20 at 11:40

1 Answers1

2

It is difficult what you are trying to achieve since raspi is running Linux at it's core, so timing is an issue. You have 2 ways to go about this:

  1. Software Method - Refer1, Refer2
  2. Hardware Method - There are multiple I2C to UART converter chips, which would allow you to run up to 127 different chips on single 2 wire i2c bus. You can also look into the RS485 protocol. This will allow you to run multiple devices off the same serial bus. There are several converters available that allow you to convert your single UART signal to RS485, but i think you will have to handle addressing in your own software Reference.