libPCBUSB  Version 0.10, Build 951 of December 22, 2020
macOS Library for PCAN-USB Interfaces
macOS Library for PCAN-USB Interfaces (x86_64)

Copyright © 2012-2020 by UV Software, Berlin, Germany

The PCBUSB library realizes a 'PCAN-USB Driver for macOS' using Apple's IOUSBKit. It supports up to 8 PCAN-USB or PCAN-USB FD devices from PEAK-System Technik, Darmstadt. See the header-file PCBUSB.h for details.

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

The library is freeware without any warranty or support!


  • Only the following devices are supported:
    • PCAN-USB (item no. IPEH-002021 and IPEH-002022)
    • PCAN-USB FD (item no. IPEH-004022)
    • PCAN-USB Pro FD (item no. IPEH-004061), but only the first channel (CAN1)
  • CAN_Write: Transmission of the given message on the CAN bus is not acknowledged by the USB interface.
  • CAN_FilterMessages: Message filtering is currently not supported.
  • Writing into a trace file: Only 100'000 frames can be recorded into one trace file. An existing trace file with the same file name will be overwritten.
  • CAN_LookUpChannel: Channel searching is currently not supported.

Known bugs and caveats

  • The LED of the PCAN-USB FD device is not turned on (green) when the device is plugged into the USB bus. This is due to the fact that there is no 'real' driver for PCAN-USB devices under macOS. So the LED of the PCAN-USB FD device cannot signal the presence of a driver. When operating the LED signals the correct operation state of the PCAN-USB FD device (blinking green, or red on error).
  • The same LED issue is for the PCAN-USB Pro FD device. The LED for the first channel signals its operation state only when operated by an application.
  • The second channel of the PCAN-USB Pro FD device is not supported by the driver. It is not listed in the device list; its LED is turned off.
  • The device number cannot be changed for PCAN-USB FD devices and PCAN-USB Pro FD devices (function CAN_SetValue, parameter PCAN_DEVICE_ID).
  • When a device is used by another process this cannot be detected by a call to CAN_GetValue with parameter PCAN_CHANNEL_CONDITION. The occupied device is shown as PCAN_CHANNEL_AVAILABLE to the own process.
  • When a successfully initialized PCAN-USB device is physically removed from USB any subsequent call of API functions (e.g. CAN_Read) will not succeed even when the device is plugged in again. An error code will be returned in this case.
  • Due to the latency between the completions of the isochronous transaction on the USB bus and servicing of the callback function, on slowed down systems a mysterious repetition of already processed URBs may occur. In this case speed up your system and everything works fine.

Author: Uwe Vogt, UV Software, Berlin