Electronic – arduino – Atmega2560 AVCC decoupling

arduinoatmega

We have designed a custom prototype board based on the Arduino Mega (ATmega2560).
Our knowledge on electronics are limited so we assigned someone else to design the board.

On his design he used the following circuit for noise filtering and decoupling the Voltage on the AVCC and AREF pins of the 2560:

Decoupling

My problem is that on the Arduino Mega R3 reference design the decoupling is done this way:

Atmega R3 decoupling

So there is a difference that on the AVCC there is no coil filtering (L4) and that they are using 3 100nF decoupling capacitors, while hs is using 1 100nF and 1 10nF
Also on the AREF decoupling is done with 1 100nF on the Reference design, while he is using 100nF and 1nF

When asked he said that his approach is better, but since my knowledge is limited on the field, I wanted to make sure we are definitely doing this correctly.

Here is the Reset circuit

enter image description here

Best Answer

Well in theory, with decoupling, more is usually better (although at some point you get diminishing returns). This actually involves two different issues, Decoupling and Bypassing. You can find out more about them here, but basically Bypassing is about getting rid of noise from the supply, and Decoupling is about being able to provide short bursts of current. Technically L4, C10 and C13 are more dealing with Bypassing, while C12 and C11 are Decoupling.

In the reference design, those capacitors are more meant for Decoupling, although of course it has an effect on Bypassing as well. The type of capacitor isn't specified, but it should typically be ceramic.

The decoupling for the two designs is basically the same, so the difference is the Bypassing. Using a 10uF capacitor instead of a 100nF capacitor will definitely be a bit better, but using an inductor as well will be much better. It turns the RC filter formed by the trace and the capacitor into an LC filter, which is a second order filter and has much higher attenuation at higher frequencies.

I don't think theres a question of whether your design is higher performance (it is higher performance), but there is a question of whether it's worth the extra cost and board space, and only you can really answer this as it depends on how precise you need your ADC readings, and what environment your board is in etc.