ST Nucleo-F767ZI
Cortex-M7 development board with Arduino and Morpho headers, three user LEDs, and a user button
The ST Nucleo-F767ZI is a Nucleo-144 board carrying the STM32F767ZI — a 216 MHz Cortex-M7 with 2 MB of flash and 512 KB of RAM. It exposes Arduino Uno V3 headers and the full ST Morpho headers, so every bonded GPIO on the package is reachable.
Flash it with the ELF your linker produced. The board boots the way real silicon does and needs the sections and symbols an ELF carries.
Run firmware on this board
Section titled “Run firmware on this board”Create a circuit using Getting Started and load your Nucleo-F767ZI ELF. Use the SDK to run the circuit and collect logs. The firmware CI guide provides the testing pattern on an STM32F405; its pin map and ELF do not apply unchanged to this board.
Need a specific peripheral or behavior for your firmware? Contact us to discuss your requirements.
Datasheet
Section titled “Datasheet”The STM32F767ZI datasheet and UM1974 (the Nucleo-144 user manual) define the pin mapping used here.
Every pin on both headers is wirable, under three naming schemes — use whichever matches your schematic:
| Naming | Examples | Notes |
|---|---|---|
| Arduino | D0–D15, A0–A5 | The Uno V3 headers |
| STM32 | PA0–PG15, PH0, PH1 | Every bonded GPIO, by port and pin |
| Board | LD1–LD3, B1, NRST, BOOT | Onboard LEDs, user button, control pads |
Aliases are intentional: D13, PA5 and LD1 are the same physical pin exposed at three connector positions.
Power and control pads — 3V3, 5V, GND, VIN, VBAT, IOREF, AVDD, E5V, U5V, VDD — plus the SWD pads (SWDIO, SWCLK, SWO) and the jumper/connector pads (JP1_1…JP7_2, CN4_1…) are all present so nothing on the board is un-wirable.
| Bus | SDA | SCL |
|---|---|---|
| I2C1 | D14 (PB9) | D15 (PB8) |
| I2C2 | PB11 | PB10 |
| I2C3 | PC9 | PA8 |
| I2C4 | PD13 | PD12 |
Pads shown are each bus’s defaults; firmware that muxes a bus elsewhere is followed automatically. I2C1 keeps its Arduino alias — that is how the header is labelled.
| Other | Pins |
|---|---|
| ST-LINK VCP | CN5_TX / CN5_RX — USART3 on PD8/PD9 |
Buttons
Section titled “Buttons”| Button | Behaviour |
|---|---|
| USER (B1) | Momentary GPIO on PC13. Held = high, released = low — firmware polling the pin or using EXTI sees a real press |
Debug output
Section titled “Debug output”Each USART is captured as its own channel, appearing as firmware uses it — read one with run.logs({ from: "mcu1:usart3" }).