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?
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: -
- Inputs - adding a resistor will slow down the propagation of the digital signal into the input due to the inherent input capacitance of the IO gate - a resistor could be used to "bodge" bad hardware design of course i.e. it slows down edges so that glitches don't have an effect.
- Outputs - if transmitting serial data some folk would consider adding a series resistor to a data output IO in order to match impedance to the transmission line but, this is not required - matching only needs to be done at the receive end and, adding a resistor at the transmit end just reduces the amplitude and makes the system more susceptible to noise.