Today I feel like I won the lottery. My first prototype of the 32×16 LED board is fully assembled and working!
This was so far the most complex electronics project I’ve worked on, and even tho it’s not fully done yet (oh there’s lots more work) I’m feeling a huge sense of accomplishment.
PCBs arrived yesterday and after working up courage to start hand soldering hundreds of tiny SMD I began assembling it very slowly, first soldering just one IC driver and connecting just single LED dot, then second and so on.
Actually hand soldering all this tiny parts wasn’t the biggest challange. It was these damn tiny LED matrices with 3 rows of very skinny pins. Holes in the PCB for these pins was just the right size unfortunately, so inserting them was like trying to thread a needle while jumping with parachute. It must’ve taken me half an hour to do just one.
Fortunately I found a way simply this work, but trimming rows of pins, one shorter than the other, so this way I only had to make sure one row at a time would go in. After that I spent only about 5-10 minutes per matrix. I am definitely making bigger holes in the next revision 🙂
Imagine what I felt after I partially assembled one board and it showed no sines of life. I spent almost hole day trying to figure out what went wrong, dusted my oscilloscope that I almost never used and finally found a cut trace which was a manufacturing defect. I managed to pick only one PCB out of 10 that had this defect 🙂 Fortunately other 9 were fine.
Everything worked just as planned, maybe except for few quirks. I kind of new this, but colors were reversed meaning that when I draw Red it lights as Green, and vice versa. No big deal HT1632c library that I use for Xronos clocks needs to be changed, or perhaps not as I had a little happy accident that made me realize something interesting about these 8×8 matrices.
Out of 8 LED matrices on the board, one strangely displayed colors that were opposite form all others (red instead of green, etc.). After some investigating I found that it wasn’t my fault and in fact, manufacturer mislabeled that 8×8 matrix so I installed it flipped. This flipped all the colors too! Apparently by just rotating them 180 degrees I can flip default color! So there’s really no need to rewire schematic or rewrite library.
And and if you watch video, you won’t see this “defect”. I decided not to desolder flipped matrix, but rather implemented a little trick in the code that flips colors when coordinates match this matrix.
Finally I see that I didn’t choose best values for current limiting resistor for Red LEDs (220 Ohm). They overpower green ones, and when mixed produce very reddish orange color, not what I wanted. I’m going to pick higher value for those, but will leave what I have for green ones as is (147 Ohm).