# PyPortal IoT Weather Station

## Overview 

![](https://cdn-learn.adafruit.com/assets/assets/000/072/439/medium800thumb/sensors_ezgif.com-video-to-gif_%285%29.jpg?1552062388)

_Harness the power of nature with your PyPortal by building an internet-connected Weather Station!_

This guide will guide you through building an internet-connected weather station, complete with sensors to measure everything from the wind speed to the amount of volatile organic compounds which are present in the air.&nbsp;

This weather-station doesn't just _display_ temperature on the PyPortal's&nbsp;3.2″ 320 x 240 color TFT screen - it also wirelessly _sends_ data to Adafruit IO for real-time visualization and logging using the[easy-to-use Adafruit IO CircuitPython library](https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO).

## Adafruit IO

**Adafruit IO is the easiest way to stream, log, and interact with your data.** &nbsp;It's built from the ground up to be easy to use - we do the hard stuff so you can focus on the fun stuff.

Data such as relative humidity and light levels can be hard to visualize and quantify - Adafruit IO makes it simple. Send IO your data and it can store the data for up to thirty days. Want to visualize it? Display your data using Blocks such as charts, graphs, gauges, and more!

![sensors_live_Data.png](https://cdn-learn.adafruit.com/assets/assets/000/072/481/medium640/sensors_live_Data.png?1552076952)

## CircuitPython Code

Adafruit's CircuitPython is great for building Internet-of-Things projects. Using the&nbsp;[Adafruit IO CircuitPython module](https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO), you can easily send data to Adafruit IO, receive data from Adafruit IO, and easily manipulate data with the powerful Adafruit IO API.

You can rapidly update your code without having to compile and store WiFi and API secret keys on the device. This means that there's no editing code and re-uploading whenever you move the PyPortal to another network - just update a file and you're set.&nbsp;

![sensors_pyportal_code.png](https://cdn-learn.adafruit.com/assets/assets/000/072/483/medium640/sensors_pyportal_code.png?1552077112)

## Prerequisite Guides

Learn all about the Adafruit PyPortal by checking out the guide. It has documentation and tour walk through of the pin outs and components. Libraries for Circuit Python and demo code is available.

[Adafruit PyPortal Guide](https://learn.adafruit.com/adafruit-pyportal)

If you're new to either Adafruit IO or CircuitPython, take a moment to walk through the following guides to get you started and up-to-speed:

- [Welcome to Adafruit IO](https://learn.adafruit.com/welcome-to-adafruit-io/)
- [Welcome to CircuitPython](https://learn.adafruit.com/welcome-to-circuitpython)

## Parts

You will need the following parts for this guide:

### Adafruit PyPortal - CircuitPython Powered Internet Display

[Adafruit PyPortal - CircuitPython Powered Internet Display](https://www.adafruit.com/product/4116)
 **PyPortal** , our easy-to-use IoT device that allows you to create all the things for the “Internet of Things” in minutes. Make custom touch screen interface GUIs, all open-source, and Python-powered using&nbsp;tinyJSON / APIs to get news, stock, weather, cat photos,...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4116)
[Related Guides to the Product](https://learn.adafruit.com/products/4116/guides)
![Front view of a Adafruit PyPortal - CircuitPython Powered Internet Display with a pyportal logo image on the display. ](https://cdn-shop.adafruit.com/640x480/4116-00.jpeg)

### Anemometer Wind Speed Sensor w/Analog Voltage Output

[Anemometer Wind Speed Sensor w/Analog Voltage Output](https://www.adafruit.com/product/1733)
An anemometer is a device used for measuring wind speed, and is a common weather station instrument. This well made anemometer is designed to sit outside and measure wind speed with ease.  
  
To use, connect the black wire to power and signal ground, the brown wire to 7-24VDC (we used...

In Stock
[Buy Now](https://www.adafruit.com/product/1733)
[Related Guides to the Product](https://learn.adafruit.com/products/1733/guides)
![Anemometer Wind Speed Sensor with three cups and cable](https://cdn-shop.adafruit.com/640x480/1733-00.jpg)

### Adafruit SGP30 Air Quality Sensor Breakout - VOC and eCO2

[Adafruit SGP30 Air Quality Sensor Breakout - VOC and eCO2](https://www.adafruit.com/product/3709)
Breathe easy with the SGP30 Multi-Pixel Gas Sensor, a fully integrated MOX gas sensor. This is a very fine air quality sensor from the sensor experts at Sensirion, with I2C interfacing and fully calibrated output signals with a typical accuracy of 15% within...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3709)
[Related Guides to the Product](https://learn.adafruit.com/products/3709/guides)
![Angled shot of a Adafruit SGP30 Air Quality Sensor Breakout.](https://cdn-shop.adafruit.com/640x480/3709-07.jpg)

### Adafruit BME280 I2C or SPI Temperature Humidity Pressure Sensor

[Adafruit BME280 I2C or SPI Temperature Humidity Pressure Sensor](https://www.adafruit.com/product/2652)
Bosch has stepped up their game with their new BME280 sensor, an environmental sensor with temperature, barometric pressure&nbsp;and&nbsp;humidity! This sensor is great for all sorts of indoor environmental sensing and can even be used in both I2C and SPI!

This precision sensor from...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2652)
[Related Guides to the Product](https://learn.adafruit.com/products/2652/guides)
![small, rectangle-shaped, BME280 temperature humidity pressure sensor breakout board.](https://cdn-shop.adafruit.com/640x480/2652-04.jpg)

### Part: JST PH 4-Pin to Male Header
quantity: 1
JST PH 4-Pin to Male Header Cable - I2C STEMMA Cable - 200mm
[JST PH 4-Pin to Male Header](https://www.adafruit.com/product/3955)

### Part: JST PH 3-Pin to Male Header
quantity: 1
JST PH 3-Pin to Male Header Cable - 200mm
[JST PH 3-Pin to Male Header](https://www.adafruit.com/product/3893)

### Part: 9V Power Adapter
quantity: 1
9 VDC 1000mA regulated switching power adapter
[9V Power Adapter](https://www.adafruit.com/product/63)

### Part: Female DC Power Adapter
quantity: 1
Female DC Power adapter - 2.1mm jack to screw terminal block
[Female DC Power Adapter](https://www.adafruit.com/product/368)

## Materials

You'll need some extra supplies to finish this project. If you do not have them already, pick some up from Adafruit:

### Part: USB Cable
quantity: 1
USB cable - USB A to Micro-B - 3 foot long
[USB Cable](https://www.adafruit.com/product/592)

### Part: Breadboard
quantity: 1
Half-size breadboard
[Breadboard](https://www.adafruit.com/product/64)

### Part: Hook-up Wire Spool Set
quantity: 1
Hook-up Wire Spool Set - 22AWG Solid Core - 6 x 25 ft
[Hook-up Wire Spool Set](https://www.adafruit.com/product/1311)

### Part: Aligator Clip to Male Jumper Wire
quantity: 1
Small Alligator Clip to Male Jumper Wire Bundle - 6 Pieces
[Aligator Clip to Male Jumper Wire](https://www.adafruit.com/product/3255)

# PyPortal IoT Weather Station

## Adafruit IO Setup

If you do not already have an Adafruit IO account set up, head over to&nbsp;[io.adafruit.com](http://io.adafruit.com/)&nbsp;to link your Adafruit.com account to Adafruit IO.

Warning: 

The large amount of feeds and higher data rate per minute (due to the amount of feeds) in this guide requires an Adafruit IO Account to have an active Adafruit IO Plus (IO+) subscription.

**To check if you have an Adafruit IO Plus subscription:** &nbsp;[Navigate to your Adafruit IO Profile page](https://io.adafruit.com/profile) and **check your _Current Plan_**.

- **Interested in upgrading to IO Plus?** &nbsp;[Learn more about the&nbsp;upgraded, all systems go version of the Adafruit IO service here...](https://io.adafruit.com/plus)

![sensors_brubell_on_Adafruit_IO.png](https://cdn-learn.adafruit.com/assets/assets/000/072/424/medium640/sensors_brubell_on_Adafruit_IO.png?1551994688)

## Set up a Group

The first step is to create a new Adafruit IO Group to hold all the feeds associated with the PyPortal Weather Station ([for more information about feeds, visit this guide](https://learn.adafruit.com/adafruit-io-basics-feeds)). We are using a group to reduce the amount of requests the PyPortal needs to make to Adafruit IO and to group all the feeds for this project in one place.

To create a group, **navigate to the&nbsp;[feeds page](https://io.adafruit.com/feeds)&nbsp;on Adafruit IO**. Then **click** &nbsp; **Actions&nbsp;-\> Create New Group** , and **name the**  **group** &nbsp; **weatherstation**.&nbsp;

![sensors_weather_station_group.png](https://cdn-learn.adafruit.com/assets/assets/000/072/412/medium640/sensors_weather_station_group.png?1551991523)

![sensors_weatherstation.png](https://cdn-learn.adafruit.com/assets/assets/000/072/413/medium640/sensors_weatherstation.png?1551991543)

## Set up Feeds

The first step is to create a new Adafruit IO feed to hold the UV Level reported by the VEML6075 sensor. From the weatherstation group, **click Actions-\>Create New Feed**. **Name the new feed uvlevel**

To create a new feed, **navigate to the _weatherstation_ group**.

**Click Actions -\> Create New Feed**.

Then, **name the new feed _uvlevel_**

![sensors_IO_-_Group__weatherstation_1.png](https://cdn-learn.adafruit.com/assets/assets/000/072/414/medium640/sensors_IO_-_Group__weatherstation_1.png?1551992353)

![sensors_IO_-_Group__weatherstation.png](https://cdn-learn.adafruit.com/assets/assets/000/072/415/medium640/sensors_IO_-_Group__weatherstation.png?1551992381)

Each Adafruit IO feed corresponds to a specific value sent by a sensor connected to your PyPortal. This project has a&nbsp;_lot_ of incoming data. You'll need to **repeat the step above to create the following feeds within the _weatherstatation_ group** :

1. **altitude**
2. **eco2**
3. **humidity**
4. **pressure**
5. **temperature**
6. **tvoc**
7. **uvindex**
8. **windspeed**

Once completed, the _weatherstation_ group should look like the following:

![](https://cdn-learn.adafruit.com/assets/assets/000/072/416/medium800/sensors_IO_-_Group__weatherstation.png?1551993352)

## _Optional_ - Build a Dashboard

Dashboards allow you to visualize data and control Adafruit IO connected projects from any modern web browser. Blocks such as charts, sliders, and buttons are available to help you quickly get your IoT project up and running without the need for any custom code.

Since you'll be monitoring data using the PyPortal's built-in display, building a dashboard is optional for this project.

- [Learn more building and using Adafruit IO Dashboards here...](https://learn.adafruit.com/adafruit-io-basics-dashboards)

## Obtain Adafruit IO Secret Key&nbsp;
You are also going to need your Adafruit IO username and secret API key.

**Navigate to your profile and click the View AIO Key button** &nbsp;to retrieve them. Write them down in a safe place, you'll need them for the next step.

![](https://cdn-learn.adafruit.com/assets/assets/000/072/411/medium800thumb/sensors_weather_3d_printing_adafruit_io_username_and_password.jpg?1551990475)

# PyPortal IoT Weather Station

## Assembly and Wiring

## Assembling the Anemometer

You wouldn't be building a proper weather station without an [anemometer](https://en.wikipedia.org/wiki/Anemometer) - a weather station instrument used to measure wind speed. Place it outside and when the wind speed picks up, the anemometer's cups rotate making a rod spin internally. The faster the rod spins, the higher the voltage output from the anemometer's signal wire.

Connect the 4-Pin connector at the base of the anemometer to the 4-Pin weatherproof cable. Note that the notch (circled in _red_)&nbsp;should be oriented the same way for both the cable and the connector.

After connecting the cable, twist it clockwise a few times to secure it to the connector.

![sensors_notch.png](https://cdn-learn.adafruit.com/assets/assets/000/072/407/medium640/sensors_notch.png?1551977094)

Next, you'll need to externally power the Anemometer. **_You can not power it with your PyPortal -_&nbsp;the PyPortal's output voltage is too low.**

Using an **external** power supply (7-24VDC) and a [Female DC Power Adapter](https://www.adafruit.com/product/368), **connect the anemometer's red wire to power**.&nbsp;Then, **connect the black wire to ground**.&nbsp;

## Wiring the PyPortal
These cables make wiring easy!

### JST PH 2mm 4-Pin to Male Header Cable - I2C STEMMA Cable - 200mm

[JST PH 2mm 4-Pin to Male Header Cable - I2C STEMMA Cable - 200mm](https://www.adafruit.com/product/3955)
This cable will let you turn a JST PH 4-pin cable port into 4 individual wires with high-quality 0.1" male header plugs on the end. We're carrying these to match up with any of our boards with 'STEMMA' connectors on them such as the&nbsp;<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/3955)
[Related Guides to the Product](https://learn.adafruit.com/products/3955/guides)
![Angled shot of STEMMA JST PH 4-Pin to Male Header Cable - 200mm.](https://cdn-shop.adafruit.com/640x480/3955-02.jpg)

### STEMMA JST PH 2mm 3-Pin to Male Header Cable - 200mm

[STEMMA JST PH 2mm 3-Pin to Male Header Cable - 200mm](https://www.adafruit.com/product/3893)
This cable will let you turn a JST PH 3-pin cable port into 3 individual wires with high-quality 0.1" male header plugs on the end. We're carrying these to match up with our Hallowing, for extending and connecting sensors or LEDs - and the wires are even color coded!

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/3893)
[Related Guides to the Product](https://learn.adafruit.com/products/3893/guides)
![Angled shot of STEMMA JST PH 3-Pin to Male Header Cable - 200mm.](https://cdn-shop.adafruit.com/640x480/3893-03.jpg)

![](https://cdn-learn.adafruit.com/assets/assets/000/072/549/medium800/sensors_wiring.png?1552316952)

## Connecting the Anemometer

On the right side of the PyPortal, there is a connector labeled D4. This is a 3-Pin JST connector which can be used for analog sensors (like the anemometer!).

Using a [JST PH 3-Pin to Male Header Cable](https://www.adafruit.com/product/3893), **connect the blue (signal) wire from the anemometer to the signal wire (white) from the PyPortal**. If you are not comfortable with soldering - [use a small alligator clip to male jumper wire](https://www.adafruit.com/product/3255) to connect the anemometer's signal wire to the breadboard. Then, **connect the ground pin to the GND terminal of the female DC power adapter**.&nbsp;

## Connecting Sensor Breakouts
There is a 4-Pin JST I2C connector in the _center_ of the PyPortal which is also STEMMA compatible. We suggest using a&nbsp;[JST PH 4-Pin to Male Header Cable](https://www.adafruit.com/product/3955)&nbsp;to connect the I2C connector to a breadboard.

The sensors used in this guide connect to the PyPortal using I2C. You'll be connecting _multiple_ I2C devices to the PyPortal using only two wires (for more information about I2C, [check out our guide on the topic here](https://learn.adafruit.com/i2c-addresses/overview)).

Make the following connections **between the PyPortal's I2C connector and the VEML6075** :

- **PyPortal SCL** to **VEML6075 SCL**
- **PyPortal SDA** to **VEML6075 SDA**
- **PyPortal VCC** to **VEML6075 VCC**
- **PyPortal GND** to **VEML6075 GND**

Make the following connections **between the SGP30 and the BME280:**

- **SGP30 VIN** to **BME280 VIN**
- **SGP30 GND** to **BME280 GND**
- **SGP30 SCL** to **BME280 SCK**
- **SGP30 SDA** to **BME280 SDI**

Make the following connection **between the BME280 and the VEML6075** :

- **BME280 VIN** to **VEML6075 VIN**
- **BME280 GND** to **VEML6075 GND**
- **BME280 SCK** to **VEML6075 SDA**
- **BME280 SDI** to **VEML6075 SCL**

# PyPortal IoT Weather Station

## CircuitPython Code

## CircuitPython Library Installation

First make sure you are running the&nbsp;[latest version of Adafruit CircuitPython](https://github.com/adafruit/circuitpython/releases)&nbsp;for your board.

COnnect the PyPortal to your computer via a known good data+power USB cable.

In Mu, you can [connect to the board's serial REPL&nbsp;](https://learn.adafruit.com/welcome-to-circuitpython/kattni-connecting-to-the-serial-console)so you are at the CircuitPython&nbsp; **\>\>\>** &nbsp;prompt.

Now to get the PyPortal connected to Adafruit IO and the internet. To do this, you'll create a **_settings.toml_** text file.

## Settings File Setup

If you have not yet set up a **settings.toml** file in your **CIRCUITPY** drive and connected to the internet using it, [follow this guide and come back when you've successfully connected to the internet](https://learn.adafruit.com/adafruit-pyportal/internet-connect#whats-a-secrets-file-15-1).&nbsp;

With a **settings.toml** file on your **CIRCUITPY** drive - add your Adafruit IO Username and Adafruit IO Key to the **settings.toml** file.

Your **settings.toml** file should look like this:

```auto
CIRCUITPY_WIFI_SSID="your-wifi-ssid"
CIRCUITPY_WIFI_PASSWORD="your-wifi-password"
ADAFRUIT_AIO_USERNAME="my_username"
ADAFRUIT_AIO_KEY="my_key"
```

After you finish editing **settings.toml** , make sure to **save the file** &nbsp;( **cmd/ctrl+s** ).

## Add CircuitPython Code and Project Assets

In the embedded code element below, click on the&nbsp; **Download Project Bundle** button, and save the .zip archive file to your computer.

Then,&nbsp; **uncompress the .zip file** , it will unpack to a folder named&nbsp; **pyportal\_weatherstation**.

Copy the entire contents of the **pyportal\_weatherstation** directory to your PyPortal **CIRCUITPY** drive including subdirectories.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/PyPortal/pyportal_weather_station/code.py

Before running the code, verify&nbsp; **CIRCUITPY** &nbsp;looks like the following:

![CIRCUITPY](https://adafruit.github.io/Adafruit_Learning_System_Guides/PyPortal_pyportal_weather_station.png )

![](https://cdn-learn.adafruit.com/assets/assets/000/072/443/medium800/sensors_lib.png?1552065307)

Before continuing make sure your board's **lib** folder has the following files and folders **&nbsp;** copied over.

- **adafruit\_bitmap\_font**
- **adafruit\_bme\_280**
- **adafruit\_bus\_device**
- **adafruit\_display\_text**
- **adafruit\_esp32spi**
- **adafruit\_io**
- **adafruit\_sgp30**
- **adafruit\_veml6075**
- **neopixel**
- **simpleio**

From the Mu Editor,&nbsp; **click the Serial button** &nbsp;to open the REPL. The output should look like the following:

```
code.py output:
Set icon to  /icons/pyportal_splash.bmp
loading fonts...
setting up textareas...
Getting Group data from Adafruit IO...
obtaining sensor data...
displaying sensor data...
UV Index:  0.0110945
Temperature: 24.7 C
Humidity: 10.2%
Wind Speed: 0.090100 m/s
Altitude: -98.900 meters, Pressure: 1025.18 hPa
eCO2 = 400 ppm   TVOC = 0 ppb
```

## Code Usage
The code will first attempt to initialize all of the sensors, libraries, and get the Adafruit IO&nbsp;_weatherstation_&nbsp;group.

If everything worked properly, you should see the PyPortal and Adafruit IO+ Logo appear on your PyPortal.

Shortly after the splash screen disappears, you should see the sensor text fields appear.&nbsp;

![sensors_display_logo.png](https://cdn-learn.adafruit.com/assets/assets/000/072/448/medium640/sensors_display_logo.png?1552067571)

The code will first attempt to initialize all of the sensors, libraries, and get the Adafruit IO _weatherstation_ group.

If everything worked properly, you should see the PyPortal and Adafruit IO+ Logo appear on your PyPortal.

Shortly after the splash screen disappears, you should see the sensor text fields appear.&nbsp;

![sensors_IMG_7557.jpg](https://cdn-learn.adafruit.com/assets/assets/000/072/429/medium640/sensors_IMG_7557.jpg?1551997386)

Every 30 seconds, the PyPortal will obtain new data from the sensors and send it to Adafruit IO.

- To change the rate at which the PyPortal samples and sends data (in seconds), modify the&nbsp;`PYPORTAL_REFRESH`&nbsp;variable.

![sensors_ezgif.com-video-to-gif_(4).gif](https://cdn-learn.adafruit.com/assets/assets/000/072/550/medium640thumb/sensors_ezgif.com-video-to-gif_%284%29.jpg?1552318231)

When the data is sent from the weather station to Adafruit IO, the status text area will change to&nbsp; **Data Sent!**

![sensors_portal_sent.png](https://cdn-learn.adafruit.com/assets/assets/000/072/444/medium640/sensors_portal_sent.png?1552066575)

_But how do we know the data was actually sent to Adafruit IO?_

## Adafruit IO Usage

While your PyPortal displays&nbsp;_Data Sent!_, how do you know the data reached the Adafruit IO service?

The monitor page on Adafruit IO displays a live view off incoming data (and errors!).&nbsp;

Navigate to [the Adafruit IO Monitor page](https://io.adafruit.com/monitor). Only data received while the tab is open will be displayed on the page.

Wait for the PyPortal to send data to Adafruit IO. You should see incoming data appear underneath the Live Data heading.

![sensors_live_Data.png](https://cdn-learn.adafruit.com/assets/assets/000/072/445/medium640/sensors_live_Data.png?1552066903)


## Featured Products

### Adafruit PyPortal - CircuitPython Powered Internet Display

[Adafruit PyPortal - CircuitPython Powered Internet Display](https://www.adafruit.com/product/4116)
 **PyPortal** , our easy-to-use IoT device that allows you to create all the things for the “Internet of Things” in minutes. Make custom touch screen interface GUIs, all open-source, and Python-powered using&nbsp;tinyJSON / APIs to get news, stock, weather, cat photos,...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4116)
[Related Guides to the Product](https://learn.adafruit.com/products/4116/guides)
### Adafruit VEML6075 UVA UVB and UV Index Sensor Breakout

[Adafruit VEML6075 UVA UVB and UV Index Sensor Breakout](https://www.adafruit.com/product/3964)
This little sensor is a great way to add UVA and UVB light sensing to any microcontroller project. The VEML6075 from Vishay has both true UVA and UVB band light sensors and an I2C-controlled ADC that will take readings and integrate them. The sensor also comes with calibration registers so you...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/3964)
[Related Guides to the Product](https://learn.adafruit.com/products/3964/guides)
### Adafruit SGP30 Air Quality Sensor Breakout - VOC and eCO2

[Adafruit SGP30 Air Quality Sensor Breakout - VOC and eCO2](https://www.adafruit.com/product/3709)
Breathe easy with the SGP30 Multi-Pixel Gas Sensor, a fully integrated MOX gas sensor. This is a very fine air quality sensor from the sensor experts at Sensirion, with I2C interfacing and fully calibrated output signals with a typical accuracy of 15% within...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3709)
[Related Guides to the Product](https://learn.adafruit.com/products/3709/guides)
### Adafruit BME280 I2C or SPI Temperature Humidity Pressure Sensor

[Adafruit BME280 I2C or SPI Temperature Humidity Pressure Sensor](https://www.adafruit.com/product/2652)
Bosch has stepped up their game with their new BME280 sensor, an environmental sensor with temperature, barometric pressure&nbsp;and&nbsp;humidity! This sensor is great for all sorts of indoor environmental sensing and can even be used in both I2C and SPI!

This precision sensor from...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2652)
[Related Guides to the Product](https://learn.adafruit.com/products/2652/guides)
### Anemometer Wind Speed Sensor w/Analog Voltage Output

[Anemometer Wind Speed Sensor w/Analog Voltage Output](https://www.adafruit.com/product/1733)
An anemometer is a device used for measuring wind speed, and is a common weather station instrument. This well made anemometer is designed to sit outside and measure wind speed with ease.  
  
To use, connect the black wire to power and signal ground, the brown wire to 7-24VDC (we used...

In Stock
[Buy Now](https://www.adafruit.com/product/1733)
[Related Guides to the Product](https://learn.adafruit.com/products/1733/guides)
### JST PH 2mm 4-Pin to Male Header Cable - I2C STEMMA Cable - 200mm

[JST PH 2mm 4-Pin to Male Header Cable - I2C STEMMA Cable - 200mm](https://www.adafruit.com/product/3955)
This cable will let you turn a JST PH 4-pin cable port into 4 individual wires with high-quality 0.1" male header plugs on the end. We're carrying these to match up with any of our boards with 'STEMMA' connectors on them such as the&nbsp;<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/3955)
[Related Guides to the Product](https://learn.adafruit.com/products/3955/guides)
### STEMMA JST PH 2mm 3-Pin to Male Header Cable - 200mm

[STEMMA JST PH 2mm 3-Pin to Male Header Cable - 200mm](https://www.adafruit.com/product/3893)
This cable will let you turn a JST PH 3-pin cable port into 3 individual wires with high-quality 0.1" male header plugs on the end. We're carrying these to match up with our Hallowing, for extending and connecting sensors or LEDs - and the wires are even color coded!

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/3893)
[Related Guides to the Product](https://learn.adafruit.com/products/3893/guides)
### 9 VDC 1000mA regulated switching power adapter - UL listed

[9 VDC 1000mA regulated switching power adapter - UL listed](https://www.adafruit.com/product/63)
This is a really nice power supply. It's a switching DC supply so it's small and light and efficient. It is thin so it fits in power strips without blocking other outlets. The output is regulated so you'll get a steady 9V up to 1000mA (1 Amp) of current draw. 5.5mm/2.1mm barrel...

Out of Stock
[Buy Now](https://www.adafruit.com/product/63)
[Related Guides to the Product](https://learn.adafruit.com/products/63/guides)

## Related Guides

- [Adafruit PyPortal - IoT for CircuitPython](https://learn.adafruit.com/adafruit-pyportal.md)
- [Welcome to CircuitPython!](https://learn.adafruit.com/welcome-to-circuitpython.md)
- [Daily UV Index PyPortal Display](https://learn.adafruit.com/pyportal-uv-index.md)
- [PyPortal Twitter Follows Trophy](https://learn.adafruit.com/pyportal-twitter-follows-trophy.md)
- [PyPortal IoT Plant Monitor with Microsoft Azure IoT and CircuitPython](https://learn.adafruit.com/using-microsoft-azure-iot-with-circuitpython.md)
- [PyPortal Weekly Countdown Clock](https://learn.adafruit.com/pyportal-countdown-clock.md)
- [CircuitPython Display Support Using displayio](https://learn.adafruit.com/circuitpython-display-support-using-displayio.md)
- [Smart Mirror with PyPortal](https://learn.adafruit.com/smart-mirror-with-pyportal.md)
- [PyPortal Hurricane Tracker](https://learn.adafruit.com/pyportal-hurricane-tracker.md)
- [PyPortal NASA Image of the Day Viewer](https://learn.adafruit.com/pyportal-nasa-image-of-the-day-viewer.md)
- [Arcada Animated GIF Display](https://learn.adafruit.com/pyportal-animated-gif-display.md)
- [Textable Sensor with FONA and CircuitPython](https://learn.adafruit.com/textable-sensor-with-fona-and-circuitpython.md)
- [Multi-Sensor IoT Environmental Sensor Box With CircuitPython](https://learn.adafruit.com/remote-iot-environmental-sensor.md)
- [PyPortal Google Calendar Event Display](https://learn.adafruit.com/pyportal-google-calendar-event-display.md)
- [PyPortal US Election Calendar](https://learn.adafruit.com/pyportal-electioncal-us.md)
- [Adding a Single Board Computer to Blinka](https://learn.adafruit.com/adding-a-single-board-computer-to-blinka.md)
