I've read that digital I/O pins should have a resistor in series in order to limit noise. Should one also use such approach when interfacing with the I/O pins of an arduino, or is that already done on the arduino board?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
What that snippet seems to be talking about is restricting the propagation of noise generated inside the microcontroller (or other similar clock-based chip) into external circuitry.
To that end the recommendation in that document is not just to add a series resistor, but to form a low pass filter close to the chip using a series resistor and parallel capacitor (for high speed switching they don't recommend the capacitor, in which case the capacitance of the trace itself forms the capacitor).
This helps prevent some of the internally generated switching noise from getting any further from the chip than the low-pass filter, thus reducing the possibility of radiated EMI.
It does, of course, have the knock-on effect that it limits the maximum switching frequency you can perform with any IO pin set up in that way, which is why they specifically say it is "to mute the noise of the clock glitches when the pin is static", so not for high speed clock or data pins on busses like SPI, I²C, etc, or things like PWM, but simple low speed IO pins used for switching and signalling external devices.
Should you add them to an Arduino? No. Not unless you are designing your own Arduino-esque board and have some very tight EMI requirements. The whole point of those low pass filters is that they are placed extremely close to the chip, not off on some daughter board somewhere.
Probably not a good idea in most circumstances. Here are a couple of examples: -