Level converter recommendation

External hardware connected to the STM32 board
Post Reply
Posts: 205
Joined: Thu Feb 25, 2016 7:27 pm

Level converter recommendation

Post by Ollie » Thu Mar 30, 2017 7:57 pm

My favorite motor controller (ST Vnh2SP30) works only with 5V logic. In past I have been using Arduino Mega board and there has been no need for converters. Now I am shifting my development to 3.3 V bards and need a converter. The two most popular converters in Aliexpress are 8 channel TXB0108 and 4 channel boards using resistors and BSS138 MOSFET.

In Vnh2SP30 all inputs work with both converter, except the PWM input. At high level it requires 5 mA current. Neither of these converters can do that. The internal pullup resistor is too large to provide this current. To keep the triggering level around 4 V, I did use an external 220 resistor (5V - 220R * 5mA = 3.9V). This solution did work with BSS138, but didn't work with TXB0108. The TXB0108 was not able to sink enough current and the low level output voltage was too high.

The winner is BSS138.

Another benefit with the BSS138 is that the pin distance is 0.4" compared to the 0.5" in typical TXB0108 boards. Also there is no Out Put enable pin in BSS138. Instead there are dedicated ground pins for V-Low and V-High. For some reason, the extra space around the TXB0108 boards is more than 0.05" preventing tight placements.

One TXB0108 board uses 0.7 * 1.2 = 0.84 square inch and two BSS138 boards use 2 * (0.5 * 0.7) = 0.7 square inch.

So the benefits with BSS138 are:
- it works and TXB0108 doesn't
- it takes less space on a board
- for channel count 1 - 4, the space saving is over 50 %

Post Reply