RoadTest Review a Raspberry Pi 3 Model B ! - Review

Table of contents

RoadTest: RoadTest Review a Raspberry Pi 3 Model B !

Author: cmelement14

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?:

What were the biggest problems encountered?:

Detailed Review:




This is the first part of a two-part review for the road test of Raspberry Pi Click Board Sensor Kit. This road test evaluates two devices: the Raspberry Pi 3 Model B  and the Environment Click Board. In the first part, I will show how to set up the hardware, the OS and software in a step-by-step fashion. The second part, i.e., Raspberry Pi Click Board Sensor Kit - Review will focus on the evaluation of the Environment Click Board and present a simple IoT project using both devices.





Here's a list of hardware I used for the review. To follow the steps in this review, you don't have to have the Raspberry Pi 7" Touchscreen Display. Instead, you can use your TV screen for the initial setup. After that, you can use VNC viewer to remotely access Pi's GUI desktop or use SSH to get Pi's command lines.

1. Raspberry Pi 3 Model B and T5454DV Power Supply

2. Raspberry Pi 7" Touchscreen Display

3. Pi 3 Click Shield

4. Environment click board

5. Keyboard & Mouse

6. 8GB micro SD card


Here's how it looks like after I put all boards together (without USB keyboard & Mouse). The two wires shown in the photo provide power supply to the LCD (+5V).


After the OS initial setup is completed (see the setup process in the following sections), this is how my LCD screen looks like.



OS Setup


For this road test, I use the official Raspberry Pi OS (previously called Raspbian). Nowadays, creating an OS SD card for Raspberry Pi becomes a quite easy job thanks to the Raspberry Pi Imager ( software. With a graphic user interface, we can also easily set up the OS and make it ready for the following experiment and development.


Create OS SD Card


I use a Ubuntu 18.04 host computer for this road test. First download Raspberry Pi Imager for Ubuntu and install the software. After the installation, you should see the following icon in your application collection. Double clicking on the icon to start the application. Please note that you need to create the SD card on your host computer. In my case, I use Ununtu host and it may be slightly different than using a Windows host.


Erase SD Card

If you have a brand new SD card, you can skip this section. Otherwise, select Erase option as shown below.


Next, select the SD card then click on WRITE button.


Write Raspbeery Pi OS to SD Card

Select Raspberry Pi OS (32-bit) option as shown below.


Next, select the SD card then click on WRITE button as shown below.


It took some time to download and write to the SD card mainly depending on how fast your internet speed is. Once you see the following screen, you can remove the SD card from your host computer's SD card slot or SD card reader. Plug the SD card into your Raspberry Pi. In the next section, we will go through the OS initial setup procedure.


OS Initial Setup


There are two different types of user interfaces you can use to initialize the OS. They are text-based and graphic-based user interfaces. I will show how to use the text-based interface as an example first, but will not go through the whole setup process. Instead, I will show the whole process through the graphics interface.


Text-based Configuration


Click on the terminal button to open a terminal window, then type sudo raspi-config command in the terminal as shown below. It will open the text-based configuration interface.

As an example, the following three screenshots show how to enable the I2C interface.


GUI-based Configuration


Plug the micro SD card into RPi and power up the system. After the boot-up process completes first time, you will see the screen below. I connected my RPi to my home network so you can see the IP address above the Next button. In your case, you may not see it if you don't have a wired network connection.

Select country, language and timezone.

Setup the password for the default user "pi". You can create other users after the initial OS setup is completed.

Calibrate the screen.

Configure Wifi network.

Update the OS. It will take some time to download the update and install it. In my case, it took about 7 minutes to complete.

After OS update is complete, we will restart the system.

After reboot, we can enable a few things such as SSH, VNC and I2C interface. Click on the Raspberry icon on the top left screen corner, then Accessories menu and lastly the Raspberry Pi Diagnostics item.

Enable SSH, VNC and I2C as shown below.

To remotely access the RPi using SSH, type the command below

ssh pi@RPi's_ip_address

Here's how my SSH session looks like.



I2C Configuration for Environment Click Board

Enable OS Support for I2C

As shown in the OS Initial Setup section above, you can use either graphic interface or text-based user interface to enable I2C interface. You can also manually configure I2C by following this instruction. However, I don't recommend the manual configuration if you can avoid it.


Install I2C Tools

I2C tools can be used to detect the devices on the I2C bus. The Raspberry Pi OS I am using already has I2C tools pre-built. If not for your OS, you can type the following command to install it:

sudo apt-get install i2c-tools


Detect I2C Devices

When the OS boots up, all connected I2C devices will be listed as /dev/i2c*. In my case, I only have the environment click board connected to one of the I2C buses. It is listed as /dev/i2c-1 and it means the device is connected to I2C bus #1. To find out the device address of the environment click board (i.e., BME680), you can type the following command

sudo i2cdetect -y 1

Based on the output, the I2C device address of BME680 is 0x77. Please remember this address because we will use it in our Python code below.


Install Python Library for I2C Access

The Raspberry Pi OS already came with the Python libraries. If not, you can type the command highlighted in the screenshot.


Talk to the Environment Click Board

There's an I2C device (i.e., BME680) on the Environment Click Board. You can find its datasheet here. On the memory map, page 25 of the datasheet, it shows the chip ID 0x61 is stored in memory offset 0xD0. We can use the following Python code snippet to verify the access to BME680 chip.

import smbus

dev_bus = smbus.SMBus(1)
dev_addr = 0x77
chip_id_mem_addr = 0xD0

chip_id = dev_bus.read_byte_data(dev_addr, chip_id_mem_addr)


Here's the output.




In this review, I showed nowadays how easily we can prepare a Raspberry Pi board for a project. Around the Raspberry Pi, there's a complete ecosystem ready for you to choose for your project. For example, there are hundreds, if not thousands, of hardware accessories available such as Pi Hut boards, Click boards, GPS modules, cameras, LCDs, etc. As for software, there are lots of OS options. Also there are plenty of Python libraries and wrappers for RPi. Let alone there are large number of open source projects based on Raspberry Pi. I am sure you don't need to invent wheels if you use RPi for your next makes' project. If you are interested in my simple project using the Environment Click Board with RPi, please continue reading the next part - Raspberry Pi Click Board Sensor Kit - Review.