Version: 8.x.x


Debugging Output#

We use the debug package and log under the serialport namespace. Each package has it's own scope

  • serialport/stream for all stream released logging
  • serialport/binding* for all binding related logging
  • serialport/* for everything

You can enable logging through environment variables. Check the debug docs for info.

linux, osx#

DEBUG=serialport/stream node myapp.js
DEBUG=serialport/* node myapp.js
DEBUG=* node myapp.js

Windows command prompt notes#


On Windows the environment variable is set using the set command.

set DEBUG=serialport/*


set DEBUG=serialport/* & node myapp.js

PowerShell (VS Code default)#

PowerShell uses different syntax to set environment variables.

$env:DEBUG = "serialport/*"


$env:DEBUG='serialport/*'; node app.js

Core dumps#

You can enable core dumps on osx with;

ulimit -c unlimited for core dumps

You can "console.log" from c++ with;

fprintf(stdout, "Hellow World num=%d str=%s\n", 4, "hi");


You can make use of the serialport-repl command with;

serialport-repl # to auto detect an arduino
serialport-repl /path/name # to connect to a specific port

It will load a serialport object with debugging turned on.

Last updated on by Francis Gulotta