OS X Library for PCAN-USB Interfaces
OS X Library for PCAN-USB Interfaces
Developed by UV Software, Berlin.

PCBUSB Library

The PCBUSB library realizes a 'PCAN-USB Driver for OS X' using Apple´s IOUSBKit. It supports up to 8 PCAN-USB devices from PEAK-System Technik, Darmstadt. The library offers an easy to use API to read received CAN messages from a 64K message queue and to transmit CAN messages. Standard CAN frames (11-bit identifier) as well as extended CAN frames (29-bit identifier) are supported.

The library comes with an Objective-C wrapper and a demo App: MacCAN Monitor App.

PCAN is a registered trademark of PEAK-System Technik GmbH, Darmstadt, Germany.
Mac and OS X are trademarks of Apple Inc., registered in the U.S. and other countries.

All software offered below are freeware without any warranty or support!

Please note the copyright and license agreements.


PCBUSB Library

The PCBUSB library realizes a 'PCAN-USB Driver for OS X' using Apple´s IOUSBKit. The dynamic library libPCBUSB is running on macOS 10.12, x86_64 architecture.

The API is nearly compatible to PEAK´s PCANBasic DLL. See the doxygen documentation and the header-file for details.

Version 0.7 (Build 558 of November 30, 2016):

  • Adapted the API according to Peak's changes in version and harmonized return codes with it.
  • Implemented parameter PCAN_CHANNEL_FEATURE and PCAN_BITRATE_INFO.

Version 0.6 (Build 425 of February 20, 2015):

  • Parameter PCAN_RECEIVE_EVENT returns a file descriptor to realize 'blocking read' by select() as on the Linux implementation of the PCAN-Basic API.
  • Added two C++ examples and one Python example using the PCBUSB library

Version 0.5 (Build 370 of November 23, 2014):

  • Feature 'Reading/Writing of parameter PCAN_DEVICE_NUMBER' implemented.
  • Fixed issue #104 'Hot plugging was not detected by the library/driver'.
  • Fixed issue #117 'Permission for libPCBUSB.x.y.lib wrong' (chmod 755).
  • Return codes of API functions harmonized with PCANBasic.dll (

Version 0.4 (Build 293 of Febuary 23, 2014):

  • Time-stamps are now taken from CAN controller instead of taking them from the system clock.
  • Getting and setting of PCAN_* parameters reworked (to be almost compatible to the PCANBasic DLL, version 1.3).
  • Resetting of RCV queue and XMT queue on the CAN controller realized.

Version 0.3 (Build 235 of November 2, 2013):

  • Fixed issue #11 'All channel initialized by the application will be closed even if they are in use'.
  • CAN_Unitialize: closing all channel initialized by the application at once implemented.
  • CAN_Read: receive queue overrun handling reworked.
  • CAN_*: wrong function return codes corrected.
  • CAN_GetErrorText: language support for English, German, French, Italian and Spanish added.

Version 0.2 (Build 163 of September 8, 2013):

  • Minor changes

Version 0.1 (Build 149 of June 30, 2013):

  • Initial revision

Older versions of the PCBUSB library can be downloaded from here.



 Show doxygen

MacCAN Monitor App

The MacCAN Monitor App is a demo program to show the functionally of the PCBUSB library.

The program displays received CAN messages in a table view; its size is limited to 1024 rows. Furthermore it is possible to send single standard CAN messages with 0 to 8 data bytes.

Version 0.2 SR3 (Service release of December 1, 2016):

  • Included version 0.7 of the PCBUSB library

Version 0.2 SR2 (Service release of February 21, 2015):

  • Included version 0.6 of the PCBUSB library

Version 0.2 SR1 (Service release of November 24, 2014):

  • Included version 0.5 of the PCBUSB library

Version 0.2 (Release of February 24, 2014):

  • Minor changes (to run with version 0.4 of the PCBUSB library)

Version 0.1 (Release of September 8, 2013):

  • 1st release (demo version)

Older versions of the MacCAN Monitor App can be downloaded from here.



 Play Video

Command-line Tool

If you prefer to work in a terminal session, here is a command-line version of the CAN Monitor application.

The command-line tool 'can_moni' runs as a standalone program, therefor it is not necessary to install the PCBUSB library to run the program.

Version 0.3 (Build 371 of November 23, 2014):

  • Time-stamps are taken from CAN controller.

Version 0.2 (Build 138 of May 17, 2013):

  • Initial revision

Version 0.1 (Build 86 of July 6, 2012):

  • reverted

Older versions of the 'can_moni' tool can be downloaded from here.

A Linux version of the 'can_moni' tool using BerliOS SocketCAN can be downloaded from here.



 Other Stuff

MacCAN Monitor App

Play Video

Quick Time Video
Length: 0:00:27 (25MB)
Copyright © 2013 by UV Software, Berlin.




You CAN get it...

Hardware, software and system solutions for many sectors including automotive, aircraft, machinery and equipment building and consumer goods.



Donations to my work are gratefully welcome.


© 2012-2016 UV Software, Berlin. All rights reserved.
Facebook Twitter Google+ Imprint