I'm new to electricity & electronics and am fumbling my way through some Raspberry Pi tutorials. One in particular has caught my interest, which hooks an RPi up to LEDs, pushbuttons and a piezo buzzer.

On page 2 of that PDF, you see the main wiring configuration for the project:

enter image description here

The one thing that caught my attention was that all the LEDs, as well as the pushbutton, all use resistors. The only component that doesn't use a resistor is the buzzer. It seems to just be wired directly to the breadboard/RPi. I'm wondering why?

Is there something special about buzzer that allows them to not draw too much current, and hence prevents them from needing resistors of any kind? Thanks in advance for any clarification!

  • Just a caution: you have provided a wiring diagram of your circuit when you should have provided a schematic diagram. In this case the schema is obvious but on anything more complex the wiring diagram doesn't show what the circuit is supposed to do. As a result the wiring diagrams are discouraged, rated as "cartoons" and the questions get down-voted. – Transistor Sep 8 '17 at 18:40
up vote 3 down vote accepted

The description in the article you linked to says:

The buzzer supplied in the EduKit is an 'active' buzzer, which means that it only needs an electric current to make a noise.

Notice that it calls it an active buzzer. An active device generally takes care of the fiddly parts for you, like oscillating and limiting current (within voltage limits which should be in its datasheet).

When we connect a light bulb to a voltage source (230 v, 125v, 12v, ...) the light bulb offers a resistance that, applying ohms law, gives the amount of current that will go across the bulb. The bulb is designed to support this amount of current. Thus, everything ok. Same for the buzzer.

The push button is nothing else than a near than infinite resistance (when not pushed) or zero resistance (when pushed). So, when pushed, as it offers near than zero resistance, the amount of current across it could be very high, enough high to destroy to push button or the arduino. For this reason, a resistor is add.

A led connected to a source of more than 2v offers a very small resistance, being the amount of current so big that, before to reach the maximum, the led burns. For this reason, an external resistor is add, that increase the resistence, limiting the amount of current across it and across the led to a value that both can support.

In particular, the led is not a lineal component, so it doesn't follows the ohms law. We can say, in a educative way, that it offers an infinite resistance to the first 2v and none to the remainder voltage. The exact relation between the voltage applied and the current is show in this draw (from here), it depends also of the led color.

enter image description here

The real number are: if you use a 5v source and you want connect a red led (1.9v and 20 mA for an optimal performance), the resistor must be:

R=(5v-1.9v)/0.02A=155 ohms.

For these reason we have always a box with a lot of 220 ohms resistors :-) Hope you enjoy these experiences in electronics.

  • Why is your white LED having a different curve than the blue one? This should either read "UV" or be left out. – Janka Sep 8 '17 at 19:22
  • @Janka: It considers SiC for blue and GaInN for white. But this subject is far, very far, from the original question. – pasaba por aqui Sep 8 '17 at 19:43
  • Then it should read "UV". – Janka Sep 8 '17 at 19:49

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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