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:
Recommended — single-ended A-only¶
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 (
*hhfield 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 |