I'm working on a project where we have four tubes that a ball can be dropped down. If the ball is dropped down the right tube in a sequence, then we play an MP3 track off of a DFPlayer DFR0299 via the DAC outputs connected to an external amplifier and larger speaker. Drop it down the wrong tube and it plays an error sound. Complete the right sequence and a relay triggers releasing a maglock. The relay is being powered separately by its own 5V power supply. We then have the DFPlayer, four SEN0019 sensors and 5 LED's powered off of the Arduino.

Our sketch is working and all of the logic is right, but we're running into an issue where the Arduino will reset/restart after the last ball drop when we play a sound and switch the relay.

We suspected that the SEN0019 sensors were using too many amps, so we moved them to the 5V power supply shared with the relay, but then we started getting random SEN0019 sensors starting to trigger a LOW state from time-to-time even though nothing was near them. This probably means they need their own separate 5V power supply. We did have a bunch of debug println calls, but have since disabled those. Any other ideas about what might be causing the Arduino to restart and re-run the setup routine? Are we asking too much having four SEN0019 sensors going at once with the DFPlayer and relay?