Arduino MEGA: VS1053, TFT (ILI9341), SdFat problem

Hi all,

I'm building (yet another ...) audio player with TFT screen. The audio codec is a vs1053. The audio files are streamed from an SD card.

My components: - Arduino Mega2560 - Adafruit Music Maker shield (VS1053 codec) w/ SD slot - Adafruit 2.2'' TFT shield (no touch screen).

The libraries handling the TFT: - PDQ_GFX.h - PDQ_ILI9341.h

The Library handling the vs1053: - vs1053_SdFat.h

The wiring: - SPI: The TFT, SD Card and vs1053 share the SPI bus (pins 50, 51, 52 for MISO, MOSI and CLK). - TFT CS=24 - TFT DC=25 - no reset for the TFT currently - vs1053 Reset=9 - vs1053 CS=10 - vs1053 XDCS=8 - vs1053 DREQ=3 - SD Card CS=4

My problem: I can initiate all components all right. My screen works and my vs1053 works. BUT: when an mp3 file is playing, as soon as I try to update my TFT, pretty much everything goes south: the music is interrupted and the TFT either stops updating or goes white.

While not being an expert, I have a feeling that the issue is with my SPI bus. The reason I came to this conclusion is that I had build the same thing with a 16x2 LCD hooked up via i2c and it all worked like a charm. The TFT now uses SPI and it fails... I'm trying to fix this issue since days but without any success.

It would be tremendously helpful if anyone who's done something similar could share his/her experience or help me find the solution.

Cheers, Phil

PS: my current code is rather long (is does a bunch of other things) but should anyone wish to reproduce the issue, let me know and I will provide a short version illustrating the problem.