Hi, I’m new here and would really appreciate your help.
I am currently working on a university project for which I have to use SIM7000E to enable SMS/ VoLTE and I am facing a couple of doubts regarding its functionality.
I have the DFRobot SIM7000E plugged into an Arduino Uno (the pins of the SIM7000E align on top of the Uno’s). I switched the SIM7000E’s switch to D7,D8 to enable software serial communication with the Uno. I also want to establish communication between multiple boards as each of them has different sensors connected to them. The connections are as follows:
- connect an ESP32-Cam to the SIM7000E’s TX and RX pins (while it is plugged into the Uno)
- connect pins 5 and 6 of the SIM7000E to an Arduino Mega’s Tx and Rx pins.
Will communication between the boards work? Also, I am worried if the switch on the SIM7000E indicates that it can only achieve serial communication using only one set of pins at a time (pins 7 and 8 or pins 0 and 1 (Tx and Rx)).
Thank you in advance!
Yes, this is probably the case with the SIM7000E.
Generally, only one serial communications port is possible at any one time with the UNO & MEGA. It may be possible for the built in UART (pins 0 & 1) and the software serial port (pins 7 & 8) to be running at the same time. I have not seen it done. There may be a conflict with the timer registers.
The MEGA allows use of different pins for the single built in UART, the UNO only pins 0 & 1.
This will probably not work. UART ports cannot have multiple parallel connections.
Another thing I noticed from the DFRobot wiki page.
NOTE: SIM7000E is commonly used with frequency bands in Europe;SIM7000E is commonly used with frequency bands in Europe;SIM7000C is commonly used with frequency bands in China; please carefully check your Mobile Operator statement, and select the corresponding products.
Check the SIM7000E is compatible with Australian frequency bands if you are going to use it in Australia. There are penalties for transmitting on bands if not allowed.
You also may want to look at something a little smarter than the UNO & MEGA; they are pretty old tech today, although solid performers when used within their limits.
EDIT: Further checking of the MEGA shows it to have 4 hardware UART ports not one as I said, opps.
I have not used it in multiple UART mode.
Thank you, Jim.
Is there any workaround? If there is, could you please explain how I can go about it?
Also, can SIM7000E’s other digital pins (aside from D7 and D8) be used for software serial?
FWIW software serial on a UNO can be used with two (or more!) serial connections active, with a little care (such as avoiding simultaneous use, as you mention). However the most common arrangement is to use one software serial on any pins while also using 0 and 1. This is typically used with the IDE console for debugging serial applications, so for other arrangements the usual restrictions on sharing 0 and 1 with the USB interface will apply.
The Mega supports additional hardware serial ports so multiple serial devices is not an issue.
As @Jeff105671 pointed out and further checking on my part showed; the ATMEGA 2560 has 4 hardware UART ports. This means you could use software serial for the SIM7000E, UART port 1,2 or 3 for the ESP32-CAM and UART port 0 (D0 & D1) to program the MEGA as normal via the USB connector.
The MEGA has the same pinouts as the UNO but with extra Analog, Digital & UART pins. The I2C ports is on different pins too. The SIM7000E would plug into the MEGA the same way it does to the UNO.
Most code written for the UNO will work with the MEGA, with some slight modification, I2C pins etc.
All this is theoretical at this stage but the ATMEGA 2560 might the better option for what you want to do.
Oh okay, yeah, a Mega would be more suitable!
Thank you so much
Thank you for pointing that out, Jeff