Hi y’all,
I’m relatively new to Teensy (and Arduino and embedded computing in general), so this may be a rather basic question.
I have a Teensy 3.6 with SmartLED shield v4 controlling a few HUB75 matrices, hooked up to a Raspberry Pi 4 via USB. Ultimately I’d like to be able to send packetized commands to the Teensy from the Raspberry Pi over USB to make API calls given by the SmartMatrix_GFX
library.
I’ve been able to accomplish this via what seemed to be the most basic method, namely sending commands via the serial monitor that are read with Serial.read
and call something using the SmartMatrix3
library (I have not actually tried SmartMatrix_GFX
yet). However I understand that there a number of ways in which this could be improved - such as using packets, buffers, JSON, TPM2, OPC, DMX, ArtNet…
I have been trying to find a software library to improve this process, but so far everything I have looked at or tried either is not compatible with Linux+Teensy 3.6, or suffering from bit rot and I cannot get it to compile.
Things I have tried, or looked into:
- Aurora, which uses TPM2. I was not able to get it to compile and gave up after a few hours. But the code in aurora/StreamingMode.h at master · pixelmatix/aurora · GitHub looks like something I could use.
- The SmartMatrix FadeCandy port. I didn’t really expect this to work just because it was not adapted for Teensy 3.6 AFAIK. This uses Open Pixel Control though, which might be something I find useful.
- ALA (Arduino Light Animation) and ALAWeb. Not compatible with Teensy 3.6.
- PixelController - seems like it might work, I found this config file for SmartMatrix https://gist.github.com/jblang/cccb8b4f7caedc689c49 but it’s from 2015 so I’m guessing it won’t work with Teensy 3.6.
There’s a few other things I’ve looked at too but those are the main ones. As you can see, my main issue seems to be that nothing I’ve tried is compatible with the Teensy 3.6. This seems like a problem that many people would have though, so I assume that something out there exists and I just haven’t found out or overlooked it.
To be clear, I’m mostly looking to solve the USB communications problem, but I’m also interested in controller software like OPC, Jinx (which is Windows only, unfortunately). For now I am just trying to get the HUB75 matrix working, but eventually this project will include APA102 and possibly WS281x’s, so I’m trying to get something that works with SmartMatrix_GFX.
I’m not married to using USB serial, I would be fine with Ethernet, and I have some ESP’s sitting around that I can do tests with, but based on how my project will end up being used I’m trying to avoid wifi. I’m considering using a protocol like DMX or ArtNet, but being able to pass something like JSON files around seems like it would provide more flexibility. For now though, I’m interested in just about any sort of library that will packetize the USB communications and go from there.
Thank you in advance!