Draw me to the moon…

…Led me sweep among the stars

 

So, I have a long therm project that will require a display with some particular needs.

I want it to work with 3V3, retro-looking and curved.

Yup, nothing off the shelf is going to work for me (flexy o-led displays with a big aspect ratio are not going to be a thing in time, and they don’t exactly look the way I want the thing to look anyways.

We could say I want to inspire the display in these:

The gorgeous HDSP-2000’s wich are nigh impossible to obtain nowadays at good pricings (and besides, they are small for my application). But the amber dot matrix look is just too gorgeous to let it pass, so I started drawing my concept:

8×8 groups of leds, using a SN74LVC244 line driver as row selector, and 74HC595’s shift registers to select the columns using a clock signal (and a start pulse). The thing is, when I started this, I was not sure I could program a microcontroller well enough to actually use such a display (for some people it would be awalk in the park, but to me, programming is always a chore I don’t particularly like to do). Of course, since this post doesn’t have a doomed kind of tittle, and I’m actually writing this post, is fairly evident I succeeded.

Oh, sorry, spoiler alert. XD

 

 

Anyways, so I just put myself to Altium the shit out of this thing, one schematic at a time:

Then PCB it:


Damn altium. XD

For a moment, I was also afraid I would have to chase every individual led, however Altium was kind enough to group them in couples of 8 leds:

At first I just put them horizontally, altough I knew I was going to rearrange them to be as compact as possible (1206 led footprint):


90º rotation and compaction afterwards:

The other componentry:

It’s not like it’s a particularly difficult board, but I spent an insane amount of time compacting it for a 2 layer board. (remember, this is a prototype to test my programming skills (and secondarily. that the circuit worked).

8 row input lines, a clock input and traveling pulse input.

And, since I was at it…made it BLACK:


Nope, there was no way of avoiding those three jumpers without heavy board remodelling, and I was tired of it already. Two weeks later:

First, a bit of testing:

Once I was satisfied I assembled the rest, and lo and behold!

Consumption is moderate at 40-ishmA, as per design.

However, not everything was perfect in the land of the led. Previous tests where only lighting one led at a time sequentially, and that is innefficient both because I designed a parallel load, AND because reduced overall light intensity per led. Given that I was already working at very low levels (5/8mA per led) reducing it even more was not going to help with visibility. When I tried to start doing more, this happened:

 

That line was supposed to be one led thick, but somehow, the line was doubling horizontally.
Hummmm…
Quick check with the scope:


LMAOOOOOOOOO, no wonder the leds where doubling, I had made the software in such a way that it put the (blue) led activation, in between column pulses. XDDDD
Some softwareing later:


Nice and cozy!
Beautiful pulse-within-pulse (blue led activation, yellow, column selection).

After some more fiddling with the STM32F103:

BAHAHAHAHAH…Had to be done, sorry-not-sorry. XD

Some more poking:

The software side, in the next post, folks!

See ya!

2 responses to “Draw me to the moon…

  1. but you said you wanted the display to be curved!
    Now that you have verified your design, why not go for a flex PCB?
    also – Glad that I’m not the one to solder those LEDS!

    • Sorry for the late reply!
      Oh, indeed I’m going to go for a flex, but this was more of a software side proof of concept. I was unsure I could even grasp how to actually animate and do things with the display. Luckily I seem to have basic enough grasp to do it.
      Next version will be the flexy and controller board separated, so they can be mounted curved.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s