AVRのRCオシレータはUARTを回すのに必要な精度を持っていません。 実際に動かしてみると案外よく動くものではありますが、 ハズレの個体をつかむと動かないかも知れません。 これではつらいのでセラミック振動子または水晶振動子を取り付けることにしましょうか。 手軽さという意味ではセラミック振動子が良いでしょう。
水晶振動子は部品点数が増えるきらいがあります。 水晶振動子は精度が良いという特徴があります。
どのように使い分けるかが問題になります。 それほど難しい問題ではなく、 通信がUART程度で良くて周波数精度を気にしないならセラミックを使えばよく、 その他の精度が欲しい用途では水晶を採用すればいいのでしょう。 通信すらもしないなら内蔵RC発振で足りるということです。
USB回路と電源まわりは配線した作りかけのUSBasp。 3.3Vの回路で使いたい用事があるためレベルコンバータ回路を付与して概ね完成といきたいところ。 市販の完成品も3.3Vはたいてい対応外なのでレベルコンバータを挟むこと自体は避けて通れません。
レベルコンバータとしては専用のゲートICを挟むのがもっとも合理的と思われます。 探してみたところでは74VHCT125Aを使うのが良さそうです。 OE#端子の制御にはRESET#の制御線が使えるでしょう。 低電圧側から高電圧側に対する処理にはオープンドレイン構成を利用します。 74VHCT125Aのゲート入力端子をGNDに落として、 OE#端子を入力に用いることでオープンドレイン・バッファを実現できます。 難点は当該デバイスとしてSMDしかないということでしょうね。 ややこしいデバイスが必要で、しかもそのデバイスが手元にないのは少々萎えるのです。
基板面積が微妙に足りなくなってしまいました。 いったん5V専用で仕上げておいて、後付けの回路で3.3V対応を図るのが良いでしょうか。