Showing results for 
Search instead for 
Did you mean: 

STM32 Discovery and 5V logic

Associate II


i hope im asking my issue in the right place

so i have developed a pcb board with 70 TLC5947 ic's in cascading sequence, however im having an issue with using my STM32 discovery board to turn on LED's. the Ic's are powered by 5V and when i use my arduino mega it works perfectly with no issues, however when trying it with my discovery board some of it works but not all of it random leds turning on and off and rondom colours after a certain amout of led's.

i know my mega runs ar 16mhz frequency however the max frequency with cascading TLC5947 is 16Mhz i have lowered the clock speed on my discovery board well APB1 to 10 mhz so im assuming that the only difference is that the mega has 5V logic.

im guessing if i could get 5V logic from the output pins im using might fix the issue. i have tried setting the gpio pins to open drain and pull up and connecting a 47K ohm resistor between the pins and 5V but i only seem to get 3.3V. i have tried it on many pins such as PA8, PB15 and a few others with no luck. currently im using PD11, 12, 13 and 14 but have not tried the open drain on those as im not sure if they are 5V tollerant pins.

i hope someone can give me some adviceto my issue

Thank you

Chief II

1. use 3v3 for the TLC5947 supply . problem solved.

if you insist on using 5v , then

2. use a hct-input level buffer to get 3v -> 5v signal level. ie 74HCT32 .

If you feel a post has answered your question, please click "Accept as Solution".
Lead III

1. Make sure to set the pins to open drain AND high speed.

2. Use 1k5..3k resistor as a pull-up to 5V,

3. With OD pulled up outputs, the practical frequency limit is around 2 MHz but it the pin toggle frequency (SPI clock). It has not too much to do with APB frequency.

ST Employee

Arduino connectors for STM32 GPIO is 3.3V, not 5V. if 5V for LEDs, it's better to add level shifter for them.