Serial Communication with RockBLOCK

Hello,

I’m attempting to communicate with a RockBLOCK Iridium SatComm module through a Sparkfun Redboard (Arduino Uno). I want to send AT commands through the serial monitor and then see the response from the RockBLOCK.

The Arduino is connected to the RockBLOCK through a logic level converter since the module runs on 3.3V TTL while the Arduino is 5V. I am able to make a direct serial connection to the RockBLOCk through UART and receive responses just fine. When I try this through the Arduino, I can’t get it to work.

I’m using the code below, as taken from a similar post at https://forum.arduino.cc/index.php?topic=161151.0. This seemed to work for that person who was sending AT commands to a Quectel M10 GPRS shield.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(4,5);

void setup()

{

mySerial.begin(19200);

Serial.begin(19200);

}

void loop()

{

if (mySerial.available())

Serial.print(mySerial.read());

if (Serial.available())

mySerial.write(Serial.read());

}

Any help is appreciated!

Thanks,

Travis

Have you studied the RockBlock Developer’s Manual?

  1. It must be configured for a 3 wire serial interface.

  2. Commands must end in 0x0D (carriage return), 0x0A (line feed) will not work.

  3. It takes the modem some time to charge up before it will respond to commands (up to 60 seconds), depending on how your are powering it.

You are probably better off making sure communications work with a terminal program, rather than Arduino. Or, find some working Arduino example code, e.g. http://makezine.com/projects/make-37/iridiumsatellite/

Thanks, I think the article will come in handy and I hadn’t noticed the need for carriage returns. However I think I need to understand some basic material on serial and software serial before I proceed with this project. I have some particular questions that I’ll be putting into a separate post.