[Feature Request] Support for Microchip AVR DU (modern AVR with native USB)
Author: ws-asahiCreated Sep 17, 2026Updated Sep 17, 2026
Labelsenhancementhelp wanted
Feature Request Type
- Core functionality
- Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
- Alteration (enhancement/optimization) of existing feature(s)
- New behavior
Description
Summary
I am developing an ArduinoCore for Microchip’s AVR DU family MCU. I wanna adding support for AVR DU family to QMK firmware — would it be possible to include it via some pull requests? Currently, developing prototypes of ProMicro and XIAO form factor boards with the goal of bringing them to market by the end of 2026. And I have already checked that the actual QMK products with customized QMK firmware perform basic operations.
Abouts AVR DU
- AVR DU is next generation 8-bit MCU include USB controller that is many software compatible with the ATmega32U4 and outperforms it in many areas.
- It operates at up to 24 MHz without a crystal oscillator at both 3.3 V and 5 V, and can maintain a frequency error of ±0.2% through auto-tuning using USB communication.
- Since it just went on sale in 2024 and is less expensive than the 32U4, I believe it will continue to be readily available.
- Although it has a smaller EEPROM capacity than the 32U4, QMK's
wear levelingfunction — which utilizes a reserved flash area — allows for the storage of a sufficient number of configurations.
Development status
- I'm proposed adding support for the DU series to DxCore, which supports the modern AVR, but the PR has not yet been merged.
- I'm prototyping several boards that run original ArduinoCore, which was developed as a fork of DxCore.
Known caveats (on toolchain)
- There is a bug in the
wdt.hfile for modern AVR in avr-libc. A pull request containing a fix has already been submitted to avr-libc and accepted, but it is not included in the current latest release (2.3.2). Therefore, a temporary compatibility layer is currently required to ensure that the WDT functions properly. - The current version of qmk_toolchain (avr-libc 2.2.1) supports the AVR64DU32/28, but does not support each other AVR DUs. When importing, you will also need to update the avr-libc included in the toolchain.
Question
- I think the industry is gradually shifting toward high-performance MCUs like the RP2040, but is it still possible to add support for 8-bit MCUs?
- If so, which structure do you prefer?
New
platforms/avrdu/+tmk_core/protocol/avrdu/Or folding it intoplatforms/avr/
Source: qmk/qmk_firmware