This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Series resistors for GPIO and SPI/I2C/UART lines

Hello,

I am designing PCB board for Cubesat subsystem. It's MSP430FR based simple embedded system for stepper motor controll. My question may be a little trivial, but I am thinking about a tradeoff. 
Is there strong reason to put small, series resistors (50 ohm) on every GPIO output and interface pin? I remember that that it may be useful to better control what is happening on the line, to prevent any spikes etc. In general, I know that resistor matched to the output impedance of the driver to result in 50 ohm total track impedance is needed to prevent any reflections, but is this really helpful for system signal integrity if real size of the PCB is rather small (10x10cm)?

Signals that I am driving:
- SPI, I2C, UART,
- Enable pin of the eFuse,
- mosfet gate (negation of eFuse enable input)

At the end of the day, I am adding additional component that may cause failure and increase total number of components.
Maybe for this size of the system it will be sufficient if I just keep 50 ohm impedance of the track?

Here is an example of my usecase:

Here I have 4x50 ohm resistor array.

I will be glad for any thoughts. 
Best regards,
Slawomir

  • Hello Slawomir,

    For MCUs, when I see an inline resistor it's typically for one of two reasons: Current limiting, or ESD/EMI suppression. What the values the resistor is is dependent on what the environment you are designing to so I can't give you any guidance there. I typically only see for EMI/ESD suppression when the interface is going off board or to a cable, but it depends on what kind of noise you expect in the environment. (Most industrial applications are a don't care for inter IC comms in this sense.)

      Also keep in mind some interfaces do have impedance requirements that you may have to match, like for I2C, it requires a certain strength of pullup and managing line capacitance depending on speed of the bus. Also since I2C is pulled up externally, you might have to consider potential voltage divider when the line is being pulled down.