OpenCPN radar plugin for Navico Broadband Radars (BR24, 3G, 4G models)
C++ C CMake PAWN Shell Batchfile
Latest commit 5a5b23b Jan 15, 2017 @canboat committed on GitHub Merge pull request #236 from douwefokkema/master
MARPA and ARPA added
Failed to load latest commit information.
buildosx/InstallOSX Fix build on OSX after translation name changes Jul 13, 2016
cmake Fix #143 Jul 13, 2016
example Add Halo example file. Sep 26, 2016
po Translations, po-files, updated from Crowdin Aug 24, 2016
src Guard Dialogue: "ARPA On" instead of "ARPA" Jan 12, 2017
wiki More screenshots Sep 5, 2016
CMakeLists.txt Version 2.3 Jan 10, 2017
Makefile Add build files to prevent reinventing the wheel. May 23, 2015 Add reference to new documentation Sep 5, 2016 Better explanation of how the code works Mar 13, 2016
build.cmd Add build files to prevent reinventing the wheel. May 23, 2015 Add openplotter host for linux-armhf. May 28, 2016
release-state Add build files to prevent reinventing the wheel. May 23, 2015

BR24radar_pi - Navico Broadband Radar Plugin for OpenCPN


The latest binary version for Microsoft Windows and OS X can be downloaded at . Ubuntu/Debian can install the standard opencpn PPA and install 'opencpn-plugin-br24radar'.


There is now a manual on this site, see .


You can compile just this plugin without having to compile the entire OpenCPN source. If you check out the plugin source into the plugins subdirectory of your OpenCPN source tree, you can build it as part of it (exactly as with the versions prior to 1.0).

You will need the general preconditions for building OpenCPN from .

The following command line snippets show how to build the entire package separately from the OpenCPN source. In order to build multiple platforms you can build in separate build-${platform} directories.

Obtain the source code

git clone

Build on Microsoft Windows

mkdir BR24radar_pi/build-win32
cd BR24radar_pi/build-win32
cmake ..
cmake --build .

Windows note: You must place opencpn.lib into your build directory to be able to link the plugin DLL. You can get this file from your local OpenCPN build, or alternatively download from

Creating a package on Microsoft Windows


cmake --build . --config release --target package

Build on Linux

Example on 64 bit Intel/AMD64 system:

mkdir BR24radar_pi/build-linux-x86_64
cd BR24radar_pi/build-linux-x86_64
cmake ..

Creating a package on Linux

make package

Build on Mac OS X:

XCode can be downloaded from the App Store.

Tools: Can be installed either manually or from Homebrew ( Homebrew is highly recommended.

brew install cmake
brew install gettext
ln -s /usr/local/Cellar/gettext/0.19.2/bin/msgmerge /usr/local/bin/msgmerge
ln -s /usr/local/Cellar/gettext/0.19.2/bin/msgfmt /usr/local/bin/msgfmt

To target older OS X versions than the one you are running, you need the respective SDKs installed. Official releases target 10.7. The easiest way to achieve that is using

Building wxWidgets

(do not use wxmac from Homebrew, it is not compatible with OpenCPN) Get wxWidgets 3.0.x source from Configure, build and install

cd wxWidgets-3.0.2
./configure --enable-unicode --with-osx-cocoa --with-macosx-sdk=/Applications/
sudo make install

Building the plugin

Before running cmake, you must set the deployment target to OS X 10.7 to be compatible with the libraries used by core OpenCPN

mkdir build-mac
cd build-mac
cmake ..

Packaging on OS X

Get and install the Packages application from

make create-pkg


The plugin code is licensed under the terms of the GPL v2.


This would be a pretty useless plugin if OpenCPN did not exist. Hurrah for @bdbcat!

The plugin was started by @cowelld, who took @bdbcat's Garmin radar plugin and the reverse engineered data from and created the first working version in 2012.

@canboat started helping Dave. Soon he implemented most of the 4G specific functionality, refactored the code, rewrote the control dialogs, implemented the guard zones, target trails, PPI windows, EBL/VRM and mouse cursor functionality.

@nohal contributed the packaging installers, without which this would still be a set of sources instead of deliverable packages for various platforms.

@Hakansv did a lot of testing and contributed the idle timer, and contributed work on the translations.

@douwefokkema also tested a lot and implemented the heading on radar functionality, optimised the OpenGL drawing, implemented the refresh rate code and optimised the target trails code.

@seandepagnier shader support and some optimizations.