
A Unified, Free API for PEAK CAN Devices
PCAN-Basic from PEAK-System is the free programming interface for developers who need to build custom CAN and CAN FD applications using PEAK hardware. Whether you’re working with USB, PCI, PCIe, MiniPCIe, M.2, WLAN, or LAN interfaces, PCAN-Basic provides a single, consistent API for all device types.
And the best part? It’s completely free for both personal and commercial use.
Why Choose PCAN-Basic?
- Universal Support Across PEAK Interfaces - One API for all PEAK CAN adapters—USB, PCI, LAN, and more.
- CAN and CAN FD Compatibility - Easily switch between classical CAN and CAN FD messaging with the same codebase.
- Multiplatform: Windows & Linux - Available for 32/64-bit Windows and multiple Linux distributions.
- Multilingual Sample Code - C, C++, C#, VB.NET, Delphi, Python, and more. Jumpstart your dev process.
- Free & Flexible Licensing - No restrictions or activation. Ideal for both prototyping and production.
Common API Functions
The PCAN-Basic API includes a robust set of functions for interacting with CAN and CAN FD networks. Here are the core calls developers rely on:
Function | Description |
---|---|
CAN_Initialize |
Initializes a CAN channel for communication. |
CAN_Uninitialize |
Closes a previously initialized CAN channel. |
CAN_Reset |
Resets a CAN controller or clears its internal status. |
CAN_GetStatus |
Retrieves the current status of the CAN controller. (data in buffer, overruns etc.) |
CAN_Read |
Reads a CAN or CAN FD message from the receive queue. |
CAN_Write |
Sends a CAN or CAN FD message onto the network. (11/29-bit ID and RTR available) |
CAN_FilterMessages |
Configures acceptance filtering for incoming messages. |
CAN_GetValue |
Queries device-specific information (bitrate, status, etc.). |
CAN_SetValue |
Configures various channel or hardware parameters. |
CAN_GetErrorText |
Returns readable error messages for troubleshooting. |
These functions enable full control over bus communication, error handling, device settings, and filtering.
What's Included with PCAN-Basic
-
DLLs for Windows and Linux
-
Header files, constants, and type definitions
-
Full documentation (PDF & HTML formats)
-
Code examples in multiple languages
-
Supports single and multi-threaded applications
-
Handles multichannel environments and event notifications
How It Works: Drivers, DLLs, and API Access
To get started, a Windows driver is installed to act as the interface between your CAN adapter and application software. This driver includes a Ring-0 kernel-mode component that provides direct, low-latency access to CAN hardware via the operating system.
The PCAN-Basic DLLs expose a uniform application programming interface (API) that allows you to send and receive CAN or CAN FD messages using a consistent set of function calls—no matter which interface you’re using (USB, PCI, PC/104, or even legacy parallel port).
- The API is compatible with C, C++, Visual Basic, and Delphi.
- Example programs and source code are included for most supported languages.
Ideal Applications Include:
-
Diagnostic tools for embedded devices
-
CAN traffic logging and filtering
-
Simulation or HIL testing environments
-
Custom in-house control interfaces
-
Lightweight command-line tools for engineering teams
PEAK Hardware Compatibility
PCAN-Basic works with all PEAK CAN and CAN FD hardware, including:
Trusted by Thousands of Developers Worldwide
PCAN-Basic simplifies CAN communication without sacrificing performance or flexibility. It’s the foundation for countless industrial, automotive, and research applications across the globe.
Ready to Get Started?
The PCAN-Basic API is available as a free download with any PEAK CAN adapter purchase.
Need help choosing the right CAN interface or integrating the API into your project? We’re here to help.