This is an example on how to use an OLED display to display the VU meters and mute/solo states of the eight first tracks, by using the Arduino as a Mackie Control Universal.
This is an example on how to use an OLED display to display the VU meters and mute/solo states of the eight first tracks, by using the Arduino as a Mackie Control Universal.
VU-Bridge
Boards: 🛈
Teensy 3.x, Teensy 4.0
If you want to display more than eight tracks, have a look at the VU-Bridge-Dual-Display.ino example, that uses MCU Extenders to display up to 32 tracks.
The OLED display uses a RAM frame buffer of 1 KiB (128×64 pixels / 8 pixels per byte). This is a significant amount for AVR boards like the Arduino UNO, Nano, Leonardo, etc. Keep in mind that you might run out of memory, and that you'll need a more powerful board.
Connections
This example drives two SSD1306 OLED displays over SPI
Don't forget that most OLED displays are 3.3V only, so connecting a display to a 5V Arduino directly will destroy it!
Behavior
Map "Control Surface" as a Mackie Control Universal unit in your DAW.
The first display should now display the level meters and mute/solo states of the first 8 tracks.
Note
There seem to be some differences in the way some applications handle VU meters: some expect the hardware to decay automatically, some don't.
If you notice that the meters behave strangely, try both decay options of the MCU::VUDecay class, or try a different decay time.