Low-Cost Microcontrollers Turn Simple Seven-Segment LEDs Into a Chainable Display Cluster

With a PADAUK PFS154-S16 microcontroller behind each seven-segment LED, Tim "cpldcpu"'s numerical display is pretty smart.

ghalfacree
over 5 years ago Displays
Each LED in this display has a dedicated microcontroller. (📷: Tim "cpldcpu")

Maker Tim "cpldcpu" has created a seven-segment LED display with a difference: Each LED is given its own ultra-low-cost microcontroller, turning the display into an intelligent cluster system with a single data input.

"Ever since seeing a project where a $0.03 MCU controls $40 worth of intelligent RGB LEDs, I have been wondering whether this is the right place to use these devices," Tim writes. "At this price point, doesn’t it seem to make more sense to dedicate one MCU to one LED each and use it to implement a fancy node-controller?

"I elected to use a PADAUK PFS154-S16 as microcontroller for each segment. This device has flash memory and sufficient I/O to control a 7 segment display without multiplexing. The cost is only $0.07, so it is cheaper than, for example, using multiple WS2811 instead. The data input pin is connected to PA0, which allows using a pin change interrupt to detect incoming transmissions. Data out is PA6, while PB0-PB7 are used to control the display."

The seven-segment LEDs chain together with one external UART input. (📷: Tim "cpldcpu")

The idea behind the display: A single UART input is given to one of the LEDs in the display, which then passes the data on to the next, which passes it on to the next until the last digit in the display. Combined with routing for power and ground, the result is a display device created from a cluster of microcontrollers.

"An important question is which protocol to use: To simplify control, I set myself the target allow control by a standard UART in 8N1 configuration," Tim continues. "This is in contrast to e.g. the WS2812, which is controlled in a non-standard protocol with challenging timing."

Extending the display is as simple as connecting another board. (📷: Tim "cpldcpu")

Each LED in the matrix is mounted on a custom circuit board, with a female header at one side and a male header at the other. Mating multiple displays together is a simple case of pushing one into the other until the required number of digits are present.

The full write-up can be found on Tim's website, while the firmware and hardware files are published on GitHub and Hackaday.io respectively.

ghalfacree

Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.

Latest Articles