Arduino can be built with C20/C++20 or C17/C++17 by switching to the latest gcc-arm-none-eabi. Below shows 2 different ways one using arduino-cli and the other using a Makefile included in this repo.
This repo demonstrates how to work with an Arduino's PWM outputs in a clean programmer-friendly way. It packages all the low-level interaction with timer clocks that underly PWM functionality, ...