PWM, SPI, I2C and UART 3.3V / 5V translation - level shifters

Hello,

what are the best translators/shifters (in terms of speed) to pass PWM from Arduino Due to a BLDC motor controller? I understand I need a uni-directional shifter for that and a bi-directional shifter for SPI, I2C and UART.

Regarding uni vs bi: Directionality:

Uni-directional: Suitable for simple BLDC control where motor direction is set beforehand and PWM duty cycle adjusts speed

Bi-directional: Useful for applications requiring dynamic direction changes, controlled through the chosen communication protocol (e.g., sending direction bits via SPI)

uni-directional shifter: MCP1406/7/8: Up to 50 MHz, multiple channels, integrated dead-time generation (important for BLDC motors)

bi-directional shifter: Match the shifter’s data rate capability to the communication protocol speed (e.g., 400 kHz for I2C, 3.4 MHz for SPI)…SN74LVX245 is a good choice; Up to 50 MHz, low power consumption

Also if you choose a different shifter ensure it has the required # of channels needed

thank you for the reply,

Since the PWM signal from Arduino Due is [1Kz I think I will go for the SN74LVX245 as it is easier to have an all in one solution. Do you know where I can get one ? I am searching online without any luck so far…](analogWrite() - Arduino Reference)

It’s an ON-Semi part, not a TI part, so the SN prefix is wrong. You can get it at Digikey

https://www.digikey.com/en/products/det … D/18688288

If you want a TI part, the equivalent is https://www.digikey.com/en/products/det … -ND/717460

is there a breadboard equivalent part?