I've used pre-made Arduinos, and built up breadboard board versions from kits, but I've never built a circuit for a uC completely from scratch. The next project calls for the uC to live on a custom board as part of various other things, and I'm wondering if I've designed it correctly. Schematic attached. I'd appreciate an idiot check to make sure I didn't miss anything important.
Some notes: The plan is to be able to program this with either an Atmel-Ice via a 6 pin ISP header or (after installing an Arduino bootloader) via an FTDI Basic board over USB. Hence hookups for both.
The XTAL capacitors aren't specified as I've not yet picked the particular crystal I'll use.
The reset circuitry bears some thought. As discussed in one of my other threads, this is going into a potentially noisy environment - a high altitude balloon tracker. So I want maximum noise protection. Therefore, I'm designing with the capacitor (C6) and protection diode (D2), though I may not actually install them unless needed. The reset pullup resistor, R4, is set to 10k because I want the option of using debugWire, and the AN2519 note states that this is required (also that capacitor C6 can't be present). I know that D2 will prevent high voltage programming. That's fine, I have no need (or equipment) for that.
The only outputs of the uC I currently need are PD2-PD5 plus i2c/TWI. Those lines are routed off this sheet.
I would appreciate a sanity check. Did I leave off something critical? Do I have something that's unnecessary/harmful/sub-optimal? This isn't going to be a final version by any stretch, it's an interim development step, but I do want to make sure it works, which means making sure the circuit is right before I go and design the PCB...