Custom Starburst Digits

A Custom Starburst Alpha Numeric Digit. A daisy chain-able modular unit. Designed based on the display from the F18 Hornet

Similar projects worth following
A special project with all source files available to use for personal use.
Based on the displays from the F18 Hornet here is a project to create a daisy chain-able alpha numeric display.

it uses a simple 595 shift register to drive the 16 leds that are in a 4x4 matrix and an arduino to drive the shiftregs.

Sometime last year some friends approached me about a project they were working on and maybe wanted me to get involved with. While this didnt lead anywhere one of the concepts we were discussing really intrigued me and I wanted to have ago, seeing it as a fun little challenge.  

But with other projects in the pipeline I didnt really manage to find the time to do it... 

My youtube channel had started to get a bit of a boost in popularity and I thought about doing some prep for this project and put it on the back burner. The idea was to make this as a special project to celebrate passing 1000 subscribers. 

Well this last couple of weeks that happened. So I've pushed ahead with getting this project finished, and as a celebration, I'm realising all the source files for this project free to use under simple CC-NC agreement.

So feel free to download order a bunch of pcbs and build your own set of digits, just dont go selling them on tindie or anywhere else, or I'll bite!

Each digit has its own 595 shift register, and solder connections on the side. The idea is that each digit can be placed side by side and small hoops of wire could be used to secure each digit.

In theory these digits could run for many maybe over 100 connections. But power supply needs to be taken into consideration.

The digits use a matrix of 4x4 leds. Thats 4 rows of 4 LEDs. (though these are grouped in quarters of the square) with a resistor of 150 ohms these LEDs max current draw is 15ma per led, though calculates to roughly 13ma. 

As the LEDs are driven row by row in a 4 row interlaced signal that gives each digit a maximum draw of around 60ma. if the LEDs were being driven at full brightness, and if the arduino code was behaving and not trigger multiple rows at the same time.

There is also a PWM signal that can control the brightness, and Ive found on the 8bit arduino PWM control, the value of 50 is plenty.

But some consideration should be made to the power supply, both on the 5V and ground. With multiple re connections to power for long chains.  For example, my subscriber counter I made using these digits, has 15 digits. And i connected the power to both ends of the chain to help take stress off the power traces.

I originally planned to have an ESP8266 drive the digits directly. But I found this to be impossible with the hardware available in the micro controller. So in the end I made a dedicated controller with an Arduino pro mini (atmega328p). And created a serial interface setup that allowed me to feed data to the display from the ESP8266.

The Arduino drives the display constantly by regular hardware timer intervals of 500ns, using the built in SPI hardware to shift out the data at a more than fast rate. At this constant rate with the 4 row interlace, I'm getting perfectly flicker free image persistence. in fact the data update rate is far faster than I had originally envisioned. 

I also needed to manufacture the face plate defusers for the digits. I considered making the face plates with my resin printer. And this indeed may have worked out well. But in the end i went with using my laser cutter in engrave mode. And engraving into black perspex to route out spaces for the components before another engrave pass for the small 3 dot holes for each segment of the display. This took a lot of trial and error but in the end I got a fairly decent result.

I then used clear UV curable resin to fill up the holes, using a sowing needle to paste the liquid over them, and after curing them sanded the faces flat again leaving a matt clean finish. I also gave the faces a spray with plasticote matt finish to give them a more uniform look. This worked out really well. 

But the defusing effect isn't perfectly consistent with each segment and each digit. With more practice and homing in on the technique this could be improved but, i got a good enough result for the project I wanted at this time. 

At the...

Read more »

  • 16 × 0402 Warm White LEDs
  • 1 × 74HC595 (TSSOP16)
  • 4 × 150 Ohm 0603 resistors
  • 1 × 0.1uf-10uf 0805 ceramic capacitor
  • 5 × SOT-323 N-Chan Mosfet of your choice...

View all 7 components

  • Some bug fixes. Does this count as a Zero Day fix?

    Mangus Tiranus08/14/2020 at 14:19 0 comments

    Update on code!

    Some bugs fixed, including the one mentioned in the video.

    It seems I've fixed the bug I described in my video. Turned out to be bigger than I thought.
    Its amazing my serial handling code worked at all to be honest.
    Turned out when the serial was writing the buffer to send, I was reading off the wrong variable. So the buffer was reading off itsself, and not the text being sent.

    Correcting this showed more mistakes. including incorrect escape bytes being placed into the packet stream... And then in the receiving code on the arduino, not properly handling ESC bytes in the checksum portion of the packet. (IE it wasnt at all)

    Codes now been corrected and appears to be working as it should (so far, fingers crossed!)
    I have updated the code on the github page.

  • Video is up!

    Mangus Tiranus08/13/2020 at 17:32 0 comments

View all 2 project logs

View all instructions

Enjoy this project?




[this comment has been deleted]

Mangus Tiranus wrote 08/20/2020 at 13:12 point

Is this spam? 

  Are you sure? yes | no

Xasin wrote 08/12/2020 at 19:53 point

Wonderful idea - it looks really quite gorgeous <3

One question I have now is if it is possible to replace the individual LEDs with the small WS2812 clones in a 2x2mm form factor. That would allow a RGB display, which is both a pretty and unnecessary idea :P

Either way, maybe I'll make my own variant some day. I love a good weird display :>

  Are you sure? yes | no

Mangus Tiranus wrote 08/13/2020 at 13:46 point

sadly no, The leds are 0402 sized. And there simply no leds that size with a ws2812 type chip built into them. Not to mention no space for the 4 solder pads.

I'm just finishing up the video on this project, and should be posted this evening BST, as will all the files and details. 

  Are you sure? yes | no

Xasin wrote 08/13/2020 at 21:09 point

Ah, for that small form factor you can't really get any RGB LEDs, that's true.

I bet a larger version would work well with the smaller NeoPixel variants, and that might make for a really neat effect too :>

  Are you sure? yes | no

Mangus Tiranus wrote 08/13/2020 at 21:58 point

For some reason i cant reply direct to your second post....

But sure i dont see why not. Scaling it up you could eventually fit a 3030 addressable led in there... I think ive seen 2020 or 2525 addressables as well... 

  Are you sure? yes | no

moosepr wrote 08/11/2020 at 12:46 point

Beautiful work!!!

  Are you sure? yes | no

Mangus Tiranus wrote 08/11/2020 at 21:14 point

Thank you, Files will be uploaded over the next couple of days... Im just finishing the video and sorting a few things out first.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates