Skip to main content

// application note

AN0012 Interfacing CAN-FD devices with the Binho Pulsar

The Binho Pulsar carries a CAN-FD controller and transceiver, and its USB virtual COM port can be switched into a mode that speaks SLCAN, the ASCII serial CAN protocol. That makes it a CAN-FD adapter for the standard tooling ecosystem rather than something that needs a bespoke SDK: python-can drives it through its stock `slcan` interface, and everything built on python-can follows. This application note switches a Pulsar into CAN-FD mode, works through the SLCAN protocol it then speaks, builds a second CAN-FD node on an Adafruit Feather M4 CAN Express so there is a real bus with two participants, and establishes what actually works: classic and FD frames in both directions, 64-byte payloads with bit-rate switching, DBC-driven decoding, and the CANopen, J1939 and ISO-TP stacks. Every output in this document is a real capture, and the reference node firmware, host utility and DBC are supplied.

Products
Binho Pulsar
Protocols
CAN-FD
Topics
CAN-FD Bring-up
Revision
Rev 1.0 · November 6, 2026

// outcomes

What you'll walk away with

By the end of this document a reader with the hardware in front of them will have switched a Pulsar into CAN-FD mode, confirmed the bridge answers SLCAN, built a second CAN-FD node and matched its bit timing to the adapter, exchanged classic and 64-byte FD frames with bit-rate switching in both directions, decoded live traffic through a DBC, captured and replayed a log, and driven the bus from the CANopen, J1939 and ISO-TP stacks.

The worked example pairs a Pulsar with an Adafruit Feather M4 CAN Express. Both are exercised on hardware and every output in this document is a real capture.

This note covers Windows-native host tooling. The can-utils and SocketCAN family, which is how the same tools are usually reached on Linux, is out of scope: on Windows it needs a USB passthrough layer and a Linux environment, and neither is required to use the adapter.

// background

Background

The Binho Pulsar is a USB host adapter for I2C, SPI, UART and GPIO. It also carries an NXP MCAN controller and a TJA1044GT CAN-FD transceiver, and from firmware v4.4.0 its USB virtual COM port can be put into a mode that bridges that transceiver to the host using SLCAN, the ASCII serial CAN protocol originally from Lawicel and now spoken by a wide range of adapters and tools.

That last part is what makes this worth a document. The Pulsar's Python SDK has no CAN commands at all, and none are needed: in CAN-FD mode the device behaves as a conventional SLCAN adapter, so the existing CAN software ecosystem drives it unchanged.

Table: What CAN-FD adds to classic CAN

Feature What it gives a design
64-byte payloads Eight bytes becomes sixty-four, so a record that classic CAN has to fragment across frames and reassemble fits in one
Bit-rate switching The arbitration phase stays at a rate every node can follow while the data phase runs faster, because only one node is driving by then
Larger DLC encoding DLC values 9 to F select 12, 16, 20, 24, 32, 48 and 64 bytes, so payloads above 8 are addressed by a step table rather than a byte count
Stronger frame check A CRC sized to the payload, with a stuff-bit count, rather than the single 15-bit polynomial classic CAN uses for every length
Unchanged physical layer The same two wires, the same transceivers, the same 120 Ω termination
Coexistence Classic and FD frames share a bus, and a frame is classic or FD per frame rather than per bus

Three properties of this setup determine how a host is written, and all three differ from the other adapters in this series.

Table: What differs from the other Binho host adapters

Property Consequence for the host
CAN-FD is a CDC mode, not an SDK command group The mode is selected over HID and stored in flash, then the device is a dedicated SLCAN bridge. While it is, the I2C, SPI, UART and GPIO managers do not run
The interface is a serial line protocol Commands are ASCII terminated by carriage return, and the device answers \r for accepted and \a for rejected. That is diagnosable with a terminal, with no library in the way
The host is one node on a shared bus Unlike a point-to-point bus, frames appear unbidden, need acknowledging by somebody, and arrive while the host is busy elsewhere. Sections 8.2 and 13 are both consequences of that

This note works through a Pulsar and a second CAN-FD node built for the purpose: switching the Pulsar into CAN-FD mode, the SLCAN protocol it speaks, building and bringing up the far-end node, proving classic and FD traffic in both directions, then driving the bus from python-can and the stacks built on it.

Nothing here requires a bespoke SDK. Every host-side step is either a line of ASCII on a serial port or a call into software that was already on the shelf.

// applicable devices

Applicable devices

CAN-FD mode is Pulsar only. The Binho Supernova's microcontroller has no MCAN peripheral, and its firmware rejects the mode. The host-side material applies to any SLCAN adapter; the node firmware applies to any board built on a SAM E51 with its CAN1 pins brought out.

// what's covered

What's covered in the note

  1. 01 Introduction
  2. 02 Required equipment and software
  3. 03 Switching the Pulsar into CAN-FD mode
  4. 04 The SLCAN protocol
  5. 05 The far-end node
  6. 06 First traffic
  7. 07 The demo node's message catalogue
  8. 08 Driving the bus from python-can
  9. 09 Decoding with a DBC
  10. 10 Higher-level stacks
  11. 11 Measured results
  12. 12 The reference material
  13. 13 Practical notes
  14. 14 Troubleshooting

The full procedure, measured results, and reference code are in the PDF and the assets archive.

// materials

What you'll need

Binho Pulsar Binho Pulsar USB host adapter for I2C, SPI, UART, GPIO & CAN-FD View product
Software Mission Control 3 or the Cosmic SDK (Python, C / C++ / C#). Get the software
Files The reference scripts and assets used in this note. Download the assets

// trusted by engineering teams at

+ hundreds more

// newsletter

Get new application notes

New notes, firmware releases, and tool updates from Binho. No spam, unsubscribe anytime.

Put it on the bench

Every step in AN0012 was run on the Binho Pulsar. Get the hardware to reproduce it, or talk to our engineers about your CAN-FD bring-up.