Only just saw this post, but that setup looks awesome! Iād be keen for a shield
@semaja2, I need to order some 12-pin headers for the shields. I should be able to get those before the end of the week
Iām working on a 3D printed frame/backing. I have one half of it finished (minus some very minor tweaks). Iām going to try printing the first pass of the second half tonight.
Just got mine assembled, and I think Iām getting the same errors wgbartley had when trying to compile. Looks like you havenāt pushed your changes to github, can I get the super-secret latest code via PM as well?
Until @peekay123 gets the official repo updated, you can download the original zip he provided to me from http://spark.wgb.me/rgbpc.zip. Heās been locally compiling it, but Iāve been doing cloud compile via CLI for several days now.
Before you flash that code, search for #define X_MAX
and change it to be #define X_MAX 31
unless you have 2 panels or a single 32x32 panel.
In other news, the 3D printed stuff is coming along very slowly. My printer is being a jerk.
BTW, I tested running animated GIFs on the RGB Matrix Shield using software SPI. Here is a sample:
Hereās the CAD version of a frame + enclosure. The frame definitely gives it more stability and protection. The enclosure just hides the electronics with some extra space around the proto area for whatever you want. The gridded holes in the enclosure are for including a sensor like a DHT22 that needs to ābreatheā. There are even little notches at the bottom of the enclosure to snap it into place and still allow for easy removal.
This is basically a building block for those who might want to add more stuff. It takes care of a lot of the measuring, and, trust me, there was a lot. Most of the iterations of this tweaked dimensions by fractions of a millimeter!
The longest dimension is 110mm (4.33"), so it should fit on most print beds. If not, I might be able to trim a couple of places to get it to fit under 100mm, but it would have to sacrifice aesthetics.
Iāll upload and link the STLs once I have made sure that the latest tweaks to the enclosure are good, so keep an eye out sometime tomorrow (2015-09-12 US Eastern). Once I get my paws on a 32x32 panel, Iāll probably design a frame + enclosure for it as well!
Great job! One note of caution, the dimensions of these panels may change depending on the batch Adafruit received. They have a note on the page explaining āThese panels are remainder stock from factoriesāā¦ Iāve ordered similar 32x32-pixel panels from a few sources and even once I settled on a manufacturer and ordered direct, they have revād the panel and the positions of the screw holes and connectors changed.
Also, keep in mind the soldering of the 16-pin connectors may not be centered all the time, so watch the tolerances around that connector. Sometimes theyāre skewed one direction or another. That may mean the shield after plugging into the connector is also at an angle, not parallel to the frame.
Thanks for the tips. Thereās about 2-3mm of play around each connector and the screw holes as well. When designing this one, the first mistake I made was assume that all of the screw holes would have the same position in all 4 corners and center. That was not the case at all! After about the 3rd print, all the other iterations were just trying to get the holes aligned!
Thingiverse was down earlier today when I had time to upload and document the model, and I havenāt had time since. I should have some more free time tomorrow!
3D models uploaded!
I am interested in a kit of parts as wellā¦just found this thread via Twitter.
Hello folks,
A month or so ago @peekay123 contacted me through twitter to tell me that the RGBPongClock code that I worked on a couple of years ago has had some new life breathed into it with the Photon. He caught me with some poor timing, I looked, promised to get back to him the next day and then completely forgot. (sorry @peekay123)
On Halloween Adafruit retweeted a post by @Dave showing a RGBPongClock mounted in a pumpkin. Didnāt seem to be a practical way to mount an LED display, but each to his own. I said āhelloā to @Dave and he also pointed me in the board direction. Well, finally Iāve registered. Iāve also just received a couple of Photonās to play with. What a fantastic little board it is.
Iām really excited to see what @peekay123 has done with the original (messy - sorry about that) code and the improvements heās working.
Iāve been working on porting the RGBPongClock code over to python for the raspberry pi (along with a 64x32 display). Itās still a work in progress:
But now I hope that iāll be able to contribute to the project on the Photon.
Itās really great to see so many people enjoying the clock.
Cheers,
Andy
@andrewholmes, welcome aboard! Besides working on a new software model for the RGBPongClock, I want to add the animated GIF (via a software SPI microSD) clock to the existing code. Iāll send you a link to the RGBPongClock V2 repo which is a mess right now mostly because of design decisions taking a long time (!)
I still have to update my github repo for the V1 code. Iāll post a link as soon as that is done
Iāve looked at animated gifs before. Reduced me to tears. Iād get one working - load another one, discover that it had some small but fatal quirk that didnāt work with the code. Try to code around it, break compatibility with the first. Repeat.
Iām glad itās on your list. Iooking forward to seeing it up and running!
Craig Lindley wrote a sketch that decodes GIFs for display using the SmartMatrix Library on a Teensy 3.1. Iām happy to maintain the sketch, and earlier this year refactored things so itās more generic and less SmartMatrix-specific. Iām guessing thatās what @peekay123 is using. Iād love to turn the sketch into a completely generic Arduino GIF decoder library, but havenāt found the time. Anyway, the sketch has had tons of GIFs thrown at it, including recently 64x64 pixel GIFs, and weāve fixed the few compatibility issues that have come up. Craig wrote some solid code.
-Louis
@peekay123, your sketch is exactly what I ported to the Photon!!! I test with software SPI and it does choke on high-framerate GIFs but works super well otherwise. The next version of my RGBMatrix shield will have a microSD socket connected via the hardware SPI lines. I had some minor issues using the non-DMA RGBMatrixPanel library but generally, it works well (see video above).
I thought the GIF playback looked great in the video. Hopefully switching to hardware SPI helps speed things up, I imagine it would.
Iāve looked extensively into the STM32F2ās DMA engine and have a plan on how to port SmartMatrix to the Photon, but havenāt really started yet. The DMA engine on the Teensyās Freescale CPU is so much better. I can set DMA to shift data out for all the bits in a row (supporting 16-bits for 48-bit color) and the engine can take care of the rest. With the STM32F2, I have to set DMA up for each bit. Hopefully Iāll find some time this month to pick the project back up.
@Pixelmatix, the pin mapping on the Photon is staggered with no whole port being presented on the I/O. Can you enlighten me on how you will use DMA?
I plan on using PORTA, which has more pins than I need, and canāt be exclusive to DMA, but PA1, PA2, PA3 are driven by PWM, and PA5, PA6, PA7 are what I plan to use for hardware SPI, so no conflicts if I write to the entire GPIO register. Hopefully that will work.