Investigation on USB Applications with AVR
# Dev NoteTo use AVR for USB, the main consideration is whether the chip itself has built-in support for USB. Currently, the available chip options include1:
- ATmega8U2
- AT90USB82
- ATmega16U2
- AT90USB162
- ATmega32U2
- ATmega16U4
- ATmega32U4
- AT90USB646
- AT90USB647
- AT90USB1286
- AT90USB1287
As of now, only the ATmega32U4 is still being sold, but due to the semiconductor supply shortage, it might be hard to purchase without special channels.

The earliest shipping date is November 23 of next year, which is the reality we face. The semiconductor shortage is gradually impacting upstream supply chains and could subtly infiltrate our daily lives. In contrast, it’s remarkable that large companies like Apple can still consistently release new phones and computers.
Among Arduino boards, the only one that uses the ATmega32U4 is probably the Pro Micro. However, it seems that the original manufacturer no longer sells it, and now it’s mainly other manufacturers producing these boards, leading to varying quality.
Currently, I am using the Aideepen (Amazon link, and I don’t receive any commissions from the purchase). The pins need to be soldered by hand, and in the Arduino IDE, you must use the old bootloader to upload the code. There’s also a slight chance of encountering errors, but considering the low price, it’s manageable.
Another approach is to decisively abandon AVR and go straight for STM32, or the hot-off-the-press Raspberry Pi Pico, or directly use the RP2040.
Footnotes
Related Posts
- Stop Using Access Keys AlreadyAccess Keys are an easily overlooked security risk on AWS. Use OIDC with IAM Roles so GitHub Actions can securely access AWS resources without any secrets.
- Database Primary Keys: AUTO_INCREMENT, UUID, and UUIDv7Backend developers often have to decide on a primary key: auto increment or UUID? What about collisions? How much faster is UUIDv7 compared with created_at + index? After benchmarking 20 million rows and looking at the design trade-offs, this post gives you the answer.
- Sharing My Experience with ZeaburIndependent developers often choose platforms like Vercel for deploying their services. However, when more advanced requirements arise, such as database connections, Vercel can become less convenient. Additionally, the pricing of typical cloud service providers can be quite expensive for solo developers. In this article, I’ll share some insights on using Zeabur and highly recommend it to everyone!
- Keyboard Enthusiast's Guide - Firmware EditionThis article is part of the IT 2023 Ironman Competition: A Beginner's Guide to Keyboards - Firmware Edition.