The CAN protocol provides for programming of the bit rate, and the number and location of data samples in a bit period. Optimization of these parameters guarantees message synchronization and proper error detection at the extremes of oscillator tolerance and propagation delay. A step by step method for calculating optimum CAN bit timing parameters for a given set of system constraints is presented. Support is given for adjustment of the CAN controllers SJA 1000 and PCx82C200 from Philips Semiconductors. Detailed examples are included as well.