I am trying to design my first own PCB and before I always have used breadboards or Prototyping boards. On them you use smaller PCBs, that come with the components on it, to connect it to you circuit. When you design your own PCB you integrate the smaller PCB into your own PCB and on these smaller PCB there often are resistors.

I know that they restrain the flow of current to protect the components, but when do you have to use them, when you know what current, for example a microcontroller, is going to provide and that that current won't destroy it. And if you have to use them which ohm is the right amount? How do you calculate that?

For example:


Why are there resistors here on a board for ADS1115? Would you also need them, when you supply it with the correct voltage and current?


  • 3
    \$\begingroup\$ It depends what the resistors do. Unless you have an example it's pretty hard to say why some boards have resistors. \$\endgroup\$
    – Justme
    Jan 18, 2022 at 17:25
  • 4
    \$\begingroup\$ Far too general to be answered simply on this site. You need to study ohms law in the beginning and then develop and understanding how a large range of chips actually work and what resistors do to protect them. \$\endgroup\$
    – Andy aka
    Jan 18, 2022 at 17:29
  • 7
    \$\begingroup\$ Add the schematic you're interested in and ask about specific resistors on it. \$\endgroup\$
    – user16324
    Jan 18, 2022 at 17:30
  • 5
    \$\begingroup\$ The resistors on SCL and SCA provide pullups for the I2C comms lines. The range of values required is defined in the I2C specification. The resistor on the addr line is simply a solderable link, and does nothing more than provide 'some continuity'. It's cheap, and as there are already several on the board, it's used instead of another type of link. Neither type are 'protecting components'. Google for 'ADS1115 breakout board schematic', and you'll find the Adafruit document. Post the board schematic from that to ask further questions. \$\endgroup\$
    – Neil_UK
    Jan 18, 2022 at 18:05
  • \$\begingroup\$ Now that you have an example, have you tried to read the chip datasheet about why there might be resistors? I think it explains it pretty well. \$\endgroup\$
    – Justme
    Jan 18, 2022 at 18:43

2 Answers 2


The resistors are the R part of the Ohm's law. You should really start with it, because your assumption that "they restrain the flow of current to protect the components" isn't a complete "picture".

Now when you are asking to describe ADS1115 board, instead of submitting a picture of it, you can searched for a schematic instead. Because it's an open source hardware from Adafruit.

ADS1115 board schematics

It is much more descriptive than a board image. Well, it's a very simple board and I've could tell the same from the picture... but always think about schematic if you try to understand some device. Even if you don't have it, try to draw it from the board. If you have one, you can use tools to pinpoint connections.

Ok, so all resistors are 10K. As you can see SDA, SCL and ALERT are in series resistors with Vdd. These are so called pull-up resistors. That sets the state of the ALERT pin to determined state - when nothing drives it HIGH or LOW, it's pulled-up (search for more info on the pull-up resistor) to a HIGH state. If the ALERT event are generated by the ADS1115, it pull it LOW to a ground through it's internal transistor. Similar thing goes for the SDA and SCL lines, except for they are always supposed to be pulled up by the specification of the I2C bus they resemble. I2C bus are open drain type, that means that the devices on it can only pull it LOW to ground, so it's required to have a pull-up with external resistors for the same reasons.

ADDR line are actually pulled to ground with pull-down resistor. The schematic (and the datasheet) describes how it sets the I2C address of this slave device.

As for the value, 4.7-10K values are pretty common in most circuits as a pull-up/pull-down. Their value affects the current & signal edge. Sorry, but I'm not going into the details here as this has been described like dozens of times. And once you understand the Ohm's law, you might get a better picture and can come back with more detailed question.


Briefly, there are two reasons:

  • there's more to resistors than current limiting,
  • current limiting is still needed around integrated circuits.

In the digital world, you'll often encounter pull-up and pull-down resistors. These serve to set a "default" voltage for a pin or bus, when the chip is not actively driving it.

This is the case for the resistors on your example board. SCL and SDA are connected to VDD through pull-up resistors so that the I2C bus is high by default, but the chips on the bus can still 'drive it low' by shorting the pin to ground internally. They can do that safely, because the resistors will limit the current. ALERT has a pull-up resistor too, so that the alert signal has a well-defined value even when the ADS1115 is turned off, or still busy starting up. Otherwise you might get fake alerts when you turn on the system. The pull-down resistor between ADDR and ground could probably be replaced by a direct connection to ground or VDD (because it's an input pin, that draws very little current), but having a resistor there makes it easy to modify the address by desoldering the resistor, and connecting the pin to VDD instead. Otherwise you'd have to scratch and cut the PCB traces, which is a bit messy.

Besides digital uses, a lot of chips are analog or "mixed signals", meaning they work with both digital and analog signals. Often they need external resistors which form one half of an analogue circuit, when the other half is inside the chip. This lets you configure the behaviour by choosing the right resistor values.

For instance:

  • two resistors forming a voltage divider, to set the output of an adjustable regulator or to scale down a high-voltage input signal;
  • a single resistor that draws a certain amount of current from the chip, and then the chip will use that value as a parameter (for instance to set the output current of a multi-channel LED driver).

Other use cases include protecting a pin from electrostatic shocks, or slowing down the transitions of fast digital signals, and many other cases.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.