要用 AVR 做 USB 只有一個重點,就是晶片本身是否有內建支援 USB。目前能夠選擇的晶片有1:
- ATmega8U2
- AT90USB82
- ATmega16U2
- AT90USB162
- ATmega32U2
- ATmega16U4
- ATmega32U4
- AT90USB646
- AT90USB647
- AT90USB1286
- AT90USB1287
目前大概只有 ATmega32u4 還有在賣,然而由於半導體供貨短缺的關係,如果沒有特殊管道大概是買不到了。
明年 11/23 才能發貨,這就是現實。半導體短缺正逐漸影響上游供貨,哪天真的會悄悄席捲我們的日常生活。反過來看像 Apple 這種大公司還能穩穩地出新手機、新電腦真是奇蹟。
Arduino 的板子當中使用 ATmega32u4 的大概只有 Pro Micro,不過原廠似乎沒有再賣,都是其他廠商做的板子,品質比較參差不一。
我目前是用Aideepen(Amazon 連結,沒有 reference 就算買了我也沒有分潤)的,針腳要自己焊接,在 Arduino IDE 上要用 old bootloader 才燒得進去,而且還有小概率會跳錯誤,不過都賣那麼便宜了就將就著用。
另外一個方法就是果斷放棄 AVR,直接採用 STM32 或是熱騰騰的 Raspberry Pi pico 或直上 RP2040。