This Qwiic pHAT [v2.0 and v1.0] for Raspberry Pi is based on the Qwiic Hat. The board is the quickest and easiest way to utilize SparkFun's Qwiic ecosystem while still using that Raspberry Pi that you've come to know and love. This Qwiic pHAT connects the I2C bus (GND, 3.3V, SDA, and SCL) on your Raspberry Pi to an array of Qwiic connectors. Since the Qwiic system allows for daisy chaining (as long as your devices are on different addresses), you can stack as many sensors as you'd like to create a tower of sensing power!
SparkFun Qwiic pHAT for Raspberry Pi DEV-15351The SparkFun Qwiic pHAT for Raspberry Pi is the quickest and easiest way to make your way into the Qwiic ecosystem and still …
RetiredClick on the video's full screen button for a closer view.
Required MaterialsTo follow along with this tutorial, you will need the following materials. You may not need everything though depending on what you have. Add it to your cart, read through the guide, and adjust the cart as necessary.
Single Board ComputerYou will need Raspberry Pi with 2x20 male headers installed. For those that are using an enclosure with the Raspberry Pi, you'll want to get two rows of 1x20 stackable headers in order to help extend the pins outside of the enclosure.
Raspberry Pi 3 B+ DEV-14643The Raspberry Pi 3 B+ is here to provide you with the same Pi as before, but now with gigabit and PoE capable Ethernet!
A Pi Zero W will also work but you will need to make sure to solder some male headers to it.
GPIO Male Header - 2x20 PRT-14275This 2x20 male header has the same number and spacing of pins as a Raspberry Pi but is best served when used in conjunction w…
Raspberry Pi Zero W DEV-14277The Raspberry Pi Zero W is still the Pi you know and love, but at a largely reduced size of only 65mm long by 30mm wide and s…
Or you could stack it on any single board computer (like the NVIDIA Jetson Nano) that utilizes the 40-pin Raspberry Pi header footprint.
NVIDIA Jetson Nano Developer Kit DEV-15297The NVIDIA® Jetson Nano™ Developer Kit delivers the performance to run modern AI workloads at a small form factor, low pow…
Retired Google Coral Development Board DEV-15318Machine learning development board from Google.
Retired Qwiic BoardNow you probably didn't buy the Qwiic pHAT if you didn't have any Qwiic products to use with it, right? If you don't have any Qwiic products, the following might not be a bad place to start.
SparkFun Qwiic Adapter DEV-14495The SparkFun Qwiic Adapter provides the perfect means to make any old I2C board into a Qwiic enabled board.
Finally, you'll need our handy Qwiic cables to easily connect sensors to your Qwiic pHAT. Below are a few options.
Qwiic Cable - 100mm PRT-14427This is a 100mm long 4-conductor cable with 1mm JST termination. It’s designed to connect Qwiic enabled components together…
Qwiic Cable - 50mm PRT-14426This is a 50mm long 4-conductor cable with 1mm JST termination. It’s designed to connect Qwiic enabled components together …
Retired Qwiic Cable - 200mm PRT-14428This is a 200mm long 4-conductor cable with 1mm JST termination. It’s designed to connect Qwiic enabled components together…
Retired Qwiic Cable - 500mm PRT-14429This is a 500mm long 4-conductor cable with 1mm JST termination. It’s designed to connect Qwiic enabled components together…
Retired Required Setup ToolsAs a desktop, these devices are required:
If you aren't familiar with the Qwiic system, we recommend reading here for an overview.
We would also recommend taking a look at the following tutorials if you aren't familiar with them.
I2CAn introduction to I2C, one of the main embedded communications protocols in use today.
Serial Terminal BasicsThis tutorial will show you how to communicate with your serial devices using a variety of terminal emulator applications.
Hardware OverviewThere are two pHAT versions out in the wild! Overall, they function the same to Qwiic-ly connect your I2C devices to your single board computer. However, there are small differences between the two boards. Click on one of the images below to explore the hardware for your respective Qwiic pHAT.
Qwiic pHAT v2.0 I2C PinsThe Qwiic pHAT has 4x Qwiic connect ports, all on the same I2C bus. There are two vertical Qwiic connectors located at the center and two horizontal connectors on the right side.
5V PowerIf you need to power a device with 5V, we have broken out the Raspberry Pi's 5V and GND pins on the side with a screw terminal. Depending on your project, you can also solder to the PTH pads.
General Purpose ButtonIncluded on the board is a general purpose button connected to GPIO17. You can use the button however you would like but we found it useful to shutdown or reboot a Raspberry Pi with a Python script.
JumpersThere are built-in pull-up resistors on board. If necessary, you can cut the traces to disable depending on the number of boards connected to the I2C bus.
Board DimensionsThe board is about 65.00mm x 30.50mm. There are six mounting holes on the board. Two pairs of mounting holes were optimized to easily mount Qwiic devices that have the standard 1.0"x1.0" sized board.
Qwiic pHAT v1.0 I2C PinsThe Qwiic pHAT has 4x Qwiic connect ports, all on the same I2C bus. A 3.3V regulator is included to regulate voltage down for any Qwiic boards connected.
JumpersThere are built-in pull-up resistors on board. If necessary, you can cut the traces to disable depending on the number of boards connected to the I2C bus.
Board DimensionsThe board is about 65.00mm x 30.50mm. There are six mounting holes on the board.
Hardware AssemblyTo get started with your Qwiic pHAT, simply plug it into the headers on the Raspberry Pi with the letters facing you. We'll use the Qwiic pHAT v1.0 in the following images to connect a Qwiic device.
Once the pHAT is plugged in, you can start plugging in any Qwiic enabled sensors.
Note:The Qwiic pHat is also compatible with single board computers (like the
NVIDIA Jetson Nanoor the
Google Coral) that utilize the 40-pin Raspberry Pi header footprint. Below are images of v2.0 and v1.0 stacked on the different single board computers.
Standoffs and Mounting HolesDepending on your project, you can mount a qwiic enabled board on the mounting holes using standoffs. Below are two images showing Qwiic devices mounted on each version of the Qwiic pHAT.
Stackable HeadersWhen placing a Raspberry Pi and the pHat in an enclosure (like the Pi Tin), we noticed that the pHAT was not fully inserted in Pi's header pins. You will need an additional pair of stackable headers for a secure connection depending on your enclosure. Otherwise, the original Qwiic HAT would be better if you need to using the boards in an enclosure.
Getting an OSWe recommend checking out the Raspberry Pi 4 Hookup Guide to install the operating system to flash the image to your microSD card for detailed instructions.
If you're starting from scratch with a blank microSD card, you'll want to install Raspbian. If you've already got a working Raspbian system, skip ahead to the next section. Be patient — each of these steps can take a while depending on the speed of your microSD card.
The peripherals are not turned on by default. For those using Qwiic-enabled devices, you will want to enable I2C port. There are two methods to adjust the settings. This is outlined in our Raspberry Pi I2C tutorial.
We've included the following instructions from the tutorial. To enable it, follow the steps below.
Raspberry Pi Configuration via Desktop GUIYou can use the Desktop GUI by heading to the Pi Start Menu > Preferences > Raspberry Pi Configuration.
Click on image for a closer view.
A window will pop up with different tabs to adjust settings. What we are interested is the Interfaces tab. Click on the tab and select Enable for I2C. At this point, you can enable additional interfaces depending on your project needs. Click on the OK button to same.
Click on image for a closer view.
We recommend restarting your Pi to ensure that the changes to take effect. Click on the Pi Start Menu > Preferences > Shutdown. Since we just need to restart, click on the Restart button.
Click on images for a closer view.
raspi-config Tool via TerminalAgain, we can use raspi-config
to enable it.
sudo raspi-config
.5 Interfacing Options
P5 I2C
.yes
when it asks you to enable I2Cyes
if it asks about automatically loading the kernel module.<Finish>
button.yes
when it asks to reboot.Raspi-config for I2C
The system will reboot. When it comes back up, log in and enter the following command
language:bash
ls /dev/*i2c*
The Pi should respond with
language:bash
/dev/i2c-1
Which represents the user-mode I2C interface.
Scanning for I2C DevicesThe best place to start would be to scan for an I2C device on the bus.
ConfigurationLike the SPI peripheral, I2C is not turned on by default. Again, we can use raspi-config
to enable it.
sudo raspi-config
.5 Interfacing Options
P5 I2C
.yes
when it asks you to enable I2COK
and then Finish
Once you return to terminal, enter this command:
language:bash
ls /dev/*i2c*
The Pi should respond with:
language:bash
/dev/i2c-1
Which represents the user-mode I2C interface.
UtilitiesThere is a set of command-line utility programs that can help get an I2C interface working. You can get them with the apt package manager. Enter the following command.
language:bash
sudo apt-get install -y i2c-tools
In particular, the i2cdetect
program will probe all the addresses on a bus, and report whether any devices are present. Enter the following command in the command line. The -y
flag will disable interactive mode so that you do not have to wait for confirmation. The 1
indicates that we are scanning for I2C devices on I2C bus 1 (e.g. i2c-1).
language:bash
i2cdetect -y 1
You will get an output from your Raspberry Pi similar to the output below.
language:bash
pi@raspberrypi:~/$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
This map indicates that there is a peripheral at address 0x60. Your address may vary depending on what is connected to the I2C bus. For advanced users, you can try to read and write its registers using the i2cget
, i2cset
and i2cdump
commands.
For more information, check out the resources below:
Now that you have your Qwiic pHAT ready to go, it's time to check out some of Qwiic enabled products.
SparkFun RFID Qwiic Reader SEN-15191The SparkFun RFID Qwiic Reader is a simple I2C based RFID breakout board for the ID-3LA, ID-12LA, and ID-20LA readers.
But I Already Have Sensors!If you already have a handful of SparkFun sensors and parts? SparkFun has been putting our standard GND/VCC/SDA/SCL pinout on all our I2C boards for many years. This makes it possible to attach a Qwiic Adapter that will get your SparkFun I2C sensor or actuator onto the Qwiic system.
Here is the list of the boards that have the standard I2C pinout and will work with the Qwiic adapter board:
Looking for inspiration? Check out this related tutorials to use I2C devices on a Raspberry Pi:
Or try taking advantage of the general purpose button on the Qwiic pHAT v2.0!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4