Confusion about following wiring guide for satellite modem

Feeling pretty sill about this one. I’m currently trying to wire my new rockblock mk2 modem with my Arduino Mega. The wiring guide seems to be written for a previous iteration of the device, and it’s left me pretty confused:

The “3-wire” wiring guide can be found right here:

Here’s my attempt at following it (Should the TX port on the Arduino REALLY be connected to the TX port on the modem?):

Here is the example script I’m using. Will it work with the wiring configuring described in the guide above?

#include <IridiumSBD.h>
#include <SoftwareSerial.h>

SoftwareSerial nss(18, 19);
IridiumSBD isbd(nss, 10);
static const int ledPin = 13;

void setup()
  int signalQuality = -1;

  pinMode(ledPin, OUTPUT);



  int err = isbd.getSignalQuality(signalQuality);
  if (err != 0)
    Serial.print("SignalQuality failed: error ");

  Serial.print("Signal quality is ");

  err = isbd.sendSBDText("This is the first test");
  if (err != 0)
    Serial.print("sendSBDText failed: error ");

  Serial.println("Hey, it worked!");
  Serial.print("Messages left: ");

void loop()
   digitalWrite(ledPin, HIGH);

bool ISBDCallback()
   digitalWrite(ledPin, (millis() / 1000) % 2 == 1 ? HIGH : LOW);
   return true;

Any tips related to this problem would be hugely appreciated!!

(Should the TX port on the Arduino REALLY be connected to the TX port on the modem?)

Yes. It says so in the "3-wire" wiring section of the PDF.

*The TX and RX lines are labeled on the RockBLOCK as viewed from the Arduino, so the TX line would be transmitting serial data to the RockBLOCK


The convention for DTE's (data terminal equipment, ie computer!) is different to modems. If you connect computer to computer or modem to modem you have to swap RX/TX, but between computer and modem you don't.

Think of it this way. The modem allows you to transmit data to elsewhere, it is not transmitting data from elsewhere to you.

Thus TX is an input on a modem, output on a computer.

See also: