The Arduino GIGA R1 WiFi is Arduino’s most capable board in the classic Mega/Due-sized form factor.
It is built around the:
|
1 2 3 4 5 6 |
STM32H747XI Cortex-M7 up to 480 MHz Cortex-M4 up to 240 MHz |
and adds:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
76 dedicated GPIO 12 analog inputs 2 DAC outputs 4 UARTs 3 I2C buses 2 SPI buses CAN / FDCAN USB-C device USB-A host Wi-Fi Bluetooth LE camera connector display connector 8 MB SDRAM 16 MB QSPI Flash |
The first rule to remember is:
|
1 2 3 4 5 6 |
GIGA R1 WiFi is a 3.3 V logic board. Its GPIO is not a 5 V Mega replacement. |
GIGA R1 WiFi Quick Pinout
| Function | Pins / interface |
|---|---|
| Main digital GPIO | D0-D53 |
| Camera connector GPIO | D54-D67 |
| Display connector GPIO | D68-D75 |
| Total dedicated digital GPIO | 76 |
| Analog inputs | A0-A11 |
| Analog pins usable digitally | A0-A7 = D76-D83 |
| Pure analog pins | A8-A11 |
| DAC | DAC0 = D84, DAC1 = D85 |
| Main UART | D0 RX, D1 TX |
| Additional UARTs | D14-D19 |
| Main I2C | D20 SDA, D21 SCL |
| Second header I2C | D8 SCL2, D9 SDA2 |
| Dedicated I2C | D101 SCL1, D102 SDA1 |
| Main-header SPI | D10 CS, D11 COPI, D12 CIPO, D13 SCK |
| Dedicated SPI header | D89 CIPO, D90 COPI, D91 SCK |
| CAN | D93 CAN RX, D94 CAN TX |
| Logic voltage | 3.3 V |
| VIN | 6-24 V |
Dual-Core STM32H747XI
The GIGA uses the same high-end STM32H747 family found in Arduino’s Portenta H7 ecosystem.
It contains two application cores:
|
1 2 3 4 5 6 7 8 |
Cortex-M7 up to 480 MHz Cortex-M4 up to 240 MHz |
The M7 is the high-performance core and includes:
- double-precision FPU;
- L1 cache;
- DSP instructions;
- high memory bandwidth.
The M4 can run simultaneously for secondary or real-time tasks.
Dual-Core Programming
The two cores can be programmed independently.
A typical division might be:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
M7 → Wi-Fi → graphics → filesystem → application logic M4 → sensors → motor control → deterministic I/O |
Arduino provides inter-core RPC mechanisms, so the two cores can exchange data and commands.
Memory
The STM32H747 itself provides:
|
1 2 3 4 5 |
2 MB internal Flash 1 MB internal RAM |
The GIGA adds:
|
1 2 3 4 5 |
16 MB QSPI NOR Flash 8 MB SDRAM |
This makes the board suitable for:
- large framebuffers;
- camera images;
- LVGL graphics;
- audio buffers;
- large JSON documents;
- high-rate data logging;
- MicroPython;
- machine-learning workloads.
76 Dedicated GPIO
Arduino’s official specification lists:
|
1 2 3 4 |
76 digital GPIO |
These are organised as:
|
1 2 3 4 5 6 7 8 9 10 11 |
D0-D53 → familiar Mega/Due-style headers D54-D67 → camera connector D68-D75 → display connector |
This is why GIGA can retain the familiar large Arduino format while still exposing substantially more I/O than Mega or Due.
D0-D21 Main Header Mapping
| Arduino pin | STM32 pin | Default / notable function |
|---|---|---|
| D0 | PB7 | RX |
| D1 | PA9 | TX |
| D2 | PA3 | PWM / GPIO |
| D3 | PA2 | PWM / GPIO |
| D4 | PJ8 | PWM / GPIO |
| D5 | PA7 | PWM / GPIO |
| D6 | PD13 | PWM / GPIO |
| D7 | PB4 | PWM / GPIO |
| D8 | PB8 | PWM / SCL2 |
| D9 | PB9 | PWM / SDA2 |
| D10 | PK1 | PWM / SPI CS |
| D11 | PJ10 | PWM / SPI COPI |
| D12 | PJ11 | PWM / SPI CIPO |
| D13 | PH6 | PWM / SPI SCK |
| D14 | PG14 | TX3 |
| D15 | PC7 | RX3 |
| D16 | PH13 | TX2 |
| D17 | PI9 | RX2 |
| D18 | PD5 | TX1 |
| D19 | PD6 | RX1 |
| D20 | PB11 | SDA |
| D21 | PH4 | SCL |
D22-D53 Extended Main Headers
The lower Mega-style headers provide the remaining general-purpose digital pins:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
D22 PJ12 D23 PG13 D24 PG12 D25 PJ0 D26 PJ14 D27 PJ1 D28 PJ15 D29 PJ2 D30 PK3 D31 PJ3 D32 PK4 D33 PJ4 D34 PK5 D35 PJ5 D36 PK6 D37 PJ6 D38 PJ7 D39 PI14 D40 PE6 D41 PK7 D42 PI15 D43 PI10 D44 PG10 D45 PI13 D46 PH15 D47 PB2 D48 PK0 D49 PE4 D50 PI11 D51 PE5 D52 PK2 D53 PG7 |
These pins are especially useful for large:
- relay panels;
- parallel interfaces;
- large control systems;
- custom shields.
Camera Connector: D54-D67
The 20-pin camera connector exposes:
|
1 2 3 4 |
D54-D67 |
plus:
- 3.3 V;
- GND;
- SCL1;
- SDA1.
The current Arduino camera documentation lists support for modules including:
- OV7670;
- OV7675;
- GC2145;
- Himax HM01B0.
Camera Pin Mapping
The camera data/clock pins are arranged as:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
D54 D55 D56 D57 D58 D59 D60 D61 D62 D63 D64 D65 D66 D67 |
with D66/D67 duplicated on the camera connector as documented by Arduino.
Display Connector: D68-D75
The display connector exposes:
|
1 2 3 4 |
D68-D75 |
plus DSI high-speed differential signals:
|
1 2 3 4 5 6 |
D0P / D0N D1P / D1N CKP / CKN |
This is used by boards such as the Arduino GIGA Display Shield.
Analog Inputs: A0-A11
The board provides:
|
1 2 3 4 5 |
12 analog input pins A0-A11 |
but there is an important distinction.
A0-A7 Also Work as Digital Pins
The current Arduino core maps:
|
1 2 3 4 5 6 7 8 9 10 11 |
A0 = D76 = PC4 A1 = D77 = PC5 A2 = D78 = PB0 A3 = D79 = PB1 A4 = D80 = PC3 A5 = D81 = PC2 A6 = D82 = PC0 A7 = D83 = PA0 |
These can therefore be used through normal digital GPIO APIs when analog input is not required.
A8-A11 Are Analog-Only
Arduino’s official pinout explicitly warns:
|
1 2 3 4 5 6 7 |
A8 A9 A10 A11 |
are:
|
1 2 3 4 |
analog-only pins |
with no normal GPIO peripheral assignment.
The current core maps them to:
|
1 2 3 4 5 6 7 |
A8 → PC2_C A9 → PC3_C A10 → PA1_C A11 → PA0_C |
Do not assume every GIGA analog pin can be used digitally.
ADC Resolution
The current Arduino core defines a default:
|
1 2 3 4 |
12-bit ADC resolution |
for normal analog reads.
The STM32H747 ADC hardware is more advanced than that simple Arduino default and supports higher-performance operating modes, DMA and advanced triggering.
For general sketches, however, treating:
|
1 2 3 4 5 |
analogRead() → 12-bit default |
is the clearest Arduino-level model.
Dual DAC Outputs
GIGA provides two true analogue outputs:
|
1 2 3 4 5 6 7 8 9 10 |
DAC0 → PA4 → D84 DAC1 → PA5 → D85 |
The STM32H7 DAC hardware supports up to:
|
1 2 3 4 |
12-bit resolution |
and these same channels are also routed to the onboard 3.5 mm audio jack.
Audio Jack
The 3.5 mm connector is wired to:
|
1 2 3 4 5 6 7 8 9 10 11 |
DAC0 → right audio DAC1 → left audio A7 → microphone input |
This makes the GIGA unusually convenient for:
- synthesizers;
- audio effects;
- waveform generation;
- microphone acquisition;
- DSP experiments.
PWM
The full Arduino pinout clearly marks:
|
1 2 3 4 |
D2-D13 |
as the familiar PWM-capable header pins.
One source discrepancy is worth noting:
- Arduino’s current store page lists 12 PWM pins;
- the current datasheet feature table lists 13 PWM pins.
For a specific design, use the current full pinout/core peripheral mapping rather than relying only on the headline count.
Four Hardware UARTs
GIGA provides four hardware serial interfaces.
| Header pair | Function |
|---|---|
| D0 / D1 | RX / TX |
| D19 / D18 | RX1 / TX1 |
| D17 / D16 | RX2 / TX2 |
| D15 / D14 | RX3 / TX3 |
In the current Arduino Mbed variant, the hardware serial objects are exposed separately from the USB CDC console.
That means GIGA can keep USB serial debugging while still providing multiple independent TTL UART links.
Three I2C Buses
The current board core defines three hardware I2C buses.
Main bus
|
1 2 3 4 5 6 7 8 |
D20 → SDA D21 → SCL |
Second header bus
|
1 2 3 4 5 6 7 8 |
D9 → SDA2 D8 → SCL2 |
Dedicated camera/auxiliary bus
|
1 2 3 4 5 6 7 8 |
D102 → SDA1 D101 → SCL1 |
The D101/D102 pair appears on the dedicated header/camera ecosystem rather than the normal D0-D53 side headers.
Why Three I2C Buses Are Useful
You can separate:
- camera control;
- display peripherals;
- sensors;
- slow devices;
- devices with conflicting fixed addresses.
without immediately adding an I2C multiplexer.
Two SPI Buses
The GIGA current Arduino core defines:
|
1 2 3 4 |
2 SPI interfaces |
Main-header SPI
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
D10 → CS D11 → COPI / MOSI D12 → CIPO / MISO D13 → SCK |
Dedicated SPI header
|
1 2 3 4 5 6 7 8 9 10 11 |
D89 → CIPO / MISO D90 → COPI / MOSI D91 → SCK |
The dedicated SPI header provides a second independent bus for high-speed peripherals.
CIPO and COPI Terminology
Arduino now uses:
|
1 2 3 4 5 6 7 8 |
CIPO Controller In Peripheral Out COPI Controller Out Peripheral In |
instead of the older:
|
1 2 3 4 5 |
MISO MOSI |
terminology on current pinout diagrams.
CAN / FDCAN
The board exposes:
|
1 2 3 4 5 6 7 8 9 10 |
D93 → CAN RX → PB5 D94 → CAN TX → PB13 |
An external CAN transceiver is required.
The STM32H747 provides modern FDCAN-capable hardware, but the physical bus still requires the transceiver that converts logic TX/RX into differential:
|
1 2 3 4 5 |
CANH CANL |
USB-C Device Port
The USB-C connector is used for:
- power;
- programming;
- serial communication;
- HID device operation.
The board acts as a USB peripheral through this connector.
USB-A Host Port
The dedicated USB-A connector provides USB host capability.
It can be used for supported devices such as:
- keyboards;
- USB mass storage;
- HID devices.
The current variant identifies:
|
1 2 3 4 5 6 |
D92 → PA15 → USB host power enable |
USB Host Power Limit
The official pinout documents approximately:
|
1 2 3 4 |
500 mA |
as the USB-A host current limit.
The board cannot itself be powered through the USB-A host connector.
Wi-Fi and Bluetooth
GIGA uses the Murata 1DX radio module for:
|
1 2 3 4 5 |
2.4 GHz Wi-Fi 802.11 b/g/n Bluetooth Low Energy |
The board does not have an onboard PCB antenna.
Arduino supplies an external antenna that connects through the:
|
1 2 3 4 |
micro-U.FL |
connector.
Do Not Forget the External Antenna
Arduino’s pinout explicitly warns that:
|
1 2 3 4 5 6 |
without an external antenna connected to the micro-U.FL, Wi-Fi does not work |
That is an easy setup mistake if the board is being used for the first time.
Secure Element
The board includes:
|
1 2 3 4 |
ATECC608A |
for protected cryptographic functions and credential storage.
This is useful for:
- TLS credentials;
- device identity;
- secure Arduino Cloud connections;
- authentication.
RGB LED
The current core defines:
|
1 2 3 4 5 6 |
LEDR = D86 LEDG = D87 LEDB = D88 |
and:
|
1 2 3 4 |
LED_BUILTIN = D87 |
Use the symbolic LED names rather than hard-coded internal pin numbers.
RTC and VRTC
GIGA includes an RTC in the STM32H747.
The board exposes:
|
1 2 3 4 |
VRTC |
so a small backup battery can keep the RTC domain powered while the main board is off.
Arduino explicitly notes that:
|
1 2 3 4 |
VRTC cannot power the whole board |
OFF Pin
The board also exposes:
|
1 2 3 4 |
OFF |
which can be shorted to ground to shut the board down.
This is useful in battery-powered or controlled-shutdown systems.
BOOT0 Button
The board includes a:
|
1 2 3 4 |
BOOT0 |
button connected to the STM32 boot configuration path.
It can also be repurposed as a user button in applications where the boot behaviour is understood.
Logic Voltage
The operating I/O level is:
|
1 2 3 4 |
3.3 V |
Do not connect a 5 V output directly to a GIGA input.
This is especially important when reusing:
- Mega shields;
- 5 V UART hardware;
- 5 V I2C modules;
- legacy relay boards;
- older LCDs.
5 V Power Pin Does Not Mean 5 V GPIO
GIGA exposes a:
|
1 2 3 4 |
5 V power rail |
for peripherals.
That does not make the STM32H747 GPIO a 5 V logic interface.
Keep the distinction clear:
|
1 2 3 4 5 6 |
5 V power available ≠ 5 V-safe GPIO |
GPIO Current Limits
The current Arduino store page recommends:
|
1 2 3 4 |
8 mA per I/O pin |
The official full pinout additionally states:
|
1 2 3 4 5 6 7 8 |
20 mA maximum sourced or sunk by any individual I/O/control pin 140 mA maximum total sourced or sunk across all I/O/control pins |
For real designs, treat the GPIO as logic-level signals and use external drivers for meaningful loads.
Do Not Drive Relays or Motors Directly
Use:
- MOSFETs;
- transistors;
- ULN2803;
- motor-driver ICs;
- dedicated LED drivers.
The fact that GIGA has 76 GPIO does not mean those pins can directly supply large aggregate load current.
Input Voltage
The board accepts:
|
1 2 3 4 5 |
VIN 6-24 V |
This is wider than the traditional recommended range of Mega/Due and makes GIGA easier to integrate into 12 V and some 24 V control systems.
Board Size
The GIGA retains approximately the same large Arduino footprint:
|
1 2 3 4 |
101 × 53 mm |
as Mega and Due.
This was intentional so custom large-format shields can be adapted more easily.
But Mechanical Compatibility Is Not Electrical Compatibility
Before plugging an old Mega shield into GIGA, verify:
- logic levels;
- I2C pull-ups;
- SPI routing;
- interrupt assumptions;
- current consumption;
- library support.
Quick GPIO Reference
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
Main digital headers D0-D53 Camera GPIO D54-D67 Display GPIO D68-D75 Analog A0-A7 → also D76-D83 Analog-only A8-A11 DAC DAC0 → D84 → PA4 DAC1 → D85 → PA5 RGB LED LEDR → D86 LEDG → D87 LEDB → D88 Dedicated SPI CIPO → D89 COPI → D90 SCK → D91 USB host enable D92 CAN D93 → CAN RX D94 → CAN TX Dedicated I2C D101 → SCL1 D102 → SDA1 |
Quick Communications Reference
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
UART D0/D1 D19/D18 D17/D16 D15/D14 I2C Wire: D20 SDA D21 SCL second header bus: D9 SDA2 D8 SCL2 dedicated bus: D102 SDA1 D101 SCL1 SPI main header: D10 CS D11 COPI D12 CIPO D13 SCK dedicated header: D89 CIPO D90 COPI D91 SCK CAN D93 RX D94 TX external transceiver required |
Final Thoughts
The Arduino GIGA R1 WiFi is effectively Arduino’s modern replacement philosophy for large-format boards such as Mega and Due.
Its biggest strengths are:
- dual-core STM32H747;
- 76 dedicated GPIO;
- 12 analog inputs;
- two true DAC outputs;
- four UARTs;
- three I2C buses;
- two SPI buses;
- CAN/FDCAN;
- USB host and device;
- Wi-Fi/BLE;
- camera/display connectors;
- large onboard RAM and Flash.
The most important pinout rules are:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
3.3 V GPIO only D0-D53 → main digital headers D54-D67 → camera D68-D75 → display A0-A7 → analog + digital A8-A11 → analog only DAC0/DAC1 → true analogue output D20/D21 → main I2C D10-D13 → main-header SPI D93/D94 → CAN RX/TX USB-A → host USB-C → programming/device/HID |
For projects that need the familiar Mega/Due form factor but far more processing, memory and connectivity, GIGA R1 WiFi is one of the most capable Arduino boards available.