NMEA 2000 ⇄ WiFi ⇄ RS485 multiplexer and tactical sailing computer: instrument calibration, true & ground wind, VMG, current, polars and performance — streamed to your phone, plotting apps and the Pixel display. Руководство на русском → · Download as PDF
The gateway joins your NMEA 2000 backbone as one more device, listens to everything on the bus, calibrates and smooths the readings, computes tactical data, and streams standard NMEA 0183 sentences over WiFi:
| Output | Default port | For |
|---|---|---|
| UDP broadcast | 2000 (configurable) | Pixel mast display, apps that accept UDP |
| TCP server | 10110 (configurable) | Navionics Boating, OpenCPN, iSailor, qtVlm… |
| NMEA 2000 out | — | Calibrated values back on the bus as the gateway's own source (opt-in) |
| RS485 wired 0183 | 4800/9600/38400 Bd | Legacy instruments — in and/or out |
The stream includes position (RMC), COG/SOG, heading (HDM, and HDT whenever true heading exists or can be derived from magnetic variation), apparent and true wind (MWV), ground wind (MWD, computed in the earth frame so it stays correct straight through tacks), depth, boat speed, heel/pitch (XDR) and AIS targets (AIVDM).
When several devices send the same data (two GPS sources, two depth senders), the gateway arbitrates per data type. Tap a data card on the web page to pick the winning source yourself.
Connect to a free N2K drop with a standard drop cable. The gateway is powered from the bus — no other wiring is required.
A 2-wire RS485 terminal (A/B) accepts or drives wired NMEA 0183. The pair is half-duplex: use it as an input, an output, or time-shared both — but not truly simultaneous separate in+out. Configure on the RS485 tab (see §9).
can2wifi.http://can2wifi.local (or 192.168.4.1).myboat → http://myboat.local) and the name of the setup network.
Menu → Paired devices → add a TCP connection to the gateway's IP, port 10110. Position, AIS and instruments appear on the chart.
Options → Connections → Add: Network, protocol TCP, address = gateway IP, port 10110. Alternatively UDP, port 2000, address blank (listen).
Nothing to configure — the Pixel listens for the UDP feed on the same network. If another NMEA source (e.g. a WiFi router/gateway) already broadcasts on port 2000, move this gateway to another port (e.g. 2001) in Setup → Status & controls and set the Pixel to the same port.
http://can2wifi.local — six tabs, live over a permanent connection (values update in place, settings apply immediately):
| Tab | What's there |
|---|---|
| Data | Live cards for every received data type; tap a card to see all sources and pick which one wins. |
| Tactical | True wind, ground wind, VMG, current (set/drift), leeway, laylines, wind-shift statistics, gusts, polar targets. |
| Polar & Sails | Polar upload, polar library, sail wardrobe, self-learning, polar diagram, leeway K. |
| Calibration | Per-channel smoothing; heading offset; wind vane curve; boat-speed (STW) heel grid; live wind dial. |
| RS485 | Wired NMEA 0183 port: enable, baud, routing, diagnostics. |
| Setup | Status & controls (firmware, AIS, ports, N2K out, reboot), WiFi networks, device name, storage health, settings backup. |

All corrections are applied inside the gateway, so every consumer — WiFi apps, the Pixel, the N2K re-broadcast — gets the same calibrated values.
A single offset in degrees for compass installation error.
The wind-vane curve editor corrects apparent wind angle at multiple points around the circle (mast twist, vane misalignment); wind speed gets a percentage correction. The live wind dial shows raw and final (calibrated + smoothed) values together, so you see exactly what will be transmitted.
Per channel (AWA, AWS, SOG, COG, HDM, HDT, STW): Mean (even average), Weighted (recent samples count more) or Median (rejects spikes), window up to 30 s. Angles use circular math so 350°/10° average to 0°, not 180°.
The paddlewheel misreads when the boat heels, and differently on each tack. The STW grid corrects it as a percentage over 8 speed rows × 12 heel columns (2°-steps up to 12° where the error changes fastest, then 15–40°), with separate port (red) and starboard (green) tables. Heel comes from the bus (attitude PGN or XDR Roll).
Next to your manual table the gateway builds a recommended table by itself: whenever both GPS speed and paddlewheel speed are available it learns the ratio per cell while you sail. Review it and press Transfer to copy learned cells into the manual table. Reset learning starts over. The Stop learning / Start learning button pauses the self-learning — use it when motoring in waves or towing would pollute the table, and resume when sailing clean. The live row highlights which cell is active right now.

| Value | Needs | Meaning |
|---|---|---|
| True wind (TWA/TWS/TWD) | apparent wind + STW | Wind over the water; TWD uses true heading when available. |
| Ground wind (GWD/GWS) | apparent wind + heading + GPS | Wind over the ground, recomputed continuously in the earth frame — stays correct through tacks and gybes. Sent as MWD. |
| VMG | true wind + boat speed | Speed made good toward/away from the wind. |
| Current (set/drift) | heading + STW + GPS | Difference between water track and ground track. |
| Leeway | heel + STW | K·heel/STW²; set K on the Polar tab (10 is a common start). |
| Laylines | true wind + polar | Port/starboard layline headings for the optimal upwind/downwind angles. |
| Wind shift | true wind | Mean direction, current shift and oscillation band over a selectable window (2–30 min), flagged lifted/headed for your tack. |
| Gusts | true wind | Lull / average / gust wind speed over the last 30 s. |
| Polar performance | polar + true wind + STW | Target speed at the current wind, your % of target, optimal TWA and target VMG. |

Upload a polar as CSV: first row = TWA list, first column = TWS, cells = target boat speed. Polar library stores several complete polars to switch between. Sail wardrobe: store a polar per sail, tick what's rigged — the gateway combines the enabled sails into the working polar envelope. Learning: while sailing (engine off — it pauses automatically when engine RPM is on the bus), the gateway records your best speed per wind bin; Promote learned turns it into the active polar. The polar diagram plots the active polar with your live point on it.

| Setting | Meaning |
|---|---|
| Enable + baud | 4800 (standard NMEA), 9600 or 38400. |
| RX → instruments | Sentences received on the wire feed the gateway's data pool (and on to WiFi/N2K). |
| RX → WiFi relay | Raw received lines are also forwarded to the WiFi outputs unchanged. |
| TX | The gateway transmits its 0183 sentence set on the wire (for a legacy autopilot/repeater). |
| Diagnostics | Byte counter + last raw characters — tells wiring problems (0 bytes) from baud/polarity problems (garbage) at a glance. |

With N2K out enabled (Setup tab; off by default), the gateway claims an address and transmits its calibrated heading, wind, boat speed and COG/SOG back onto the bus as its own source. Your MFD can then source-select the gateway instead of the raw sensor. The raw sensor keeps transmitting too — that's how N2K works — so make the selection once on each display.
Over the air from pixelmast.com: Setup → Status & controls → Update firmware. The device needs boat WiFi with internet. Settings survive updates.
The Storage card on the Setup tab shows settings-memory usage and data-file space, and turns red if a save ever fails — so nothing is lost silently. Download settings saves a full backup file (calibration, polars, sails, ports, everything); Restore from file puts it back — handy before experiments or when moving to a replacement unit.
| Symptom | Check |
|---|---|
| No data in the app | Phone/tablet on the same WiFi network? TCP 10110 / UDP port correct? UDP tx enabled on the Setup tab? |
| No AIS targets | AIS receiver present on the N2K bus? AIS toggle ON (Setup tab)? Targets appear within ~3 minutes. |
| Web page unreachable | Try http://can2wifi.local (or your device name); if the boat network is down the gateway opens its own setup network. |
| Wrong source used | Data tab → tap the data card → pick the source. |
| STW table only learns one tack | Learning needs heel with sign (attitude sensor on the bus) and GPS speed. Check Roll on the Data tab. |
| No HDT / ground wind | True heading needs either a true-heading source or magnetic variation on the bus (GPS usually sends it). Ground wind additionally needs COG/SOG. |
| Settings don't survive reboot | Setup → Storage must show free space and no save errors. Update firmware if it shows red. |
Questions, feature requests: bad040@gmail.com