Serial monitor not responding, GSM 1400, UART

Hello everyone,

I'm using an Atlas pH sensor with Arduino MKR GSM 1400 and I need to calibrate the device before deploying it in the field. To calibrate I need to send a command using a serial monitor and I should get a response, but never get the response. I have tried many commands from the product datasheet, page 21 (, and still not working any idea?

Here is the code:

#include "wiring_private.h"
Uart Serial_plc(&sercom3, 1, 0, SERCOM_RX_PAD_1, UART_TX_PAD_0);

String inputstring = "";
String sensorstring = "";
boolean input_string_complete = false;
boolean sensor_string_complete = false;              
float pH;

void setup() {
  pinPeripheral(1, PIO_SERCOM); //Assign RX function to pin 1
  pinPeripheral(0, PIO_SERCOM); //Assign TX function to pin 0
    Serial.println("DEBUG: error opening Serial_plc");


void serialEvent() {
  inputstring = Serial.readStringUntil(13);
  input_string_complete = true;

void loop() {
  if (input_string_complete == true) {
    inputstring = "";
    input_string_complete = false;
   if (Serial_plc.available() > 0) {
    char inchar = (char);
    sensorstring += inchar;
    if (inchar == '\r') {
      sensor_string_complete = true;
    if (sensor_string_complete == true) {
    sensorstring = "";
    sensor_string_complete = false;
void SERCOM3_Handler()

I have never worked with a Arduino MKR GSM 1400
anyway for solving the problem you should reduce the potential sources of bugs as much as possible.

In your case this means taking any other device that you know for sure that the communication over a serial interface works reliably.
Test the sensor with this device.

This could be an Arduino Uno or a USB-to-serial adapterboard.

You should test the Arduino MKR GSM 1400 itself the same way.
Connecting the Arduino MKR GSM 1400 on your second serial interface to another device that is well known for send/receive serial reliably.

Another option is to wire a loop-back which means connecting Tx with Rx of your second interface directly through a wire and then upload a testprogram that sends something on the second serial which should then immetiately received over the Rx-pin.
This code should echo a lot to the serial monitor so you can see what your code is doing.

Edit: another way is to connect such a 24 MHz 8 channel logic analyser
it works with a freeware called sigrok pulseview

best regards Stefan