We need to communicate a Pololu Simple Motor controller 24v23 to a 3.3V microcontroller by UART protocol.
We have read in the user’s guide that:
The Simple Motor Controllers use 3.3 V logic, but all of the controllers’ digital inputs are 5V-tolerant, so it can interface directly with 5V systems.
This made us think that we could connect a 3.3V micro directly by UART, however, although it worked for a while, we suddenly lost communication.
We have checked with an Arduino UNO and the SMCs are working correctly, it is the ST NUCLEO (3.3V micro) that stopped sending or receiving anything through the serial port.
We would like to confirm if it is safe to directly read the SMC from a 3.3V micro or a logic level shifter is necessary.
Is there any way to configure if the SMC UART port will work at 3.3V or 5V?
Thanks in advance.
The SMC uses 3.3V logic, so it is safe to directly connect to and use the UART interface on the SMC from a 3.3V microcontroller like an ST Nucleo board. There is no special configuration for setting it to 3.3V or 5V. As you mentioned, the SMC operates at.3.3V, but since the digital inputs are 5V tolerant, you can also use it directly with a 5V microcontroller.
If it worked for awhile then stopped, you might try testing your Nucleo board separately. For example, you could try doing a loop-back test by connecting the TX and RX pins together and making sure it successfully receives back the same data that it sends.
Thank you very much for your prompt response. We wanted to do several tests before returning.
Thanks for the tip. We use it and it is clear that the second UART port is damaged and for some reason, also the third one. We even read the port with a logic analyzer and there is no sign of life on the secondary UART ports, although the primary one is still working fine.
The culprit was an old driver we used for a test and it was working fine over USB but had the UART port shorted.