RS2 RS232 errors

I’m trying to use the RS232 connector on the Reach RS2 for charging, remote power on/off, and data. The first two were easy, but I’m having issues with RS232 data. It’s configured send NMEA data over Serial at 115200 baud:

I tried to connect it to a DB9 connector (I have the cable without a second connector) into a computer’s RS232 port, but wasn’t getting anything. So, I decided to hook it up to my oscilloscope/logic analyzer. I’m seeing that the TX (pin 7, brown) has a peak of around 6.1V, but is… not even close to ASCII:

The PPS line (pin 5, yellow) has a voltage of about 3.6V every pulse, but seems to occur slightly sooner than that, roughly every 890ms:

My oscilloscope might have an error of ±0.06% at maximum, but definitely not that big of an error.

I tried wiring it as shown in the female RS232 connector wiring, but that didn’t work, and doesn’t match up with my computer’s pinout (page 46). So I then instead connected TX to pin 4 of a female DB9 connector to match with pin 2 of a male DB9 connector, but that didn’t work either. I’m thinking the problem is one of these, but I’m not sure:

  • The computer truly wants a full -13V to 13V signal, while I’m only seeing 0V to 6V from the Reach
  • Linux isn’t receiving any data from the serial port for an unrelated issue (I don’t really have easy access to another RS232 device)
  • Running sudo stty 115200 -F /dev/ttyS5 and then sudo cat /dev/ttyS5 is not the proper way to test receiving serial data in Linux (and I tested every serial port from ttyS0 to ttyS5)

Firmware image and ReachView version: ReachView v2.22.4

Simple system report
app version: 2.22.4-r0
'wifi_status, interface: wlan0':
- wifi_mode: infrastructure
- ip:
  is_added: true
  is_connected: true
  is_visible: false
  mac_address: 6C:21:A2:8F:7F:10
  security: wpa-psk
  ssid: Budapest
  uuid: 0e1c8c26-7b3e-46b0-a9cd-79dc93da5070
base mode:
  base coordinates:
    accumulation: '2'
    antenna offset:
      east: '0'
      north: '0'
      up: '0'
    - 0
    - 0
    - 0
    format: llh
    mode: single-and-hold
    enabled: true
    format: rtcm3
    path: tcpsvr://:9000#rtcm3
    type: tcpsvr
  rtcm3 messages:
      enabled: true
      frequency: '0.1'
      enabled: true
      frequency: '1'
      enabled: true
      frequency: '1'
      enabled: false
      frequency: '1'
      enabled: false
      frequency: '1'
  discoverable: false
  enabled: false
  pin: '***'
    - - 902000
      - 928000
correction input:
    enabled: true
    format: rtcm3
    path: CaseWestern1:[***@](mailto:***@
    send position to base: single
    type: ntripcli
    enabled: false
    format: RTCM3
    io_type: tcpsvr
    path: :9028
device: null
    format: RTCM3
    started: true
    format: RTCM3
    started: true
  debug: false
  interval: 24
  overwrite: true
    format: UBX
    started: true
    format: LLH
    started: true
  air rate: 2.6000000000000001
  frequency: 902000
  mode: read
  output power: 20
position output:
    enabled: true
    format: nmea
    path: ttyMFD2:115200:8:n:1:off
    type: serial
    enabled: true
    format: nmea
    path: :9002
    type: tcpsvr
rtk settings:
  elevation mask angle: '15'
  glonass ar mode: 'off'
  gps ar mode: fix-and-hold
  max horizontal acceleration: '1'
  max vertical acceleration: '1'
  positioning mode: kinematic
  positioning systems:
    compass: true
    galileo: true
    glonass: true
    gps: true
    qzss: true
  snr mask: '35'
  update rate: 5
sound: null

Solved: I had wired the DB9 connector incorrectly and need to check “Invert” on my logic analyzer.

Hi Ben,

Welcome to our community forum! :slightly_smiling_face:

It’s good to know you solved the issue! Don’t hesitate to start another thread if you have any further questions or if you’d like to share your experience of working with Reach RS2.