N2K Bridge — User Manual
FIRMWARE v0.22 · РУССКАЯ ВЕРСИЯ · PDF
The N2K Bridge sits between two NMEA 2000 segments and gives you full control of the traffic that crosses between them: block or rewrite messages in flight, inject your own, stream the bus as NMEA 0183 over WiFi, capture traffic for diagnosis, and act as a cross-brand autopilot gateway. Everything is configured from a phone or laptop in a browser — there is no app to install and no display on the device.
Contents
- Connections
- First-time setup
- The web interface
- Status tab
- Traffic tab — the live bus browser
- Rules — block & modify
- Inject
- NMEA 0183 converter
- Autopilot gateway
- Capture & upload
- WiFi & firmware updates
- The bridge as a bus device
- Troubleshooting
- Specifications
1. Connections
Bus A and Bus B are the two NMEA 2000 ports (classic CAN, 250 kbps). The device is powered from the bus (12 V); the USB-C port is for first flashing and service only.
- Split your network into the two segments you want to control — typically the device you are "translating for" (an MFD or control head) on one port and the rest of the backbone on the other.
- Every N2K segment needs a 120 Ω terminator at each end. When one side carries only the bridge and a single device, make sure that short segment is still terminated at both ends.
- The bridge starts forwarding the moment it powers up — WiFi is only needed for configuration, capture upload, and firmware updates. Forwarding never waits for the network.
2. First-time setup
- Power the bridge from the bus. By default everything is forwarded both ways — with no rules configured it is a transparent pipe.
- On a phone or laptop, join the WiFi network
n2k-bridge(password12345678). - A sign-in page opens by itself on most phones (captive portal). If it doesn't, open
http://192.168.4.1in a browser. - The bridge also answers at
http://n2k-bridge.local/— in its own AP and later on your boat network.
To give the bridge internet access (needed only for capture upload and firmware updates), open the WiFi tab, add your boat network under Saved networks (up to 3), and press Apply WiFi settings. The bridge joins the strongest saved network it can find and falls back to its own access point if none is reachable, so you never lose access to the settings page.
3. The web interface
Eight tabs: Status · Traffic · Capture · Rules · Inject · 0183 · Autopilot · WiFi. The header shows the firmware version and a link dot — green and pulsing means the page is live (values stream in over a permanent connection); red means it is reconnecting.
Most switches apply and save instantly (rule on/off toggles, the 0183 master switch and sentence list, the autopilot mode, the station-mode preference). Text and number fields are grouped under an explicit button — Save & apply, Add network, Save AP, or Save in the rule editor. Settings persist across reboots.
4. Status tab
- Bus A / Bus B — frames per second, error counter and a health dot for each port. A red BUS-OFF badge means that port has been knocked off the bus by wiring faults — check connectors and termination.
- Bridge — how many rules are active and totals of blocked and modified messages.
- NMEA 0183 — converter on/off, connected clients, sentences per second.
- WiFi — current mode, network, IP address and the
n2k-bridge.locallink. - System — uptime and free memory.
5. Traffic tab — the live bus browser
Pick Bus A or Bus B and watch the network live, grouped by device. Device names appear automatically as devices announce themselves. Each device row shows its bus address and PGN count, plus a Block device / Unblock device button that drops everything from that device with one tap.
Under each device, one row per PGN: the PGN number, a decoded one-line summary of the latest data, and its rate. Rows are tinted red when a block rule covers them and green when a modify rule touches them.
Tap a PGN row for the detail view: every decoded field, the raw bytes, and message statistics — with Block and Modify shortcut buttons that create a pre-filled rule for exactly that PGN from exactly that device.
Pause freezes the list while you read it; the data underneath keeps flowing.
6. Rules — block & modify
By default everything is forwarded both ways. Rules change that. The bridge holds up to 32 rules (shared with 0183 rules and injections); each has an on/off toggle and a live hit counter.
| Field | Meaning |
|---|---|
| PGN | Which message the rule matches. Leave at any to match a whole device. |
| Source | The sending device's bus address (pick it in Traffic, or leave any). |
| Direction | A→B, B→A or both. |
- Block — matching messages are dropped and counted. Block a noisy sender, hide a faulty sensor from an MFD, or silence a whole device.
- Modify — matching messages are rewritten in flight, then forwarded. For known PGNs you edit named fields in real units (angles in degrees, speeds in knots…); for anything else there is a raw byte editor (up to 6 changes per rule). Long multi-frame PGNs are reassembled, modified and re-sent transparently.
When several modify rules could match the same message, the first enabled match wins — keep one modify rule per PGN/source to stay predictable.
7. Inject
Injections transmit a PGN you define, on a schedule, onto Bus A, Bus B or both — add data a device expects, or feed a simulated value for testing.
- PGN + payload — up to 32 bytes, entered as hex; for known PGNs the
same field editor as Modify fills the bytes for you. A new injection starts as all
FF(every field "unavailable") — set only the fields you mean to send. - Period — 50 ms to 60 s (default 1000 ms).
- Injected messages are sent from the bridge's own bus address
0x42(see Section 12).
8. NMEA 0183 converter
Turn the master switch on to stream the bus as NMEA 0183 over WiFi — a
TCP server (up to 4 clients) and UDP broadcast, both on
port 10110 by default — for OpenCPN, Navionics, iSailor and other apps on
the same WiFi network.
- Source bus — which port feeds the converter (default Bus A). It reads the raw bus, before any bridge rules.
- Talker ID — two letters at the start of every sentence
(default
II). - Sentences — tick exactly what goes out; each row shows a live preview of the last sentence, dimmed when its source data goes stale (>5 s).
- 0183 rules — the converter has its own block/modify rules applied to its input only, so you can clean up the feed for the apps without touching what crosses the bridge.
| Sentence | Content | From N2K PGN |
|---|---|---|
HDG | Magnetic heading, variation | 127250 (+127258) |
DPT / DBT | Depth | 128267 |
MWV (A) | Apparent wind | 130306 |
MWV (T) | True wind | 130306 |
RMC | Position, SOG, COG, time | 129025 / 129026 / 129029 |
GGA | GPS fix detail | 129029 |
GLL | Position | 129025 / 129029 |
VTG | COG and SOG | 129026 |
VHW | Heading + speed through water | 127250 + 128259 |
XDR | Air temp, barometer, battery volts | 130310 / 130311 / 127508 |
Wind is sent at 2 Hz, navigation, depth and XDR at 1 Hz. The converter is output-only — it does not accept 0183 input.
9. Autopilot gateway
Many MFDs refuse to show autopilot control for a pilot of a different brand, or an older generation of the same brand. The bridge fixes that: it presents a virtual pilot in your control head's brand, hides the real pilot's identity from the head, and translates commands and status between them.
Wiring
Put the control head / MFD on one CAN port and the real pilot together with the rest of the backbone on the other. All normal data still flows both ways; only the autopilot messages are translated.
Configuration (Autopilot tab)
- Proxy mode — Off (pure pass-through), Display-only (the head sees the pilot and its live status but no commands are relayed — always start here), Full-control (commands are relayed to the real pilot). The mode survives a reboot.
- Control head — B&G / Simrad or Raymarine.
- Real pilot — Navico AC, Navico NAC, or Raymarine.
- The tab also shows the real pilot as the bridge tracks it: detected or not, current mode (Standby / Auto / Wind / Nav), target heading and bus address.
Feature maturity
| Configuration | Status |
|---|---|
| B&G/Simrad head → Navico AC/NAC pilot | Built; pending on-boat validation. |
| Raymarine head ⇄ Navico pilot — display | Status confirmed against real Raymarine data. |
| Raymarine old → new (SmartPilot) | Built; one-byte spoof, lowest risk. |
| Raymarine command injection | In sea trials — use Display-only + Capture first. |
10. Capture & upload
The Capture tab records raw bus traffic — the fastest way to prove what is, and isn't, on the wire.
- Choose the interface: Bus A, Bus B or Both (default).
- Leave Rolling ticked to keep the most recent traffic when the buffer fills (about 100,000 frames), or untick it to stop at the first fill.
- Start, reproduce the issue, Stop.
- Enter a boat name and press Upload to server. The log lands on the cloud dashboard where it can be decoded and analysed for support.
Uploading needs internet — join a WiFi network on the WiFi tab first (the bridge's own access point has no internet). The capture also records what the bridge itself transmitted, so injections and autopilot translations are visible in the log.
11. WiFi & firmware updates
- Prefer station mode — when ticked (default) the bridge tries the saved networks first at boot and falls back to its own AP; untick to always host the AP.
- Saved networks — up to 3; the strongest reachable one wins.
- Access point — change the AP name and password (8+ characters; leave the password empty for an open network).
- Apply WiFi settings — re-runs the connection with the new settings immediately.
- Firmware — shows the running version and the latest published version. Check for update, then Apply update when one is offered; progress is shown on the page and the bridge reboots into the new firmware. Updates keep all your settings.
- Factory reset — asks twice, then wipes all rules, 0183 and WiFi
settings and reboots into the default access point
(
n2k-bridge/12345678).
12. The bridge as a bus device
The bridge announces itself on both buses as a normal NMEA 2000 device —
device class "Inter/Intranetwork Device", function "PC Gateway", bus address
0x42. That is the address its injections and autopilot translations are sent
from, and how it appears in another tool's device list. It transmits nothing else unless
you configure injections or the autopilot gateway.
13. Troubleshooting
| Symptom | What to do |
|---|---|
| No devices in Traffic | That CAN port isn't seeing the bus. Check the Status tab for BUS-OFF, the connectors, and the 120 Ω terminators. |
| BUS-OFF badge on Status | Wiring fault on that segment — swapped CAN-H/L, missing terminator, or a short. Fix the wiring; the port recovers by itself. |
| Apps don't receive 0183 | Converter master switch on? Phone/laptop on the
same WiFi network as the bridge? App set to TCP n2k-bridge.local:10110
or UDP port 10110? Right source bus selected? |
| MFD doesn't show the virtual pilot | Capture the head-side bus and upload — the missing handshake gets fixed via a firmware update. |
| MFD shows both a real and a virtual pilot | Put the real pilot on the far CAN port from the MFD, so the bridge can hide it. |
| Command on the MFD does nothing (Full-control) | For Raymarine pilots this path is in sea trials; capture Both during the press and upload. The pilot's physical head still works throughout. |
| Upload / update fails | The bridge needs internet — join a WiFi network with internet on the WiFi tab (its own AP has none). |
| Can't reach the web page | Try http://n2k-bridge.local/, then the
IP shown by your router. If the bridge joined a boat network you can't find, power-cycle
it away from that network — it comes up as the n2k-bridge AP. |
| Forgot the AP password | Connect over USB-C for service, or use Factory reset from a network connection if you still have one. |
14. Specifications
- ESP32-S3 dual-core, 8 MB flash, 8 MB PSRAM.
- 2 × NMEA 2000 ports (classic CAN, 250 kbps).
- Powered from the NMEA 2000 bus (12 V); USB-C for service.
- WiFi access point or station; web UI over a live WebSocket connection; mDNS
n2k-bridge.local. - NMEA 0183 out: TCP server (4 clients) + UDP broadcast, default port 10110.
- 32 rules (block / modify / inject), 6 field changes per modify rule, injection period 50 ms – 60 s.
- Capture: ~100,000 frames in PSRAM, rolling or fill-once, cloud upload.
- Over-the-air firmware updates (settings preserved).
The autopilot gateway is an aid, not a replacement for a properly installed, commissioned autopilot. Always maintain a watch and keep the pilot's own control head available.