-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
64x64 Matrix (32s) without a D line? #796
Comments
Using this issue to document what I've learned, so hopefully anyone else who finds themselves w/ these panels can follow and resolve their issues. Spark Fun is the only place I've been able to find such a panel via the SparkFun RGB Panel hookup guide article I read the following article and I highly suggest anyone who is new to this (like I am) do the same: Everything You Didn't Want to Know About RGB Matrix Panels Unless I am mistaking: This is a 1/32 panel, meaning it will scan 1/32 of the pixels at a time (per address combination). 1/32 of a 64x64 display (total 4096 pixels) is 128 pixels long (two rows of 64 pixels wide). The maths looks like this:
This panel only has four addressable lines. That's four bits of values, giving us a total of 16 possible rows to address. This is where I get caught up. At 1/32 scan, the board is divided by two, but we can only "Address 16" rows. (Rows 1 - 15 and 32 - 47). How can I address the 2nd half of the row sets? (17 - 31, 47- 64) without a D line? Seems hat most 64x64 panels have 5 addressable lines (A,B,C,D,E) #754 . I've contacted the manufacturer (Hoonshine) for a data sheet. This is the panel I purchased |
Pulled out a Multimeter to see if Pin 12 (GND -- Missing D) pin is actually a ground and it turns out that there is no continuity between Pins 12 and 4 or 12 and 16, however Pins 4 and 16 are actually ground. I'm beginning to wonder if Pin 12 is Not connected or actually a D line and improperly labeld? |
Wanted to show how well this library works. |
Dear Jay Garcia, nice and a good work. Can you disponibilize the code to test in a panel 128x32 chain 2 units (2 x 64)x32, that I am using the 2 panels conected to a RPi3 (the server always on/up) and a rgb matrix board (blue board) in a bus car please, for sign destinations? Thank you for your atention. |
Hi @angelogoncalve are you asking specifically for what I'm doing with my project ( Display data via |
Hi Jay. It is the one for display data via TCP/IP using this library, if you can share the code for that project please? Thank you for your atention. |
Hi @angelogoncalve , It will take me some time to make it truly workable library with proper threading & exception handling, but I'll provide some gists in the meanwhile. The
You will absolutely need to install lib boost (1.7.0). http://www.linuxfromscratch.org/blfs/view/cvs/general/boost.html
|
Hello Dear Jay. I wait for your TCP/IP version workable library, with the manager for threads requests and exception calls. Thank you. The sender gist have the same link as the receiver? Thank you for your atention. Best Regards, Ângelo. |
@angelogoncalve my apologies. I've updated the link in the above post (it was in the receiver comment all along). https://gist.github.com/jaygarcia/5d77e6687e742dcfb19f58728c997b76 |
The sender and the receiver can be possible be mada using Python language as well? Thank you Jay for your help. |
I imagine it's possible, though I am not a Python programmer at this time. |
Hi Dear Jay. I hope you are fine. Did you can share the full program/code for led panel/display 64x64 with scan rate 1:32, like the exemple in the vídeo link (https://youtu.be/ODnbhvbLX9E) with the funcionality for TCP/IP version workable library, with the manager for threads requests and exception calls? Thank you for your atention and help. Best Regards, |
Hi @angelogoncalve i'm doing well thanks :)! Hope you are as well. I'm currently working on a suite of classes that do this, but I'm learning proper concurrency at the same time. The project is quite ambitious but functional -- just needing optimization. I'm going to explain what I'm doing because it may not be exactly what you are exactly looking for. I would hate for you to wait endlessly as I get this stuff done. Project idea
I have the rpi's currently receiving TCIP/IP data via an 8port gigabit switch and my current situation is audio is "popping" on the rock64, which is an indication that something's not optimized properly w/ the threading and/or buffering of audio data. Again, I don't know what you're looking to do, but I will promise to open source everything once I'm done. I'm currently also fighting build configuration issues w/ our game's codebase for the ESP32 target (our game was written for the ODROID GO and will soon be open sourced as well). Here's a WIP demo of the game running on SDL: https://www.youtube.com/watch?v=De_emh_Cslw |
Hello Dear Jay. Thank you for your atention. The project is similiar is via web page or by phone/server/master sending messages for led panels/clients/slaves using a RPis for each one via TCP/IP or JSON RPC command. Thank you for your help. |
Hi Jay. Could you share the update for your Raspberry Pi-driven RGB matrix panel display experiment? Thank you. |
Hi @angelogoncalve, it’s going well. Getting close to build. I need to modify my implementation of @hzeller’s library so that it automatically spawns a process and will be blogging about this as well as producing some videos on YouTube. To use this code, you’ll need to know about writing to bitmap buffers and concepts like threads. Here is an image of the code working on all 5 raspberry pi’s at the same time. https://www.instagram.com/p/BxVNuZIgacq/?utm_source=ig_share_sheet&igshid=9k6aukjfrjsg |
Hello @jaygarcia , very nice work! We're doing a similar project (https://github.com/murapixrepo/murapix) and we're thinking of going large scale as you did. How come you're needing 5 RPis 3B+ to run the panels? Our frame rates are about similar from 1 to 6 panels and hzeller claims we can link up to 3*12 panels without too much trouble. Thanks! |
Hi Jay. Thank you. |
Hello @hyamanieu and @angelogoncalve thank you for the heads up on the number of panels the Pi and this library can handle. I somehow missed that! Would we be able to get 60fps with that many panels? I need 20 for this project and the reason I split it up was for speed purposes.
As far as power (electricity), no issues there. I have the power supplies needed :). If a single pi can be used as a slave, the complexity of this project dramatically gets reduced :) |
Hi Jay. Hello Jay. |
Thanks @angelogoncalve. I will see if I can pivot to using a single Pi for latency testing. :). I will have to refactor my code to lay out the buffer data appropriately. |
Hi @jaygarcia ,
I am running Ubuntu_18.04_Bionic_LXDE_Desktop on rock 64. I dont have much idea about hardware memory mappings. I did a bit of google research on the above issue and people are mentioning to tweak some flags in kernel config and that would be dangerous. You mentioned in one of the comments that you are using an rock64. So i am posting it here. Any help would be appreciated. Thanks. |
@angelogoncalve, things are starting to shape up. Still more work to do: https://github.com/jaygarcia/network-rgb-matrix-display/blob/master/md/How_it_works.md |
Quick update for @angelogoncalve and @hyamanieu. I ran an experiment where I connected 10 panels to a single Pi using 2x multiplexing. I was less than 60 frames / second. The display on demos flickers badly. :( Running 4 panels per pi. Single chain (1 x 4 panels), ~67Hz. Dual chain (2 x 2 panels) ~88Hz. |
For anyone following, we assembled the prototype and it can be viewed here: Next step is to document the project & open source. :) |
Looks awesome! I would be interested in how you built the frame and wired the power, if you have the time to document and share that too. |
absolutely @Beersatron . Long story short, i'm using lib boost :P . Everything will be open sourced. |
duh. sorry, was thinking "Frame" as in video frame. Yes!! aluminum frame. That was using products from 8020.net and "flat bar" from home depot. But yes, build instructions are in the backlog. |
@jaygarcia Great! I used perforated flat bar from home depot and some 2x4/2x6 lumber for my scoreboard and it looks ok but not as sharp as what you have managed to produce. I did try extruded aluminium for a smaller, earlier, project but that also never looked quite right. |
Our issue is figuring out how and where to mount the various hardware & power systems:
We've still got a way to go, but it's at least functioning. :) |
I have this same board and have issue with display. I am using the rpi bonnet. How did you solve this, exactly? Simply with the command line displayed above? It did not work for me. |
@FFFFFF12ABB17 are you sure D is the address line? I am not using the Rpi bonnet, and thus am unfamiliar with that board. “Does not work” isn’t a description I can do much with. For those following this thread, the final build has been working for some time and will be doing the full write up after the holidays. |
@jaygarcia Hello |
Hello all,
First I want to say a huge THANK YOU to those of you who contributed to this project. It's made my project quite easy to get rolling. I had some 64x32-P6 Matrices lying around and prototyped a video display using a 3B+ and the active board from Electrodragon. It works so frigging well! (Proof of concept here: https://www.youtube.com/watch?v=eyJVVf5jL0k)
To move the project along, I ordered some 64x64 Panels from China
P3(2121)64x64-32S-M1
and ran into a situation that is unfamiliar ground for me. The panels haveE
at Pin 8 but don't have aD
line, but rather aGND
. Has anyone seen this before?Here's an image of the J-OUT header. Should I just clip the wire that leads to pin 12, so I don't create a short to ground from the 5V buffered
D
line?Any help would be greatly appreciated =).
The text was updated successfully, but these errors were encountered: