Wilfried Voss

Wilfried Voss

What They Didn’t Tell You About CAN FD

Higher Speed and Larger Payloads Come With a Few Important Tradeoffs

Wilfried Voss's avatar
Wilfried Voss
Sep 20, 2026
∙ Paid

This article is part of CAN Bus Embedded Development, my growing online book about practical CAN Bus hardware, software, and embedded system development.

View the complete Table of Contents →


There is nothing mysterious about the development of CAN FD, and certainly no conspiracy behind it. Nevertheless, some important practical aspects of CAN FD received considerably less attention during its introduction than its obvious advantages.

For engineers who had worked successfully with Classical CAN for years, some of those details turned out to be rather important.

CAN FD — CAN with Flexible Data Rate — was introduced by Bosch in 2012. The development itself had started earlier. According to CAN in Automation (CiA), General Motors and Bosch began working on improvements to CAN throughput in early 2011. Bosch subsequently worked with other CAN experts and officially introduced CAN FD in 2012. The technology was later standardized in ISO 11898-1:2015.

The motivation was easy to understand.

Classical CAN had been extraordinarily successful, but it had two increasingly noticeable limitations:

  • A maximum payload of 8 data bytes per CAN frame.

  • A practical standardized upper bit rate of 1 Mbit/sec.

Higher-layer protocols could overcome the payload limitation by dividing larger amounts of data among several CAN frames. SAE J1939, ISO-TP, CANopen, and proprietary protocols all developed mechanisms for doing exactly that.

But they could not make the underlying CAN bus transmit bits faster.

As embedded systems became more sophisticated and software images became larger, that limitation became increasingly significant. One of the original automotive motivations for CAN FD was actually reducing the time required to download increasingly large software packages into electronic control units during vehicle production.

CAN FD addressed both limitations.

A CAN FD frame can carry as many as 64 data bytes instead of eight. More importantly, CAN FD allows the bit rate to change during transmission of the frame. Arbitration still takes place at the nominal CAN bit rate, preserving CAN’s familiar nondestructive arbitration mechanism, while the data portion of the frame can be transmitted considerably faster.

Common CAN FD implementations use data-phase rates of several Mbit/sec, with rates up to 8 Mbit/sec commonly associated with CAN FD.

On paper, this looks like the natural successor to Classical CAN.

And technically, it is.

Migration, however, is another matter.

User's avatar

Continue reading this post for free, courtesy of Wilfried Voss.

Or purchase a paid subscription.
© 2026 Wilfried Voss · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture