Communication with the UART-enabled firmware is possible through the Nucleo’s built-in ST-link. Both the CLI and pyCCDGUI should work under macos.


The command line interface (CLI) is obviously used from the terminal. It depends on glib. After installing glib, the precompiled binary in should work.

It’s not impossible that the program needs to be marked as executable first, in this case navigate to the directory of the program and type:

chmod +x Otterly-CCD-CLI

To use the built-in gnuplot-interface (-p option) gnuplot must obviously be installed, so after installing glib, type:

brew cask install xquartz

and then

brew install gnuplot --with-x11

After this, refer to the CLI-manual.

The tty-naming scheme on MacOS X is confusing. The serial device to connect to is not tty.usbmodemxxx but cu.usbmodemxxx but apart from that the CLI-manual should cover the MacOS-CLI as well.

In the MacOS-zip there is also an Excel 2016 spreadsheet. Usage should be self explanatory, but the steps to getting it to work may not be. (I’m not sure if it works at all on Excel 2011.)

The spreadsheet works as a front-end for the CLI via VBA using AppleScriptTask to get out of the sandbox. To use it, a working CLI is required and the file OtterlyCCD.applescript must be copied to

~/Library/Application Scripts/

If you’re too lazy to type, the zip includes a script to do it (mark as executable first). However, if the directory does not already exist, it must be created (I was too lazy to include this in the script). Type:

mkdir ~/Library/Application Scripts/

If you wish to compile a working CLI yourself, you’ll need to install:

  • xcode
  • xcode’s command line tools
  • glib
  • pkg-config

The compiler options need to be modified slightly (link to argp) so use the dedicated MacOS-zip in downloads.


pyCCDGUI is a platform-independent graphical user interface written python3.

Find it under downloads, where there is also a stand-alone executable for macos.