Skip to content

NMEA0183 Input

Purpose

The regulator listens (RX-only) to one NMEA0183 serial stream on UART_RX2 so it can use external data — typically GPS speed-over-ground, position, depth, or wind — to gate or qualify charging decisions. There is no TX path; the regulator does not transmit NMEA0183 sentences.

For the underlying isolation circuit (HCPL2531 optocoupler, current-limiting resistors, pull-ups, ESD), see NMEA0183 and VeDirect Hardware. This page covers the protocol-level configuration and physical wiring.

Electrical

Parameter Value Notes
Signal level (talker side) RS-422 differential or single-ended ≤ 15 V Both compatible — see Wiring below
Baud rate (default) 4800 baud NMEA0183 v2.0+ standard
Baud rate (HS) 38400 baud Used for AIS receivers — supported
Data format 8 data bits, no parity, 1 stop bit (8N1) Standard
Isolation 2500 VRMS via HCPL2531 See linked hardware doc
Internal pull-up 13 kΩ to 3.3 V on UART_RX2_ISOL Inactive line idles HIGH

Connector Pin

Cable Connector Pin Wire color (T568A) Signal ESP32 GPIO
3 RJ3 — left port 4 Blue UART_RX2 GPIO6

See the Connectors & Wiring page for the full pinout of cable 3 and the rest of the RJ45 jacks.

Wiring to a Typical NMEA0183 Talker

Most NMEA0183 talkers (GPS, AIS, depth/wind) expose two output signals labeled NMEA OUT A (or "+") and NMEA OUT B (or "-") plus a chassis ground. There are three valid wiring approaches:

Talker NMEA OUT A   → RJ3 pin 4 (Blue / UART_RX2)
Talker NMEA OUT B   → unconnected (taped off)
Talker chassis GND  → RJ3 pin 16 (Brown / GND)

Works for ~99 % of consumer NMEA0183 devices. The HCPL2531 optocoupler treats the input as a current loop — it fires the LED whenever A goes high relative to GND. The B (-) line is not needed.

Differential receivers (RS-422 talkers)

If the talker is a true RS-422 differential driver and is referenced to a different ground (large vessel with isolated bus), connect both A and B and omit the talker chassis GND wire:

Talker NMEA OUT A   → RJ3 pin 4 (Blue / UART_RX2)
Talker NMEA OUT B   → RJ3 pin 16 (Brown / GND)

The optocoupler will still work — the LED fires on the A-vs-B differential. The "GND" wire on the regulator side then acts as the negative leg of the differential pair, not as a true ground reference. This is electrically safe because the HCPL2531 isolation barrier prevents any ground-loop current.

NEVER

Do not connect more than one talker's NMEA OUT A to the same pin in parallel. NMEA0183 talkers are not bus-arbitrated — two simultaneous senders will collide and corrupt both messages. Use an NMEA0183 combiner/multiplexer upstream if you need to aggregate multiple sources.

Software Notes

  • The firmware UART driver expects standard 8N1 framing and CR/LF line terminators (the NMEA0183 sentence convention).
  • Sentence acceptance is gated by checksum (*hh field at end of each sentence). Bad-checksum sentences are dropped silently.
  • The firmware does not require any specific sentence types; it parses what it sees and uses whatever data it can. See the software docs for the current list of recognized sentence IDs.

Troubleshooting

Symptom Likely cause
No NMEA data appearing in regulator console Wrong wire (verify Blue is RX, not the Brown GND), or talker is at 38400 and firmware is configured for 4800
Garbled characters Baud rate mismatch — try 38400 if talker is an AIS receiver
Some sentences pass, others rejected Checksum failure on noisy line — try shorter wire run, or add the second wire if currently single-ended
Continuous chatter when no talker connected Floating input — leave Blue wire taped off, do not let it sit unterminated near a noisy harness