The short version:
I recently inherited the supervision of a university project using a Giga and a display shield. Two separate gigas have been damaged in the last weeks resulting in a green screen, similar to what has been described here:
Yellow Tint on Giga Display Shield - Mega / GIGA Display Shield - Arduino Forum
Problems with giga display shield - Mega / GIGA Display Shield - Arduino Forum
As in these posts, our gigas have developed an issue where the display only shows a green screen with black, jittery lines. The display was mounted correctly (on the back of the giga with the GPIOs accessible). The arduino was powered with 12v via the VIN pin, and was connected via USBC to a PC for programming.
In both cases, uploading example scripts, such as the display's IMU script, backlight script, serial scripts, etc, have all worked, but all example display scripts (GFX, LVDL) remain with a green screen.
Some of the Giga's pins D22 thru D53 are currently being used as PWM and GPIO.
The Question:
According to the datasheet, the pins along the narrow edge of the Giga, D22-D53, are connected to the LTDC portion of the STM32 processor.
Are these pins reserved for video use when using the display shield? Are they allowed to be used as GPIO when the official display shield is connected? I searched and could not find anything in the documentation of the Giga nor the Giga Display Shield that said that the pins should not be used when the display was in use. Could it be that using these pins as GPIO while the graphics are active is killing the giga?
More detail and a possible cause of the failure:
The application in this case is to control several motors with MC33926 dual motor carriers and force feedback from analog force sensors. I inherited this project, including a PCB that I'm now redesigning to fix a few design problems.
The motor carrier's IN1 and IN2 lines are controlled from the giga, as are the D1 PWM lines. The carrier's enable and slew pins are tied directly to VDD, which is 5v, supplied from the Arduino's 5v pin. According to the datasheet, VDD is not fed back to any pins that touch the arduino. The VDD mainly supplies the SF flag, which we don't use. It also supplies jumpers to override default settings, also not in use. The motors are supplied with power over the carrier's VIN pin, getting 12v from a 2.5 amp switching power supply. The motors each draw only about 70 mA without load.
I have measured the existing PCB's voltages. When left floating, the IN1 and IN2 pins float to 4.2v. This appears to be a voltage leaking across the MC33296's internal regulator from VIN, as it occurs even when VDD is not connected or when VDD is getting 3.3v input. Per the datasheet, IN1 and 2 are not connected to VDD. It's possible that this may be what is damaging the giga's graphics unit, as I'm not sure what happens onboard the Arduino before the GPIO are initialized. I could imagine the floating 4.2V is getting to the graphics unit and overloading it.
It's also possible that other short circuits or issues exist in the original PCB design, or even that it's one of the students inadvertently shorting something during testing, though they swear that isn't the case.
For now I'm just trying to rule out that the use of the digital pins could be the issue.
The giga has been replaced with a new one and a PCB redesign is underway. Until the new PCB arrives, the giga won't touch the hardware.