M.2 CAN FD adapter adds CAN Bus support to hosts with a spare M.2 Key-B socket

Designed by Universal Machine Intelligence, the M.2 CAN FD adapter is an M.2 to CAN FD converter board that brings two high-speed CAN FD interfaces to projects requiring reliable high-speed communication. It is an M.2 B-key card with a slim form factor and a breakaway design that supports slot lengths like 2242, 2252, 2260, and 2280.

The adapter supports CAN FD and CAN 2.0B protocols with speeds up to 5Mbit/s and includes functional isolation between the host and CAN bus for additional safety. Additional features include a built-in network termination switch with split termination, ultra-low power consumption, and compatibility with 12V, 24V, and 48V systems. Designed for industrial environments, this adapter is ideal for applications like industrial monitoring and control, robotics, production line automation, hardware-in-the-loop testing, remote system access, data logging, and embedded computing.

M.2 CAN FD Adapter

M.2 CAN FD adapter specifications:

  • CAN Bus
    • CAN channel – Dual-channel CAN interfaces that are independent and isolated
    • Connector – Two DB9 breakout connectors as standard (M12-A connectors as options)
    • Baud Rate – 5Mbit/s Max
    • Protocol Support – CAN2.0A and CAN2.0B protocols
  • Misc – Breakaway design supporting 2242, 2252, 2260, and 2280 slot lengths
  • Power
    • Compatible with 12V, 24V, and 48V systems
    • Ultra-low power consumption
  • Dimensions – 51×30 mm (mini PCIe module)
  • Operating Temperature – -40°C to +105°C

We have previously written about mini PCIe CAN Bus adapter cards, like the Waveshare 2-CH CAN MiniPCIe and the CAN-PCIeMiniHS/402, both of which have isolated CAN Bus functionality. However, this is the first time we’ve encountered a CAN Bus adapter in the M.2 format.

M.2 CAN FD Adapter on a M.2 slot

The firmware is based on the gs_usb protocol, which makes it computable with plug-and-play functionality with most modern Linux systems. Additionally, It supports features like one-shot transmission, FD mode (ISO 11898-1:2015), and bitrate switching, making it suitable for various CAN-based applications. However, it does not support loopback, listen-only, or triple-sampling modes, and certain features like FD Non-ISO mode, presumed ACK, and transceiver delay compensation are not available. It does support classic CAN length, but not cc-len8-dlc or len8_dlc which allows a DLC (data-length-code) of 9 to 15 bytes when the data payload in the frame is only 8 bytes. Firmware updates can be managed easily using the UMI command line tool or manually with utilities like dfu-util. More information about the software can be found in their GitHub repo.

M.2 CAN FD Adapter with Split termination jumpers
M.2 CAN FD adapter with Split termination jumpers

You get Split termination on the DB9 connectors to reduce noise and improve signal integrity. It can be enabled by soldering the “TERM” pad on the breakout board as shown on the right side above.

The company provides documentation on how to configure and initialize a CAN (Controller Area Network) interface on Linux systems using systemd-networkd to automate its setup during system startup. The objective is to automatically configure a CAN interface (e.g., can0) with specific settings, such as bit rates and FD (Flexible Data-rate) mode so that it is ready for use by applications when the system boots.

The configuration file for the interface is stored at /etc/systemd/network/30-can.network:


You can test this using the following:


The documentation also explains how to configure and manage CAN (Controller Area Network) interfaces on Linux using the IP command. Here’s a clear breakdown of each section:

Basic Interface Configuration:


Using CAN FD (Flexible Data-rate):


Displaying Interface Statistics:


M.2 CAN FD Adapter connectoed to DB9 connectors on a custom mount

The M.2 CAN FD adapter costs $120.00 on Tindie, and the company also sells an mPCIe adapter for the same price.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
6 Comments
oldest
newest
Sander
Sander
27 days ago

how does this compare to CAN-to-USB-adapters (on Ali from 9 – 17 euro)?

hrr
hrr
27 days ago

When working on 12V (like in a car or in a boat) there is no real ground and you either need ESD protection or galvanic isolation, especially if connected with equipement that can generate high surges when designed wrong (like VHF). It is not just the Canbus, most AIS devices state “The USB connection should be used for configuration only” (for RS232/USB). A few years ago a Canable Pro cost about 40$ (which really can protect a 1000$ laptop in a 12V network). Nowadays the isolated variants ca be found below 20$. Below 10$ you find mostly unisolated adapters, which… Read more »

Liam Kinne
Liam Kinne
26 days ago

Hi Sander, I’m the creator of these products. Yes you can get cheap CAN dongles, but they’re not isolated and almost none of the cheap ones support CAN FD.

If you have any questions about the product, feel free to send me an email: [email protected]

Wind
Wind
26 days ago

Why it only has 2 CAN-FD Interface? The M.2 interface is fast enough to support more CAN-FD interfaces.

Liam Kinne
Liam Kinne
26 days ago

The main reason is just the space available on the PCB and the isolator used only has 4 channels (two RX, two TX). Remember this is for the M.2 B-Key which is typically only 42mm long.

In future I will do variants for different M.2 keys (namely M-key) where there’s a lot more room to play with and so I’ll look at doing one with 4 interfaces.

Wind
Wind
25 days ago

Thanks for the reply. I can understand that. It’s just that compared to PCIe or USB ports, there are usually fewer M.2 ports on the motherboard, and it’s not worth spending an M.2 port to expand CANs.

Boardcon CM3588 Rockchip RK3588 System-on-Module designed for AI and IoT applications