Serial contact closure

2 min read · updated 23 Jul 2026

Suits a relay, opto-isolated interface or supported serial adapter that presents a hardware sense-line state such as CTS.

ControlGuidance
PortSelect the serial interface that exposes the required hardware sense line.
Sense lineChoose the input used by the interface, such as CTS. Available choices depend on the serial hardware and driver.
InvertReverse the active state when the external hardware reports open and closed in the opposite way to the desired recording state.
Run-onContinues recording briefly after the sense line returns to its inactive state.

Basic Arduino example

Connect the Arduino to a suitable relay or opto-isolated module. Use the module's dry contact only with a serial-contact interface that is documented to accept a closure on its sense input. The sketch below closes the relay while a button on pin 2 is pressed.

const int buttonPin = 2;
const int relayPin  = 8;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, LOW);
}

void loop() {
  bool active = (digitalRead(buttonPin) == LOW);
  digitalWrite(relayPin, active ? HIGH : LOW);
  delay(20);
}

Wire the relay contacts to the supported serial-contact interface according to its documentation, then select the corresponding COM port and sense line in BroadcastLogger. Use Invert when the resulting active state is reversed.

ELECTRICAL SAFETY: Do not connect an Arduino GPIO pin directly to a conventional RS-232 connector or handshake pin. RS-232 voltage levels and polarity differ from 3.3 V or 5 V logic. Use an appropriate isolated relay, optocoupler, level converter or purpose-built contact interface.

Was this page helpful?

Still stuck? Ask in the community forum .