IoT on Your Raspberry Pi

Raspberry Pi 3

The RPi3 features a quad-core 64-bit ARM Cortex A53 clocked at 1.2GHz. This puts the RPi3 roughly 50% faster than the RPi2. The RAM remains the same – 1GB of SDRAM. The RPi3 includes on-board 802.11n WiFi and Bluetooth 4.0. WiFi, wireless keyboards, and wireless mice now work out of the box.

Why do I use the RPi3 rather than a less expensive Raspberry Pi Zero? Well, over the last three projects at SwitchDoc Labs, I have found it much easier to develop the software and hardware using an RPi3 for speed reasons (especially reboot speeds!) and then porting the resulting software and hardware over to a Pi Zero (e.g., with the GroveWeatherPi solar-powered weather station [7] ).


The Pi2Grover board (Figure 3) provides buffered connections and voltage translation between the Raspberry Pi pins and external Grove modules (Figure 4). (See the "Grove System" box.) Pi2Grover provides bidirectional Pi2Grover voltage translation from the Raspberry Pi (3.3V) to 5V. The board is "transparent" to any software, so existing drivers for modules will work with no translation required. Voltage translation for the I2C bus is also supported by the Pi2Grover board.

Figure 3: The Pi2Grover plugs in to the RPi3.
Figure 4: Pi2Grover connections.

Grove System

Grove is a modular, standardized connecter (Figure 5) prototyping system that takes a building block approach to assembling electronics. Compared with jumpers or a solder-based system, it is easier to connect with other components, prototype experiments, and build projects, and it simplifies the learning system, but not to the point where it becomes dumbed down. Some of the other prototyping systems simplify down to building blocks. Although you can learn that way, the Grove system allows you to build real projects and requires some learning and expertise to hook things up.

The Grove system comprises a base unit and various modules with standardized connectors. The base unit allows easy connection of any Grove input or output module. Every Grove module typically addresses a single function, such as a simple button or something more complex like a heart rate sensor. Two examples of base units are the Pi2Grover ($20) from SwitchDoc Labs and GrovePi+ ($30) [8] from Dexter Industries. The big difference between these two units, aside from price, is that the Pi2Grover provides a direct connection between the Raspberry Pi and the Grove units (which allows normal Python drivers to work without modification), whereas GrovePi+ puts an Arduino between the Grove device and the Raspberry Pi (which requires new drivers to be written for the GrovePi+ board).

You don't need a base unit to connect to Grove modules. You can run a cable (jumper wires-to-Grove connector) from the pins on the Raspberry Pi or Arduino to the Grove connectors.

Figure 5: A Grove connector.

SwitchDoc Note

The Grove sunlight sensor is not waterproof; therefore, if you want to put it outside, you need to put your IoT device in a box with a window that lets the light shine through to the sensor. However, most plastics and glass are basically impervious to UV radiation (that's why your Photogray sunglasses don't work well in a car), so you need to use a special plastic or – what I prefer – silica quartz, which will let the UV light through.

Buy this article as PDF

Express-Checkout as PDF

Pages: 6

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content