Ouput via Arduino → OLED Displays

Hi there!

Through a university course I recently started learning Touchdesigner.
For a personal project, I’d now like to connect TD to an Arduino Mega driving two I2C OLED displays (128x32 resolution) and one SPI 2.0" TFT screen.
I feel like I’m in way over my head with this, but I’d really love to get this working. I already found resources regarding the general communication between the controller and TD, however I’m not sure my thought process makes sense/is even possible:

Controller input through switches/potentiometers → TD generates graphics → convert graphics to raw pixel data / .bmp-file (?) → send data to OLED displays via Serial Communication

In a way I imagine to control every pixel individually like I’d handle an on/off-LED matrix.

Does this make sense to achieve semi-fluid animations on these small displays?
How would I go about converting the TD output to serial format? I found the Adafruit GFX Library to sketch on OLED displays, but I’m not sure on how I’d go about controlling what is being sketched with Touchdesigner.
Would the data size be realistic for the bandwidth of an Arduino or should I consider something like the Teensy?

I hope this all makes sense, if additional information is needed I’d gladly supply it. Maybe someone could point me into the right direction for further research and experiments.

Thanks <3

I would try to minimize the quantity of data you are sending and do all of the rendering on the device.

The Adafruit GFX library has lots of helpers functions you can use to draw on the screens.

If you are trying to stream touch-generated visuals, I would instead upgrade your setup to a Raspberry PI. Then you can use other video-streaming protocols such as RTSP or NDI that are intended for video transfer.

1 Like

Hey, thanks a lot for your reply! Makes perfect sense and I changed some things based on it.
After some more digging, I’m streaming touch-generated visuals directly via HDMI to a 3.2" LCD display and the OLED displays are now used supplementary and only get fed some variables from TouchDesigner to generate graphs and display text strings. Will definitely look into the Raspberry Pi-route for the future. (: