TLC5940 LED Driver Library

So not being an embed programmer by any means, but I figured out to make a library for the the TLC5940 LED Driver chip:

Would love any feedback.

1 Like

Nice! Thank you for sharing!

@gooswa Thanks for your effort in making a TLC5940. This is my first project with a spark core and also my first project using C++, so my apologies upfront if my questions are a bit noobish.

I downloaded your library from github, wired up the Spark Core to a TLC5940 IC on a breadboard, with two LEDs connected to ports 1 and 2 of the TLC.

However, I’m unable to compile the library. When I try, i get;

obj/src/stm32_it.o: In function TIM4_IRQHandler': /spark/compile_server/shared/workspace/worker_1/core-firmware/build/../src/stm32_it.cpp:557: multiple definition ofTIM4_IRQHandler’
tlc_driver.o:/spark/compile_server/shared/workspace/worker_1/core-firmware/build/tlc_driver.cpp:36: first defined here
collect2: error: ld returned 1 exit status
make: *** [4543c57f765afb3b1e9cfe7a68d943fbce1bc6c22d1d7adf7b49b42db2dc.elf] Error 1

Extern “c” is already in front of the TIM4_IRQHandler procedure, both in the header and cpp files.

Could you give me any pointers as to how I can get the library to work?
I’m using the web IDE and firmware version 0.3.2 (aug 19).
Any help would be greatly appreciated!


i know it’s an old post. But some new regarding this issue? Just sticking on the same problem and have no idea of using or debugging timer etc.

I appreciate your help!


I too am wondering if there is any advancement with this library

Has anybody managed to use the TLC5940 with Particles?
I saw a community library to use it with servos but not with LEDs…