v3.6.9

v3.6.9 brings WiFi to the Arduino Portenta H7 — the LWIP networking stack and Cypress CYW43 drivers were added and WiFi was enabled — along with external-flash storage init and a batch of Portenta clock/memory and networking stability fixes. It introduces no breaking API changes — v3.6.8 scripts run unchanged.

Highlights

  • Portenta H7 WiFi — LWIP stack and Cypress CYW43 WiFi drivers added and WiFi enabled, with a separate CYW43 firmware image shipped in the release.

  • External-flash storage — storage is now initialized on boards with external flash, plus a memory-mapped external-flash region.

  • Stability — Portenta clock/memory (FMC/SDRAM, QSPI, PLL1) and networking init/de-init fixes.

  • No breaking API changes — reflash and your v3.6.8 scripts run unchanged.

New features

  • Portenta H7 WiFi — added the LWIP library and CYW43 drivers (LWIP and CYW43 submodules), enabled WiFi on the Portenta, generated a separate CYW43 firmware image, and added the CYW4343 firmware binary to the release deliverables.

  • External flash — storage is now initialized on boards with external flash, with a configurable linker section for the CYW43 firmware and a memory-mapped external-flash region.

Other changes and improvements

  • Used the highest-priority MPU region for DMA buffers and added the CYW43 / LWIP initialization paths in main.

Bug fixes

Portenta and memory:

  • Fixed the Portenta FMC/SDRAM and QSPI PLL settings, the QSPI prescaler, the QSPI MPU config, and PLL1.

Networking and system:

  • Fixed the WiFi initialization functions, added the missing LWIP/CYW43 initialization in main, called network de-init in main, fixed SDIO DMA transfers, the USBDBG IRQn bug, and de-init the I2C bus before re-initializing it.

Hardware and board support

  • Arduino Portenta H7 — WiFi (CYW43 / LWIP) and external-flash storage.

Breaking API changes

v3.6.9 introduces no breaking Python API changes. Scripts that ran on v3.6.8 run unchanged on v3.6.9 — just reflash the firmware.