RaspberryPi Realtime Kernel

Hello,
I’m developing an application that would control a led-matrix-panel using a RaspberryPi 3b+ and the great https://github.com/hzeller/rpi-rgb-led-matrix library.
I’m trying to run it inside a balenaos image but it flickers. Reading the library information, they suggest to use a RealTime kernel to avoid the flickering, and after I test with a Tinycorelinux (piCore) instalation with realtime kernel it seems to work properly.
My question is if there are any balenaos realtime kernel image available to be used on a raspi.
Thank you in advance.
Regards
Gabriel

Hey @gpulido

This is actually something I’ve done a lot of, using that exact library. It wasn’t necessary for me to use a realtime kernel, I just had to ensure that firstly the panels were getting enough power, and secondly that the connections themselves were getting no noise. This was achieved mainly by using the adafruit-hat, and correctly providing this option to the library.

The code is here: https://github.com/CameronDiver/HalfstackDemo

Note that I use the node wrapper of that library, and that it’s a fork - this fork just enables some options: https://github.com/CameronDiver/node-rpi-rgb-led-matrix/commits/master

With the adafruit hat and the options, along with a little bit of insulating tape on the connections (we powered them all from the same power cable, rather than the multiple that came with the panels) we were able to reduce the flickering to basically observable. Some pixels on the top would sometimes come on at ~10% brightness when they weren’t supposed to, but we never got to the bottom of that, and it was hardly noticeable.

I’d be interested to hear how you get on!

Hello @CameronDiver
Thank you for the feedback.
I’n using an active 3 board from hzeller.
My panels are just 4 64x32 p5 (on 2x2 config with two lines).
The software that is running on the raspis is very basic as it is just a udp socket listener that receives the entire RGBRGB matrix and stream it to the matrix using the hzeller library. It is a c++ very simple file so no worries on that part.

When I use the balenaos aproach, it flickers, but when I use the tinycore (picore) version it is very very stable. The power source and wiring are the same on both scenarios, so is the so the one that has the problem.

That is why I asked for a realtime kernel (although the picore version that I’m using is not a realtime based one).

However, I will take a look to the wiring, and maybe add some capacitors to the connection with the panels.

I suggest you to at least give the picore aproach a try to compare the results.
Thanks por sharing!