Marc's Public Blog - Arduino Hacking


All | Aquariums | Arduino | Btrfs | Cars | Cats | Clubbing | Computers | Diving | Dreamstate | Edc | Electronics | Exercising | Festivals | Flying | Halloween | Hbot | Hiking | Linux | Linuxha | Monuments | Museums | Oshkosh | Outings | Public | Rc | Sciencemuseums | Solar | Tfsf | Trips



Table of Content for arduino:

More pages: November 2024 June 2024 August 2023 June 2023 May 2023 April 2023 March 2022 January 2022 January 2021 December 2020 March 2020 January 2020 May 2019 April 2019 March 2019 January 2019 July 2018 May 2018 April 2018 January 2018 June 2017 April 2017 January 2017 February 2016 January 2015 September 2013 January 2012 December 2011 May 2011 January 2011



2024/06/29 Putting 27 P5 64x32 Azerone Panels To Good Use, a Big 288x192 Matrix
π 2024-06-29 01:01 in Arduino
I had a bigger stack of returned P5 RGBPanels that Azerone was nice enough to send me, it came to completment an existing stash of 12 panels I already had to make a 4x3 128x192 P5 array (pictured on the left):

This is what I started with, 128x192 in P2, P4, and P5 panels
This is what I started with, 128x192 in P2, P4, and P5 panels


Now let's look at the back and my old (left) vs new mounting method (right). On the left is my "up to then" McGuyver's method of attaching things: using some metal rails with holes, I was somewhat able to aligh enough holes to put some screws in, which kind of held everything together, but not securely:


On the right, a new way to put things together thanks to Marc Estes who laser cut connecting pieces so that each panel could be more securely and correctly attached to the one next to it. Also, note each panel being upside down from the previous one to allow for short ribbon cables and less signal loss, clock drift and crosstalk


Here is the end result of the new panels I put together, the code to reverse panel directions worked:

but the colors were broken, see below
but the colors were broken, see below

So here is my old 3x4 P5 array next to the new 3x5 array I was building, just testing signal would work:


then rewired everything nicely to be the same orientation
then rewired everything nicely to be the same orientation

took a while to add power and all the connector bits that Mark Estes made for me
took a while to add power and all the connector bits that Mark Estes made for me

I found those nice power concentrators from amazon
I found those nice power concentrators from amazon

Here are 2 videos that explain the build:

But the colors were wrong. Why? Well, turns out some of the panels were badly wired from the factory and had reversed colors:


So it was all nice and good, until I turned it on:

oh great, some of the panels have broken color order
oh great, some of the panels have broken color order

yeah, that's because I got those panels for free as returns, and they are different generations, some with broken colors. I used the orange and blue labels to tell them apart.
yeah, that's because I got those panels for free as returns, and they are different generations, some with broken colors. I used the orange and blue labels to tell them apart.

Ok, so since I had a couple of damaged panels and I wanted a nice row of matching panels so that the color intensities would simliar enough, I bought 3 more panels. They came with the orange label, so I wired the orange together, and got this:


Son of a.... The 3 new orange label panels lower left, have fixed colors, so they are not the same as the older orange label panels....

they looked similar enough but they were not
they looked similar enough but they were not

after getting what was going on, I re=wired everything a 3rd time to get bad color panels together
after getting what was going on, I re=wired everything a 3rd time to get bad color panels together

I briefly considered fixing this by swapping the color channels in the ribbon cables but then I figured out it would be less work to fix it in software. rpi-rgb-panel allows for swapping colors on a per panel basis, but not on a per panel basis. Thankfully the code was written well enough to allow very easy remapping of colors per pixel and of course per panel. I also fixed a prior patch of mine that had an unfortunate behavior with Zmapper:v that swapped the order around every time you added a row of panels. Here are the 2 patches:

  • https://github.com/hzeller/rpi-rgb-led-matrix/issues/1672
  • https://github.com/hzeller/rpi-rgb-led-matrix/pull/1664
  • which fixes https://github.com/hzeller/rpi-rgb-led-matrix/issues/1663
  • And after these fixes, finally the panels are oriented the correct way and the colors are fixed:


    After more days than planned, it was finally time to mount it on my wall, and that was not trivial, partially because I didn't put enough time into getting proper mounting hardware. I did have some leftover rails I used for added structural integrity, but found out under the wait and stress, they would bend too:


    the mounting location was also challenging, made measurements and marks
    the mounting location was also challenging, made measurements and marks

    I used electrical wire as the best hanging wire I had around and put 4 layers just to be sure. Also I found out I had to attach it to the frame in the middle to stop the frame from bending under weight
    I used electrical wire as the best hanging wire I had around and put 4 layers just to be sure. Also I found out I had to attach it to the frame in the middle to stop the frame from bending under weight

    getting all the attach points under the wire, was totally not trival, but done!
    getting all the attach points under the wire, was totally not trival, but done!

    The last thing I had was the native display orientation was portrait, so I wanted to switch to landscape. Turns out rPi3 is too slow to handle an array that big, the data exceeded some internal CPU cache and became very slow, and even more so if I tried the driver's 90 dgree rotate function. So, I tried an rPi4 instead, which showed other interesting electronic bits: the panels on the left are newer and can handle faster update speed while the ones on the right are slower refreshes. This is why it looked like this below. I had to add some delay fasctor in the rPi4 output and then everything was well. Fix was the expected --led-slowdown-gpio=4


    See also this page that discusses the cache overflow issues on rPi3, switching to rPi4, and how led-slowdown-gpio can be a bit counter intuitive:

  • https://github.com/hzeller/rpi-rgb-led-matrix/issues/1674#issuecomment-2216512501
  • And here is the end result:

    2024/06/27 Testing Azerone P5 vs P4 vs P2 RGBPanels to Display My 128x192 Outfit Matrix
    π 2024-06-27 01:01 in Arduino
    I received more panels in the mail thanks to Azerone, just the right amount to make another array, and make another copy of my LED outfit display in a different size. Nice to compare all 3:




    What it looks like from the back:




    More pages: November 2024 June 2024 August 2023 June 2023 May 2023 April 2023 March 2022 January 2022 January 2021 December 2020 March 2020 January 2020 May 2019 April 2019 March 2019 January 2019 July 2018 May 2018 April 2018 January 2018 June 2017 April 2017 January 2017 February 2016 January 2015 September 2013 January 2012 December 2011 May 2011 January 2011

    Contact Email