wolfSSL is pleased to announce that wolfBoot, our secure botoloader, now supports the Analog Devices MAX32665 and MAX32666 microcontrollers (formerly Maxim Integrated). The port was added in wolfBoot PR #804, and it has been tested on the MAX32666FTHR and MAX32666FTHR2 boards, bringing signed firmware verification and wolfBoot’s A/B update flow to this Bluetooth LE microcontroller family.
About the MAX32666
The MAX32666 is a low-power system-on-chip built around dual ARM Cortex-M4F cores running at 96MHz, with 1MiB of internal flash split across two 512MiB banks, 560KiB of SRAM and a Bluetooth 5 Low Energy radio. It is aimed at wearables, sensors and other battery-powered connected devices, and it integrates Analog Devices’ Trust Protection Unit (TPU): a hardware security suite with AES and SHA engines, a Modular Arithmetic Accelerator (MAA) and a true random number generator.
wolfCrypt has supported the TPU, MAA and TRNG since wolfSSL 5.7.4 (see the relevant blog post). This port brings wolfBoot to the same silicon.
What the port provides
- A bare metal MAX32666 target that initializes the clock, instruction cache, UART, and both internal flash banks. The basic bootloader does not require the Analog Devices MSDK.
- An example internal flash layout with a 32KB bootloader, 256KB boot and update partitions, and an 8KB swap sector. Flash erase and writes run from RAM; the driver handles the device’s 8KB erase pages and 16 byte write units..
- An example configuration using ECC P-256 signatures and SHA-256 hashes. Set MAX32666_TPU=1 to use the chip’s hardware SHA-256 accelerator during image verification; this optional build uses the MSDK and also supports the older Maxim SDK layout.
- UART output for both boards: UART1 through an external MAX32625PICO adapter on FTHR, or UART0 through the onboard debugger on FTHR2.
- A test application that reports the running firmware version and confirms a successful boot. An optional crypto test exercises hardware AES-GCM, P-256 key agreement, and the TRNG; optional persistent failure diagnostics can report why a previous boot or update failed.
Try it
git clone --recurse-submodules https://github.com/wolfSSL/wolfBoot cd wolfBoot cp config/examples/max32666.config .config make clean make keysclean make
For hardware SHA-256 acceleration, point MSDK_DIR to an Analog Devices MSDK checkout and build with MAX32666_TPU=1; use MAX3266X_OLD=1 for the older Maxim SDK. Select the FTHR2 board (rather than the FTHR) with MAX32666_FTHR2=1. The repository’s MAX32666 target guide includes the flash map, OpenOCD command, and serial console setup.
For help bringing wolfBoot to your MAX32666 design, contact us at facts@wolfssl.com or call us at +1 425 245 8247.
Download wolfSSL Now

