2

I have built an LED matrix using 2048 ws2812b leds. It is being controlled with 4 fadecandies and a processing sketch. I have it running fine on my laptop, but when I try to run the same sketch on my pi3, the leds start glitching out. I'm guessing its due to the slower speed of the pi not being able to keep up with the demands of the software... I am trying to figure out what I can do to solve this, whether its speed up the pi by disabling features, Buying an ODROID-C2 in hopes of the increased speed solving the problem, or just buying a mini pc and sticking that in the back. Someone suggested running my pi on PyPy instead of CPython... Does anyone have any advice about where to look for a solution for this issue? Here's a link to a video demo running on my laptop and the pi. https://www.youtube.com/watch?v=cRGOcbhL1c4

  • 1
    It doesn't really make sense for it to be "the pi not being able to keep up with the demands of the usb signals it needs"; first USB is timed with hardware, it does not vary arbitrarily, and second it will do at least 30 MB/s (as in mega bytes per second), and it is very hard to believe the data rate is anywhere close to that (~15 kB per led per second? For what?? I would be surprised if it is even 1% of that.). It could be a processing speed issue, which should be obvious if you monitor the CPU usage while this is going on. If not, software defect seems likely. – goldilocks Sep 20 '16 at 20:41
  • that makes sense. it may be the software...someone suggested that I do an update to make sure everything is current. I just am unsure whats wrong so i'm just guessing right now...I edited my post to take out those usb assumptions – Drc3p0 Sep 20 '16 at 21:14
  • Have you approached Adafruit with this? Although they sell a lot of them, the pi is still an unusual platform that is probably not a focal point for the fadecandy stuff, meaning they may not have test cases combining the two on this scale, and that's somewhere odd corner case bugs can pop up. – goldilocks Sep 20 '16 at 21:41
  • It's not necessarily a good assumption to say that it's definitely not IO bound, because there can be other bottlenecks besides the wire speed of USB. What does running the "top" command say about processor usage? – Daniel Sep 21 '16 at 0:19
0

I would suggest that you split the two sets of Fadecandys and plug them into separate USB ports and see if that makes a difference. As I mentioned in my comment, the USB wire speed isn't the only possible bottleneck with USB devices.

0

It's more likely an issue of software than hardware. I have run into similar bottlenecks on my pi3 when using processing for a few different installations.

This instructable has some details about adapting your processing sketches to meet the restrictions of a MicroComputer like the pi.

The main thing to consider is taking some of the processing load off of the CPU and put it on to the OpenGL capable GPU. Splitting your resources like this can really help with performance.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.