Sail Buddy

Sail Buddy is a light-weight sailing app designed to do a few things well. When it comes to sailing I’m mostly a day sailor or a short-trip cruiser. I wanted a light-weight app that would show course, speed, and wind data from my SailTimer wind instrument without a lot of fuss, and without tripping around other features which 90% of the time I don’t use or want.

Download Sail Buddy from the App Store

iPhone 13

Large, easy to read format

iPhone 13

Display recorded data via maps

iPhone 13

Monitor, filter, and export raw NMEA data

iPhone 13

Customize display, network, and data handling

iPhone 13

Shortcuts for fast operation

Apple Watch 1 Apple Watch 2

Full iWatch support

Sail Buddy is not a navigation app. There are many other apps that are better at navigation than Sail Buddy could ever be. No sense reinventing the wheel.

Here’s what Sail Buddy does:

Tell me what you think!

Sail Buddy is a work in progress with lots of room for new ideas. I am very interested in making it more useful so long as I can keep it fast and light. If you have ideas or are experiencing issues, please contact me.

NMEA Operation

Sail Buddy can read and display instrument data transmitted in NMEA 0183 format over a TCP or UDP connection. Here are some typical setups:

WiFi

WiFi-based hardware such as the Brookhouse iMux multiplexer, the SailTimer AirLink or the SailTimer wind vane (discontinued in 2013) create their own WiFi networks.

  1. Go to iPhone settings and choose the wifi network created by your hardware
  2. Tap the Settings icon in Sail Buddy, then tap the NMEA Configuration button and enter the network settings for your hardware
  3. Also enable the appropriate options under Hardware Support for your hardware
  4. Tap the NMEA button in Sail Buddy’s Instruments tab
SailTimer Wind Instrument

The SailTimer wind instrument connects directly to your iPhone via Bluetooth using a custom app.

  1. Download the SailTimer API from the App Store
  2. Launch the SailTimer API, connect to the wind instrument, and confirm it is receiving data
  3. Launch Sail Buddy, tap the Settings icon, then tap the NMEA Configuration button and enter these settings:
    • Connection Type: UDP
    • Port: 55554
    • Displayed Data Types: Wind Speed & Direction
    • Hardware Support: SailTimer Wind Instrument
  4. Tap the NMEA button in Sail Buddy’s Instruments tab

Sail Buddy supports the following NMEA sentences:

Category Identifier Definition
Location ??GGA GPS Location (if location source is set to “NMEA Data”)
Location ??RMC Recommended Minimum Navigation Information (if location source is set to “NMEA Data”)
Wind ??MWV Wind speed and angle
Wind ??MWD Wind direction and speed (relative to true and magnetic north)
Wind ??VWR Relative wind speed and angle
Wind PSTW Wind direction and speed (relative to current heading). See SailTimer wind instrument
Wind WIBAT Battery level (for SailTimer wind vane)
Depth ??DBT Depth below transducer
Depth ??DBK Depth below keel
Depth ??DBS Depth below surface
Depth ??DPT Depth (below surface or keel)

If your device is not supported, please contact me and we can try to work something out.

Notes:

  1. Sail Buddy can obtain your location either from your iPhone/iPad’s built-in GPS (i.e., Location Services) or from your NMEA devices. The switch is in Settings/NMEA Configuration.
  2. NMEA mode works best if GPS mode is also enabled. Otherwise, data may not be monitored correctly if the app is running in the background. Also be sure to enable “Background Location Services” in your iOS settings.

Apple Watch

Sail Buddy for Apple Watch displays the same information as the iOS app. Swipe left or right to switch between information types.

You can also control Sail Buddy via the watch, for instance, start/stop route tracking. Force-press the display to access the menu.

Troubleshooting

Sail Buddy doesn’t display NMEA data

Check the following:

I get a network error when I turn on NMEA data

I’m receiving some NMEA data, but not wind angle

Some devices transmit wind data relative to compass north, while others trasmit relative to your current heading. An option in the Settings tab lets you specify which reference point to use, and uses your current heading to convert one to the other if necessary. But if you’re not moving, Sail Buddy can’t make this calculation. To correct for this, your boat should be moving, or you should change the option in Settings to match the native data sent by your device.

Nope, none of that solves my problem

Use the monitor and status log features described in the next sections to send me your data, and I’ll try to help you out.

NMEA Data Monitoring

The Monitor tab shows a running display of all valid incoming NMEA messages, even those that Sail Buddy otherwise ignores. Use the button in the top left to turn the monitor on or off. In the Settings tab, click the Monitor button to include timestamps, or filter the monitor to just certain messages of interest.

The display is color-coded by message status. Invalid messages appear in red while messages that failed checksum confirmation appear in orange. (You can disable checksum verification in Settings > Sail Buddy). The codes for NMEA sentences that Sail Buddy handles appear in green while those it doesn’t appear in blue.

You can export the NMEA monitor (the most recent 500 sentences) with the Share button in the upper right. Note the extra “Mail to Publisher” option, which lets you email the data directly to me in case you are having technical issues.

Status Logs

In addition to the NMEA monitor, Sail Buddy has an option to separately log low-level network events. This can be helpful if you aren’t getting any data whatsoever (i.e. the Instrument display is blank, and the NMEA monitor is very sparse or empty), which might indicate a network connection issue or data parsing error.

Go to Settings > Sail Buddy (from your home screen), scroll down a bit, and turn on the “Log Messages” option. Sail Buddy will now log subsequent log NMEA sessions, which you start and finish in the Instruments tab, keeping a log going back a day or two at any given time. Then go to the Settings tab in Sail Buddy and click the “Share Logs” button to email me the log. If you just want to view the log data, follow the same steps but don’t click Send.

Privacy Policy

All personal information collected by Sail Buddy, including your location, data logs, and any metadata you enter yourself, is only stored on your iOS device. Sail Buddy does not interact with a data server (other than your own devices) and does not access or store information remotely.

Contact Information

Download Sail Buddy from the App Store