Chapter 13. Sensors

13.0 Introduction

In this chapter, we look at recipes for using sensors of various types that will allow the Raspberry Pi to measure temperature, light, and more.

Unlike boards such as the Arduino and the BeagleBone, the Raspberry Pi lacks analog inputs. This means that for many sensors, it is necessary to use additional analog-to-digital converter (ADC) hardware. Fortunately, this is relatively easy to do. It is also possible to use resistive sensors with a capacitor and a couple of resistors.

Many of the recipes will require the use of a solderless breadboard and male-to-female jumper wires (see Recipe 9.8).

13.1 Using Resistive Sensors


Be sure to check out the accompanying video for this recipe at


You want to connect a variable resistor to a Raspberry Pi and measure its resistance so that you can use the position of the variable resistor’s knob in your Python program.


You can measure resistance on a Raspberry Pi using nothing more than a capacitor, a couple of resistors, and two general-purpose input/output (GPIO) pins. In this case, you will be able to estimate the position of the knob on a small variable resistor (trimpot) by measuring its resistance from its slider contact to one end of the pot.

To make this recipe, you will need the following:

Get Raspberry Pi Cookbook, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.