Short Version: Can you read serial while outputting to WS2912B LEDs? Long Version:

Short Version: Can you read serial while outputting to WS2912B LEDs?

Long Version: I need to have 300 LEDs respond to sound using an Arduino Pro Mini. I don’t think I’ll have enough processing power to do both, so I’m planning on using one Arduino to process the sound, and another to drive the LEDs. What’s the best way to send the sound volume between them? Will the interrupts for Serial and FastLED interfere?

What if the driver Arduino gives a go-ahead signal over serial when it’s ready to receive the data, to make sure it never has to read serial and drive LEDs at the same time?

You can’t, at least with an avr based arduino. Doing the “I’m ready to receive data, send it now” between writing frames is better.

Alright, thanks!

Totally not a serial solution, but I wonder… If you’re just wanting to send a simple volume level sort of measurement, would it be possible to just output that on an analog pin (as 0-1023 value) and have the other arduino read that on an analog input pin?

Yeah, but Arduino doesn’t have an actual analog output pin. I could do pwm output and smooth it with a low pass filter though.

Ah true. Smoothing with low pass could be good.
I just remembered Teensy 3.1 has analog output (on one pin, 12 bit).

Why doing it while and not framewise one after the other? What means “process the sound”? I made the experience that I got very unstable readings when trying to analog read (pulsating DC) audio signals. You never know where you are in the actual waveform. What about using an MSGEQ7 instead?

I was going to do analog reads at tens of kHz to try to get the full waveform, and then do some frequency weighting and other stuff, but decided to just go with this sound detector board that outputs an analog voltage. Though the MSGEQ7 is interesting too. https://www.sparkfun.com/products/12642

+1 for MSGEQ7, they’re great little chips.