Hi,
For a new project I want to connect the Giga Display to the Portenta H7 using the Portenta Breakout.
I already found this:
https://forum.arduino.cc/t/connecting-giga-display-with-cables/1239371
My conclusion is as followed:
BREAKOUT <> GIGA DISPLAY
pin connection for power:
GND <> GND
3V3 <> 3.3V
pin connection for display:
D0N <> D0N
D1N <> D1N
CLKN <> CKN
D0P <> D0P
D1P <> D1P
CLKP <> CKP
pin connection for touch:
I2C0 SDA <> I2C4_SDA
I2C0 SCL <> I2C4_SCL
Is this correct or do I miss something?
Breakout: https://docs.arduino.cc/resources/pinouts/ASX00031-full-pinout.pdf
Display: https://docs.arduino.cc/resources/pinouts/ASX00039-full-pinout.pdf
GROK AI is telling:
What you have right
Power (minimum)
- Breakout GND → Display GND
- Breakout 3V3 → Display 3.3V
Display (MIPI DSI)
- D0N → D0N
- D0P → D0P
- D1N → D1N
- D1P → D1P
- CLKN → CKN
- CLKP → CKP
Do not wire Breakout D2 / D3. The shield does not use those lanes.Touch I2C (bus choice is correct for Portenta)
- Breakout I2C0 SDA → Display I2C4_SDA
- Breakout I2C0 SCL → Display I2C4_SCL
The I2C4_* names are the GIGA R1 names for the GT911 bus. On Portenta H7 the official Arduino_GigaDisplayTouch default is Wire = I2C0 (PH8/PH7), so I2C0 on the Breakout is the right pair. Those I2C4_SDA / I2C4_SCL pads are on the shield’s camera / J7 header, not on the DSI pairs.What is missing1. Touch INT and RESET (required for the stock library)On Portenta H7 the library defaults are:
| Function |
Portenta MCU pin |
Breakout silk |
GIGA Display silk |
| GT911 INT |
PD4 |
GPIO 2 |
D70 |
| GT911 RESET |
PD5 |
GPIO 3 |
D71 |
Add:
- Breakout GPIO 2 → Display D70
- Breakout GPIO 3 → Display D71
That is the same extra wiring Arduino support used on the Mid Carrier when touch failed with only the DSI connector. Without it you typically get Touch controller init - FAILED. D70 / D71 sit on the shield’s display header next to the DSI pins.2. More grounds next to the DSI pairsEach DSI pair on the shield has its own GND beside it (D0, D1, CK). Wire those grounds too, not just one GND for the whole board. MIPI DSI is a high-speed differential bus; a single ground return is a common reason the image is noisy or blank.3. 5 V / VIN is recommendedThe display header also has 5V and VIN. Logic runs at 3.3 V, but the backlight LED driver is happier if 5 V is present. If the image is “there” but the screen stays dark, add:
- Breakout 5V → Display 5V (or VIN)
4. Optional GIGA-only pinsOn GIGA R1 these also exist:
- D68 / D69 — panel TE / RESET
- D74 — backlight enable
You can leave them off for a first bring-up. They are not the Portenta touch pins. D74 is PB12 on GIGA; on Portenta H7 PB12 is tied up with USB HS, so do not assume that GIGA backlight pin is free.Practical wiring checklist
text
POWER
Breakout 3V3 -> Display 3.3V
Breakout 5V -> Display 5V (recommended)
Breakout GND -> Display GND (several, especially next to D0/D1/CK)
DSI
Breakout D0N -> Display D0N
Breakout D0P -> Display D0P
Breakout D1N -> Display D1N
Breakout D1P -> Display D1P
Breakout CLKN -> Display CKN
Breakout CLKP -> Display CKP
TOUCH
Breakout I2C0 SDA -> Display I2C4_SDA (J7 / camera header)
Breakout I2C0 SCL -> Display I2C4_SCL
Breakout GPIO 2 -> Display D70 (INT)
Breakout GPIO 3 -> Display D71 (RESET)
Cable and software notes
- Keep the DSI pairs short, same length, and treated as pairs. Dupont wires over tens of centimetres often fail; the forum thread already saw problems around 50 cm. Shielded FFC or short twisted pairs are much safer.
- Use the Portenta H7 core, not the GIGA core.
- Display: Arduino_H7_Video with GigaDisplayShield.
- Touch: Arduino_GigaDisplayTouch with the default constructor. That already selects Wire, PD4, and PD5.
- Compatibility is still not 100%. Video is the easier part; touch is the part people trip over.
So: DSI + I2C0 is a good start, but it is not enough for touch. Add GPIO2→D70, GPIO3→D71, extra GNDs, and preferably 5 V.