NMEA0183 Input¶
Purpose¶
The regulator has a protected, RX-only NMEA0183 serial input on UART_RX2 for a GPS, AIS, or depth/wind talker (or the combined output of an NMEA multiplexer). There is no TX path; the regulator does not transmit NMEA0183 sentences.
What the firmware decodes today
The receiver ships and is off by default — turn it on with NMEA 0183 Data under Setup → Integrations → NMEA 0183. With it on, every arriving sentence is framed and checksum-checked, and two counters (Sentences Received and the checksum-error count, both under Live Data → Integrations) prove the wiring even for talkers whose sentences are not decoded. Only heading is decoded into a value — HDT/THS as true, HDM/HDG as magnetic — and it is deliberately kept separate from the NMEA2000 heading rather than silently merged with it, so nothing consumes 0183 heading automatically. GPS speed, position, wind, and depth still come from the NMEA2000 (CAN) network. None of that data gates or qualifies charging: charging is driven by engine RPM, ignition, battery voltage/current, and temperature. GPS, speed, and wind data feed the boat-performance, trip, fuel-economy, and leaderboard features only.
For the input protection stage (HCPL2531 optocoupler, current-limiting resistors, clamp diodes, pull-ups), see UART Input Protection Circuit. 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 (firmware) | 4800, 9600, 19200 or 38400 — selectable, default 19200 | Serial Speed under Setup → Integrations → NMEA 0183 (NMEA0183Baud). 4800 is the standard rate for an instrument wired direct, 19200 the combined output of a multiplexer such as a YachtDevices gateway, 38400 the AIS/high-speed rate |
| Data format | 8 data bits, no parity, 1 stop bit (8N1) | Standard |
| Input stage | HCPL2531 optocoupler — protection and level shifting, common ground | Not galvanic isolation — see UART Input Protection Circuit |
| Receive polarity | Selectable, default Normal | The protection stage inverts, but a proper NMEA 0183 / RS-232 talker idles its A leg negative, so the two inversions cancel — that is the Normal setting. A bare 3.3 V or 5 V logic talker idles high and needs Inverted. Signal Type under Setup → Integrations → NMEA 0183 (NMEA0183Invert) |
| Internal pull-up | 13 kΩ to 3.3 V on UART_RX2_ISOL | With no talker connected, the line idles HIGH |
Connector Pin¶
| Cable | Connector | Pin | Wire color (T568B) | Signal | ESP32 GPIO |
|---|---|---|---|---|---|
| 3 | RJ3 — left port | 4 | Blue | UART_RX2 | GPIO6 |
See the Data Cables & Pinout 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, or the combined output of a multiplexer) expose two output signals labeled NMEA OUT A (or "+") and NMEA OUT B (or "−"), plus a ground.
The signal and its return are on different cables
The signal pin is on Cable 3 (the left RJ3 jack). The regulator's ground return is Cable 4's Brown wire — RJ3 pin 16, on the right RJ3 jack. Cable 3 itself carries no ground pin, so the recommended wiring below spans both RJ3 cables.
Recommended — works for every talker¶
Talker NMEA OUT A → RJ3 pin 4 (Cable 3, Blue / UART_RX2)
Talker NMEA OUT B → RJ3 pin 16 (Cable 4, Brown / GND)
The receive circuit is an optocoupler LED behind a series resistor. Wired A/B like this, the LED current loop closes locally through the pair, so it works no matter how the talker is grounded — including talkers with isolated NMEA outputs (common on AIS units), which produce nothing at all if B is left unconnected.
Shortcut — battery-powered talkers only¶
If the talker is powered from the same DC system as the regulator (shares battery negative), the return current can flow through the boat's negative bus instead:
Talker NMEA OUT A → RJ3 pin 4 (Cable 3, Blue / UART_RX2)
Talker NMEA OUT B → unconnected (taped off)
No ground wire is needed; the talker's chassis ground stays on the boat's ground bus as usual. Do not use this shortcut with an isolated-output talker.
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 UART driver expects standard 8N1 framing and CR/LF line terminators (the NMEA0183 sentence convention). A sentence starts at
$or!; anything buffered before one is abandoned. - Sentence acceptance is gated by checksum (the
*hhfield at the end of each sentence). A sentence that fails, is missing its checksum, or overruns the 96-byte line buffer is dropped and counted as a checksum error rather than trusted. - No specific sentence types are required. Every checksum-valid sentence of any type increments the received count, so the counters confirm the link even when nothing on the wire is decoded.
- Only heading is decoded (
HDT,THS,HDM,HDG), matched on the three-character sentence type so any talker prefix works.THSis accepted only in autonomous or differential mode. A decoded heading ages out after 10 seconds of silence, so a dead talker reads as absent instead of freezing. - The drain is capped at 512 bytes per 50 ms pass with a microsecond deadline between 64-byte chunks, so the receiver can never hold the control loop; unconsumed bytes wait in the 2 KB driver ring.
Troubleshooting¶
| Symptom | Likely cause |
|---|---|
| Sentence count stays at zero | NMEA 0183 Data still off, wrong wire (verify Blue is RX, not the Brown GND), or Serial Speed does not match the talker |
| Checksum error count climbing | Wrong Signal Type (try the other setting before rechecking the wiring), wrong Serial Speed, or a noisy line |
| 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 |