# Compost Friend!

## Overview

https://www.youtube.com/watch?v=-H3blnkDexw

So you've been composting for a bit now and things are going ok. You've been regularly turning the compost, but you have no idea if all this work is even worth it because you don't even know what's going on in there. You try to split the dry material and wet material 50/50 but some days it's rainy and others it's dry. Is it even heating up? Do you really have to stick your hand in last weeks spaghetti leftovers to tell? What if there was a way to know all the info you want to know about your compost and how to improve its health without ever touching or looking at it?

Good news! You can use a Circuit Playground Express and some extra goodies to tell you exactly what you want to know about your compost: **when to add more food scraps, more dry material, and when to turn it.**

This is a part II to the [first guide](https://learn.adafruit.com/diy-compost-tumbler/overview-2) on building a compost tumbler to more easily aerate your compost. Even if you have your own tumbler, I suggest skimming through that guide to get an understanding to why we would want to "[optimize](https://learn.adafruit.com/diy-compost-tumbler/aeration-notification)" compost.

As mentioned in the previous guide (to compost aerobically), we want to aerate compost every so often to feed oxygen to the microbes and other organisms within the compost so they can continue to break down the food scraps. Even though a tumbler makes it easier to turn compost, we don't want to be turning it more than we have to. Furthermore, solely turning the compost isn't always going to be the answer to making our compost healthier. Here are the primary situations when we need to adjust the compost:

- When the compost is **too dry** , **add** some **food scraps** and **turn it**.
- When the compost is **too wet** , **add** some **dry** carbon **material** like leaves, wood chips, or paper and **turn it**.
- If the compost **isn't heating up** , **turn it**.  
&nbsp;

## Moisture

Typically, the compost should have about half dry and half wet material within. However you can't always tell how much of each material is present within your container. Thus we can use a moisture sensor to gauge how wet or dry the compost is.&nbsp;

## Temperature

Due to the energy the organisms within the compost breaking down the food scraps release, the compost gets HOT. At optimal state, the [compost should be at 135 - 160 degrees Fahrenheit](http://whatcom.wsu.edu/ag/compost/fundamentals/needs_temperature.htm).&nbsp;&nbsp;We will use a temperature sensor to gauge how hot the compost is and adjust accordingly.

&nbsp;

# Prerequisite Guides
If you've never worked with CircuitPython, a CPX (Circuit Playground Express), or soldered, I suggest reading through these guides before continuing.&nbsp;

- [Adafruit Circuit Playground Express](https://learn.adafruit.com/adafruit-circuit-playground-express)
- [Welcome to CircuitPython!](https://learn.adafruit.com/welcome-to-circuitpython?view=all)
- [Collins Lab: Soldering](https://learn.adafruit.com/collins-lab-soldering/learn-more?view=all)

# Compost Friend!

## Materials

## Parts Needed:
### Part: Circuit Playground Express
quantity: 1
Circuit Playground Express
[Circuit Playground Express](https://www.adafruit.com/product/3333)

### Part: Circuit Playground Bolt-On Kit
quantity: 1
Circuit Playground Bolt-On Kit
[Circuit Playground Bolt-On Kit](https://www.adafruit.com/product/3816)

### Part: Black Nylon Screw and Stand-off Set – M2.5 Thread
quantity: 1
Black Nylon Screw and Stand-off Set – M2.5 Thread
[Black Nylon Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)

### Part: Sugru - Black and White Pack
quantity: 1
Sugru - Black and White Pack
[Sugru - Black and White Pack](https://www.adafruit.com/product/437)

### Part: USB / DC / Solar Lithium Ion/Polymer charger - v2
quantity: 1
USB / DC / Solar Lithium Ion/Polymer charger - v2
[USB / DC / Solar Lithium Ion/Polymer charger - v2](https://www.adafruit.com/product/390)

### Part: Medium 6V 2W Solar panel - 2.0 Watt
quantity: 1
Medium 6V 2W Solar panel - 2.0 Watt
[Medium 6V 2W Solar panel - 2.0 Watt](https://www.adafruit.com/product/200)

### Part: 3.5 / 1.3mm or 3.8 / 1.1mm to 5.5 / 2.1mm DC Jack Adapter Cable
quantity: 1
3.5 / 1.3mm or 3.8 / 1.1mm to 5.5 / 2.1mm DC Jack Adapter Cable
[3.5 / 1.3mm or 3.8 / 1.1mm to 5.5 / 2.1mm DC Jack Adapter Cable](https://www.adafruit.com/product/2788)

### Part: Small Plastic Project Enclosure - Weatherproof with Clear Top
quantity: 1
Small Plastic Project Enclosure - Weatherproof with Clear Top
[Small Plastic Project Enclosure - Weatherproof with Clear Top](https://www.adafruit.com/product/903)

### Part: Waterproof DS18B20 Digital temperature sensor + extras
quantity: 1
Waterproof DS18B20 Digital temperature sensor + extras
[Waterproof DS18B20 Digital temperature sensor + extras](https://www.adafruit.com/product/381)

### Part: Cable Gland PG-9 size - 0.158" to 0.252" Cable Diameter - PG-9
quantity: 2
Cable Gland PG-9 size - 0.158" to 0.252" Cable Diameter - PG-9
[Cable Gland PG-9 size - 0.158" to 0.252" Cable Diameter - PG-9](https://www.adafruit.com/product/761)

### Part: Waterproof DC Power Cable Set - 5.5/2.1mm
quantity: 1
Waterproof DC Power Cable Set - 5.5/2.1mm
[Waterproof DC Power Cable Set - 5.5/2.1mm](https://www.adafruit.com/product/743)

### Part: Drill
quantity: 1
To drill holes for enclosure and mounting
[Drill](https://www.homedepot.com/p/DEWALT-20-Volt-MAX-XR-Lithium-Ion-Cordless-1-2-in-Compact-Brushless-Drill-Driver-Tool-Only-DCD791B/206523957)

### Part: 1/8" Drill Bit
quantity: 1
Drilling holes for M4 Screws (enclosure mounting)

### Part: 3/32" Drill bit
quantity: 1
Drilling holes for M3 Screws (enclosure mounting)

### Part: #46 Drill Bit (0.081")
quantity: 1
Drilling holes for M2.5 Screws (enclosure mounting)

### Part: Ruler
quantity: 1
To measure and mark parts

### Part: Pack of Popsicle Sticks
quantity: 1
For mounting components in enclosure
[Pack of Popsicle Sticks](https://www.target.com/p/craft-sticks-150ct-natural-wood-hand-made-modern/-/A-53085449?ref=tgt_adv_XS000000&AFID=google_pla_df&CPNG=PLA_Seasonal+Shopping&adgroup=SC_Seasonal&LID=700000001170770pgs&network=g&device=c&location=9004373&gclid=CjwKCAjwh9_bBRA_EiwApObaOMzezvPNoj8ZhauMXkZDKCH881OmAGPUxF0qo5FQS-qn3F53UBUPvBoC1xAQAvD_BwE&gclsrc=aw.ds)

### Part: Phillips Head Screw Driver size #0
quantity: 1
For M4 screws
[Phillips Head Screw Driver size #0](https://www.adafruit.com/product/424)

### Part: Phillips Head Screw Driver size #00
quantity: 1
for M3 and M2.5 screws
[Phillips Head Screw Driver size #00](https://www.adafruit.com/product/424)

### Part: Nails
quantity: 2
For moisture sensing though capacitive touch. Any old nail will do

### Part: Heat Shrink Pack
quantity: 1
Heat Shrink Pack
[Heat Shrink Pack](https://www.adafruit.com/product/344)

### Part: Soldering Iron
quantity: 1
Soldering Iron

### Part: Solder Wire
quantity: 1
Solder Wire
[Solder Wire](https://www.adafruit.com/product/1886)

### Part: Lighter or matches
quantity: 1
For shrinking heat shrink

### Part: 22 - 28 Gauge Stranded Wire
quantity: 1
22 - 28 Gauge Stranded Wire
[22 - 28 Gauge Stranded Wire](https://www.adafruit.com/product/1877)

### Part: Table clamp
quantity: 1
For drilling mounting holes in popsicle sticks

### Part: Compost Bin
quantity: 1
A bin to store compost in and install enclosure and panel on.

## Optional (for prototyping):
### Part: Small Alligator Clip Test Lead (set of 12)
quantity: 1
Small Alligator Clip Test Lead (set of 12)
[Small Alligator Clip Test Lead (set of 12)](https://www.adafruit.com/product/1008)

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

### Part: Breadboarding wire bundle
quantity: 1
Breadboarding jumper wires
[Breadboarding wire bundle](https://www.adafruit.com/product/153)

### Part: A small container with some soil or dirt
quantity: 1
For testing sensors

# Compost Friend!

## Prototyping

Before we build this thing, we want to test it out to make sure everything is working properly. We'll use:

- A container and some soil or dirt to act as the compost so we can measure and calibrate temperature and moisture levels
- A CPX to hook up our sensors and send the readings to a computer
- A bread board to wire the 4.7K Ohm resistor that is needed to use the temperature sensor
- The waterproof DS18B20 digital temperature sensor
- Two nails for moisture sensing
- Alligator clips
- Breadboard wires
- A micro usb cable
- A computer
- [Mu editor for writing code](https://learn.adafruit.com/welcome-to-circuitpython?view=all#installing-mu-editor "Mu editor guide") and receiving sensor values

![](https://cdn-learn.adafruit.com/assets/assets/000/059/483/medium800/temperature___humidity_IMG_5371.jpg?1534818745)

# Compost Friend!

## Wiring

First let's wire up the&nbsp;DS18B20 temperature sensor. We need to add the 4.7 KΩ pull-up resistor that comes with the sensor to the signal line to ensure the board can read the sensor. We'll use a small breadboard, some breadboard jumpers and alligator clips to wire it up.&nbsp;

- **Blue wire of the sensor** &nbsp;to&nbsp; **CPX ground**.
- **Yellow wire of the sensor** &nbsp;to&nbsp; **CPX A3**.
- **Red wire of the sensor** &nbsp;to&nbsp; **CPX 3.3V.**
- **4.7 KΩ&nbsp;resistor** &nbsp;connected to both the **&nbsp;yellow wire&nbsp;** (data) and&nbsp; **red wire** &nbsp;(3.3V).

For the moisture sensors we'll use **two nails** and **two alligator clips** connected to **A1** &nbsp;and **A2** &nbsp; on the CPX.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/136/medium800/temperature___humidity_Compost_Optimizer_Prototype_bb.png?1535384385 nail images from Pixabay: https://pixabay.com/en/nail-tool-metal-pointed-crafts-157432/)

I had some help from the awesome "[Using DS18B20 Temperature Sensor with CircuitPython](https://learn.adafruit.com/using-ds18b20-temperature-sensor-with-circuitpython/overview "Temp sensor")" guide for the wiring and code. Feel free to refer to that guide for extended info on the sensor.

# Compost Friend!

## CircuitPython Code

Are you new to using CircuitPython? No worries, [there is a full getting started guide here.](https://learn.adafruit.com/welcome-to-circuitpython%20)

To edit the CircuitPython code and receive realtime data from our sensors in the REPL, Adafruit suggests using the Mu Editor. [You can learn about Mu and installation in this tutorial.](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor%20)

Open up the Mu editor or an editor of your choice with a REPL. (REPL =&nbsp;read-evaluate-print-loop, and it's what we'll need to use to access the values of our moisture and temperature levels so we can calibrate our sensors).

## Import Libraries and Initialize Values

We'll begin the program by importing the necessary libraries and initialize the variables we'll be using.

If you think you might be missing a library, you'll be covered by installing the whole library package. Find out how in the [CircuitPython Essentials Guide on CircuitPlayground Libraries.](https://learn.adafruit.com/welcome-to-circuitpython/circuitpython-libraries)

- **DRY\_VALUE** &nbsp; and **WET\_VALUE** should be calibrated and will be slightly different for everyone. We'll talk about how to calibrate this later.
- **tempThreshhold** is in Celcius and is the **minimum&nbsp;** temperature needed for ideal compost conditions. Feel free to change this to room temperature when testing the prototype to make sure everything works. Don't forget to change back to 43!

```
# Author: Isaac Wellish 
# Code adapted from Tony Dicola's CircuitPython code on using the DS18x20 temperature sensor-
# as well as John Park's CircuitPython code on determining soil moisture from nails

from adafruit_onewire.bus import OneWireBus
from adafruit_ds18x20 import DS18X20
import time
import board 
import simpleio
import touchio
import neopixel
import analogio
from simpleio import map_range


#Initialize neopixels
pixels = neopixel.NeoPixel(board.NEOPIXEL, 10, brightness=.1)

#set variables for capacitive touch inputs, later used for soil moisture variables
touch = touchio.TouchIn(board.A1)
touch2 = touchio.TouchIn(board.A2)
 
DRY_VALUE = 3100  # calibrate this by hand!
WET_VALUE = 4000  # calibrate this by hand!
tempThreshhold = 43 #celius temperature of threshold for ideal compost temperature

 
# Initialize one-wire bus on board pin A3.
ow_bus = OneWireBus(board.A3)
 
# Scan for sensors and grab the first one found.
ds18 = DS18X20(ow_bus, ow_bus.scan()[0])

#Initialize the light senor on board to use for neopixel brightness later
light = analogio.AnalogIn(board.LIGHT)
```

## The Main Program Loop: Finding the Average Soil Moisture & Temperature Levels

- To have a more accurate representation of what the moisture level is in the compost, we place the nails in separate locations in the compost and take the average of both moisture readings.
- Print average moisture and temperature levels.

```
# Main loop 
while True:
    
    ###SOIL MOISTURE READINGS
    
    #set variables for capacitive touch inputs for nails to take in soil moisture levels
    value_A1 = touch.raw_value
    value_A2 = touch2.raw_value
    
    #take the average of both moisture levels
    avgMoist = value_A1 + value_A2 / 2
    print("Moisture level:",(avgMoist,))
 
    
 
    ###TEMPERATURE READINGS
    
    #variable for temperature
    compostTemp = ds18.temperature
    
    #print the temperature
    print('Temperature: {0:0.3f}C'.format(compostTemp))
```

## Determining the State of the Compost with NeoPixels

- We will be using the on board NeoPixels as visual feedback for the information the temperature and moisture sensors are giving us. The colors let us know how to best help the compost.&nbsp;
- Ideally we would throw in a wifi module and make the project Internet of Things friendly to be able to see the real sensor data without having to look at a box on the compost bin but I wanted to keep this project a little more simple. I will most likely be adding IoT functionality to this project later!

- When the compost is **not hot enough and too dry** , the colors **yellow and red** will be displayed alternating. This color combination means you must **add food scraps to counterbalance the dryness**. You must **also turn the compost** to mix in the new food scraps as well as give the organisms inside some oxygen so they can better breakdown the compost, releasing heat and increasing the temperature.
- When the compost is **not hot enough and too wet** , the colors **yellow and blue** will be displayed alternating. This color combination means you must add dry carbon-based material like leaves and wood chips to counterbalance the wet stuff. You must **turn the compost** as well for the same reasons as above.
- When the compost is **not hot enough but at the right moisture level** (so close!), the colors **yellow and green** will be displayed alternating. This color combination means the moisture is at the ideal level however the compost isn't hot enough. **Give the compost a couple turns** to bring some oxygen to those hungry organisms in there!
- When the compost is at the ideal temperature level, regardless of moisture, **all**  **the NeoPixels will be green.** &nbsp;We have ideal conditions! This means&nbsp; **you don't have to do anything!** &nbsp;

![temperature___humidity_Compost_colors_dry.png](https://cdn-learn.adafruit.com/assets/assets/000/059/968/medium640/temperature___humidity_Compost_colors_dry.png?1535141101)

![temperature___humidity_Compost_colors_wet.png](https://cdn-learn.adafruit.com/assets/assets/000/059/969/medium640/temperature___humidity_Compost_colors_wet.png?1535141125)

![temperature___humidity_Compost_colors_moisture_good_cold.png](https://cdn-learn.adafruit.com/assets/assets/000/059/971/medium640/temperature___humidity_Compost_colors_moisture_good_cold.png?1535141270)

![temperature___humidity_Compost_colors_IDEAL.png](https://cdn-learn.adafruit.com/assets/assets/000/059/972/medium640/temperature___humidity_Compost_colors_IDEAL.png?1535141293)

## Compost Condition Indication with If Statements
```
###IF STATEMENTS TO DETERMINE STATE OF COMPOST

    
    #RED &amp; YELLOW = TOO COLD &amp; TOO DRY
    if((compostTemp&lt;tempThreshhold) and (avgMoist&lt;DRY_VALUE)):
        pixels[0] = (255,0,0) # red
        pixels[1] = (255,255,0) #yellow
        pixels[2] = (255,0,0)
        pixels[3] = (255,255,0)
        pixels[4] = (255,0,0)
        pixels[5] = (255,255,0)
        pixels[6] = (255,0,0)
        pixels[7] = (255,255,0)
        pixels[8] = (255,0,0)
        pixels[9] = (255,255,0)
        
        print("Not hot enough, too dry")
    
    #BLUE &amp; YELLOW = TOO COLD &amp; TOO WET
    elif((compostTemp&lt;tempThreshhold) and (avgMoist&gt;WET_VALUE)):
        pixels[0] = (0,0,255) # blue
        pixels[1] = (255,255,0) #yellow
        pixels[2] = (0,0,255)
        pixels[3] = (255,255,0)
        pixels[4] = (0,0,255)
        pixels[5] = (255,255,0)
        pixels[6] = (0,0,255)
        pixels[7] = (255,255,0)
        pixels[8] = (0,0,255)
        pixels[9] = (255,255,0)
        print("Not hot enough, too wet")
        
    #GREEN &amp; YELLOW = TOO COLD &amp; MOISTURE LEVEL OPTIMUM
    elif((compostTemp&lt;tempThreshhold) and (avgMoist &gt;DRY_VALUE and avgMoist&lt;WET_VALUE)):
        pixels[0] = (0,255,0) # green
        pixels[1] = (255,255,0) #yellow
        pixels[2] = (0,255,0)
        pixels[3] = (255,255,0)
        pixels[4] = (0,255,0)
        pixels[5] = (255,255,0)
        pixels[6] = (0,255,0)
        pixels[7] = (255,255,0)
        pixels[8] = (0,255,0)
        pixels[9] = (255,255,0)
        print("Not hot enough, right moisture level")
        
    #ALL GREEN = COMPOST AT OPTIMUM TEMPERATURE &amp; MOISTURE
    elif(compostTemp&gt;tempThreshhold):
        pixels.fill((0,255,0))# green
        print("Compost Ready")
```

## Using The Light Sensor to Dim or Brighten NeoPixels

- To **decrease the amount of power needed** &nbsp;for running this program on the CPX (Circuit Playground Express) and make it easier on the eyes to see the NeoPixel colors, we will use the on board light sensor to **brighten the NeoPixels when it's brighter out and dim the NeoPixels when it's darker out**.
- We'll use a mapping function to map the range of the light sensor to the range of NeoPixel brightness.
- We then use that mapped value as the level of brightness for the NeoPixels to show on the board.
- Lastly we pause the program for three seconds to save power. We don't need to be updating the program and sensor data any more than this. If you'd like to save power even more, feel free to change this amount of time!

\*It would make sense to show the NeoPixels ("pixels.show()") at the end of the program but for some reason the NeoPixels would only update correctly if the show() function was executed&nbsp; **before&nbsp;** updating the brightness level. This works fine with a three second pause in between while loop runs but will become more and more faulty once the update time is greatly increased. The brightness should update well enough as long as the update time is less than a minute or so. Please let us know if you have figured out a better fix!

```
###LIGHTING CONFIGURATION
    
    #print value of light sensor
    print((light.value,))
    
    #map light snesor range to neopixel brightness range
    peak = map_range(light.value, 2000, 62000, 0.01, 0.3)
    
    
    #print neopixel brightness levels
    print(peak)
    
    #show neopixels
    pixels.show()
    
    #update neopixel brightness based on level of exposed light
    pixels = neopixel.NeoPixel(board.NEOPIXEL, 10, brightness=peak)
    
    #pause for three seconds
    time.sleep(3)
    
    
    
###END PROGRAM
```

# Here's the full program:
https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Compost_Friend/code.py

## Enough Programming, Let's Test it Out!
# Compost Friend!

## Testing and Calibration

Now that we have everything hooked up and the code ready to go, let's test it out.

- Save the CircuitPython file as "code.py" on your computer.
- Plug the Circuit Playground Express into your computer.&nbsp;
- Drag the "code.py" file onto your CIRCUITPY drive that should show up in your operating system file explorer/finder program.

## Test it Out!

- Open up "code.py" from the Circuit Playground Express on Mu
- Click the "Serial" button on the top tool bar in Mu 1.0.0 or greater
- Hit CTRL + D on your keyboard to re-load the code and start receiving sensor values.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/404/medium800/temperature___humidity_mu.png?1535554340)

- You should start to see the sensor values being printed in the REPL.
- Do these values make sense? Are the lower or higher than what you want?
- It was a hot day for me so the temperature being at 29.7 C made sense.
- Try wrapping your hand in the temperature sensor and watch the values increase.
- Try touching the nails and see what happens to the moisture values.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/153/medium800/temperature___humidity_Screen_Shot_2018-08-27_at_2.34.52_PM.png?1535395521)

## Calibration

Use the cup of dirt from before with some water in it to calibrate your moisture sensors (aka nails). Put enough water in the soil so that the soil is at a consistency of a damp sponge. Try changing the "dry" and "wet" moisture values at the beginning of the program so that the NeoPixels turn green when the nails are in the ideal moisture environment you have created.

```
DRY_VALUE = 3100  # calibrate this by hand!
WET_VALUE = 4000  # calibrate this by hand!
tempThreshhold = 43 #celius temperature of threshold for ideal compost temperature
```

Once the sensors are calibrated, the wiring and code are good to go. It's time to start the build!

# Compost Friend!

## Soldering

## First, let's solder the [Solar Lithium Charger](https://www.adafruit.com/product/390)
![](https://cdn-learn.adafruit.com/assets/assets/000/060/155/medium800/temperature___humidity_lithium_charger.jpg?1535396696 USB / DC / Solar Lithium Ion/Polymer charger - v2)

This handy component will be used to regulate solar power from the solar panel and safely charge the lithium battery. The lithium battery will be powering the CPX. The reason the capacitor is so large is that it is needed to stabilize the solar panel as the current can be quite high.&nbsp;[For extensive information on the Solar Lithium Charger check out the guide.](https://learn.adafruit.com/usb-dc-and-solar-lipoly-charger)

- First let's solder on the red and black wired JST connector to the `"LOAD"` side of the charger.  
&nbsp;
- Next we'll solder on the capacitor. **Make sure the longer leg is put through the positive hole.**  
**&nbsp;**
- The JST connector will eventually be plugged into the CPX to power it.

![temperature___humidity_IMG_5213.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/393/medium640/temperature___humidity_IMG_5213.jpg?1535505872)

![temperature___humidity_IMG_5205.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/387/medium640/temperature___humidity_IMG_5205.jpg?1535505716)

![temperature___humidity_IMG_5209.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/389/medium640/temperature___humidity_IMG_5209.jpg?1535505754)

![temperature___humidity_IMG_5210.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/390/medium640/temperature___humidity_IMG_5210.jpg?1535505779)

![temperature___humidity_IMG_5211.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/391/medium640/temperature___humidity_IMG_5211.jpg?1535505796)

![temperature___humidity_IMG_5212.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/392/medium640/temperature___humidity_IMG_5212.jpg?1535505820)

## Next we'll solder the&nbsp;DS18B20 temperature sensor to the CPX.
![](https://cdn-learn.adafruit.com/assets/assets/000/060/167/medium800/temperature___humidity_tmep.jpg?1535397969 Waterproof DS18B20 Digital temperature sensor + extras)

- We need the `4.7K` resistor to be between the `power (red)` and `data (yellow)` lines. We solder the resistor on accordingly.  
&nbsp;
- Next wrap the blue line around the `GND` on the CPX. Specifically the`GND` next to the micro usb port.  
&nbsp;
- Wrap the red line around the `3.3V` specifically the one on the other side of the`GND` we just wired.  
&nbsp;
- Wrap the yellow line on `A3` input.  
&nbsp;
- Solder the wires in place and cut off the excess resistor / wire.  
&nbsp;
- [Find further information on the&nbsp;DS18B20 temperature sensor here.](https://learn.adafruit.com/using-ds18b20-temperature-sensor-with-circuitpython)

![temperature___humidity_IMG_5473.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/168/medium640/temperature___humidity_IMG_5473.jpg?1535398020)

![temperature___humidity_IMG_5475.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/169/medium640/temperature___humidity_IMG_5475.jpg?1535398108)

![temperature___humidity_IMG_5476.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/170/medium640/temperature___humidity_IMG_5476.jpg?1535398122)

![temperature___humidity_IMG_5478.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/394/medium640/temperature___humidity_IMG_5478.jpg?1535505957)

## Now we'll solder the moisture nails to the CPX.
![](https://cdn-learn.adafruit.com/assets/assets/000/060/178/medium800/temperature___humidity_wire.jpg?1535399456 Silicone Cover Stranded-Core Wire - 2m 26AWG Red)

- Cut **two**  **12"** of pieces of **22 - 28 gauge stranded wire**.  
&nbsp;
- Remove about **0.5"** of wire wrap on each end.  
&nbsp;
- Wrap the end of one wire to `A1` on the CPX and the other to`A2`.  
&nbsp;
- Solder the wires in place.  
&nbsp;
- Wrap the other sides to the two nails.  
&nbsp;
- Solder them to the nails.  
&nbsp;
- Cut **two 1"** pieces of **3/8" heat shrink**  
&nbsp;
- Slide them over the the nail until the nail tops are in the center of the heat shrink.  
&nbsp;
- Use a lighter, match or other heat source like the hot body of a soldering iron (not the tip) to activate the heat shrink.

![temperature___humidity_IMG_5479.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/395/medium640/temperature___humidity_IMG_5479.jpg?1535506195)

![temperature___humidity_IMG_5480.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/396/medium640/temperature___humidity_IMG_5480.jpg?1535506216)

![temperature___humidity_IMG_5483.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/397/medium640/temperature___humidity_IMG_5483.jpg?1535506227)

![temperature___humidity_IMG_5487.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/398/medium640/temperature___humidity_IMG_5487.jpg?1535506238)

![temperature___humidity_IMG_5488.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/399/medium640/temperature___humidity_IMG_5488.jpg?1535506249)

![temperature___humidity_IMG_5490.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/400/medium640/temperature___humidity_IMG_5490.jpg?1535506263)

Info: 

## Soldering the DC jack
![](https://cdn-learn.adafruit.com/assets/assets/000/060/190/medium800/temperature___humidity_dc.jpg?1535400249 Waterproof DC Power Cable Set - 5.5/2.1mm)

![](https://cdn-learn.adafruit.com/assets/assets/000/060/191/medium800/temperature___humidity_gland.jpg?1535400975 Cable Gland PG-9 size - 0.158" to 0.252" Cable Diameter - PG-9)

In order to keep the power line from the solar panel, as well as the enclosure waterproof, we will have to place a cable gland though the DC lines before we solder them together. We must do this because the gland does not fit over the thick part of the jack.

- Take one of the cable glands, unscrew the smaller piece off and keep it close by (we'll need it later). Slide the gland over the male DC jack end.  
&nbsp;
- Cut a **3"** piece of **1/4" heat shrink** and slide it over the female DC jack end.  
&nbsp;
- Next cut **two 1.5"** pieces of **3/32" heat shrink** and slide each on over the `ground (black)` and `power (red)` wires.  
&nbsp;
- Solder the male and female DC jack ends together (black to black and red to red).  
&nbsp;
- Slide the smaller heat shrink over the ground and power. Activate heat shrink with a heat source.  
&nbsp;
- Slide the larger heat shrink over the wires and smaller heat shrink. Activate heat shrink with a heat source.

![temperature___humidity_IMG_5492.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/192/medium640/temperature___humidity_IMG_5492.jpg?1535401188)

![temperature___humidity_IMG_5495.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/193/medium640/temperature___humidity_IMG_5495.jpg?1535401222)

![temperature___humidity_IMG_5497.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/197/medium640/temperature___humidity_IMG_5497.jpg?1535401271)

![temperature___humidity_IMG_5498.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/199/medium640/temperature___humidity_IMG_5498.jpg?1535401311)

![temperature___humidity_IMG_5499.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/200/medium640/temperature___humidity_IMG_5499.jpg?1535401323)

![temperature___humidity_IMG_5501.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/201/medium640/temperature___humidity_IMG_5501.jpg?1535401341)

Now that we have things soldered up, we'll have to mount it all to the enclosure!

# Compost Friend!

## Enclosure

![](https://cdn-learn.adafruit.com/assets/assets/000/060/229/medium800/temperature___humidity_IMG_5515.jpg?1535467912)

We need a study enclosure and mounting system to hold our electrical components in place. It's also necessary that no water be able to get into the enclosure. We'll be using a small water proof enclosure along with some popsicle sticks and various screws to accomplish this.

# Compost Friend!

## Drilling Sensor Holes

![](https://cdn-learn.adafruit.com/assets/assets/000/060/238/medium800/temperature___humidity_enclosure.jpg?1535470414 Small Plastic Project Enclosure - Weatherproof with Clear Top)

The enclosure we're using is great for drilling holes. We'll need our sensors and solar panel to connect to the components in the box but be outside of it. These holes will allow this to happen. Later we'll waterproof the holes.&nbsp;

- On the left side of the enclosure (orientation doesn't matter), draw a large X with a pencil **1 & 3/8" from the left side** and **1/2" from the top** of the opaque half of the enclosure. This hole will be for the solar panel DC cable and needs a bit more height (because of the thickness of the jack end) than the hole we'll draw from the sensors next.  
&nbsp;
- Use a **5/8" drill bit** and drill a hole through the center of the X you drew.  
&nbsp;
- On the right side of the enclosure draw a large X **1 & 3/8" from the right side** and **5/8" from the top**. This hole will be used for the sensors.  
&nbsp;
- Use the same **5/8" drill bit** to drill a hole.

![temperature___humidity_hole_drill.jpeg](https://cdn-learn.adafruit.com/assets/assets/000/060/234/medium640/temperature___humidity_hole_drill.jpeg?1535469722)

![temperature___humidity_hole_drill_2_edit.png](https://cdn-learn.adafruit.com/assets/assets/000/060/236/medium640/temperature___humidity_hole_drill_2_edit.png?1535469853)

![temperature___humidity_IMG_5455.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/237/medium640/temperature___humidity_IMG_5455.jpg?1535470339)

# Compost Friend!

## Mounting Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/060/245/medium800/temperature___humidity_IMG_5515.jpg?1535478857)

To mount the electronics to the enclosure we'll be using... popsicle sticks! Yes you heard me right! You can find them at your local dollar store.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/060/243/medium800/temperature___humidity_IMG_5242.jpg?1535471672 Popsicle sticks from the dollar store)

These sticks work well with the built in mounting holes in the enclosure. They are inexpensive and plentiful. If you mess up it's ok just grab another! Sometimes called "craft sticks", these are actually a bit thicker than popsicle sticks and should measure **5/8" by 5 & 1/2"**

![](https://cdn-learn.adafruit.com/assets/assets/000/060/246/medium800/temperature___humidity_mount_stick.jpg?1535479033 Popsicle sticks work well with the internal mounting holes of the enclosure.)

When struggling deeply in figuring out how to securely mount the electronics for this project, I went to the [Adafruit Discord](http://adafru.it/discord)&nbsp;and posted about my problem in the #projecthelp channel. The popsicle stick suggestion was given to me by user "madboger" in a matter of MINUTES after posting, and turned out to be a life saver! [More info on the Adafruit Discord.](https://blog.adafruit.com/2017/07/20/adafruit-is-on-discord-discordapp-adafruit-discord-adafruit/)

![](https://cdn-learn.adafruit.com/assets/assets/000/060/247/medium800/temperature___humidity_Screen_Shot_2018-08-03_at_12.44.22_PM.png?1535479870)

Info: 

# Compost Friend!

## Popsicle Stick Preparation

![](https://cdn-learn.adafruit.com/assets/assets/000/060/250/medium800/temperature___humidity_enclosure_offset.jpeg?1535480797)

We'll need two popsicle sticks to make the mounting unit for the enclosure. One stick will be the base that holds the electronic components, the other will be to make two legs to offset the base enough so the DC jack from the solar panel can reach the solar charging unit in the enclosure correctly.

## Base Stick Preparation
![](https://cdn-learn.adafruit.com/assets/assets/000/060/260/medium800/temperature___humidity_IMG_5544.jpg?1535482109 Base stick dimensions for mounting holes.)

Find the master dimension sheet for the base stick above. Each time you see **M2.5** and **M3** , these represent different sized holes needed for specific mounting screws. The solar charger unit will use the **M2.5** screws and the CPX and one side of the offset legs will use the **M3** screws.

- Take one of the popsicle sticks and draw a line though the center&nbsp; length wise at **5/16"** and width wise at **2 & 3/4"**.  
&nbsp;
- Next draw an X **1.5625" or 1 & 9/16"** to the left and right of the center of the stick. Label these with an **M3**. These will connect to the offset legs later.  
&nbsp;
- Now draw an X **0.4375" or 7/16"** to the left of the right side **M3** X we just drew and **1/8"** from the bottom edge of the stick. From this X draw another&nbsp; **1 & 3/4"** to the left and **1/8"** from the top edge of the stick. Label these **M3** as well. They will be for the CPX.&nbsp;  
&nbsp;
- Lastly draw an X&nbsp; **0.4375" or 7/16"** to the right of **M3** X we drew on the left hand side. Now take the solar charger unit and hold it so that the capacitor is on the left side and with the left mounting hole over the X we just drew, mark the stick through the right side hole while making sure the unit is aligned parallel with the stick. edge. This will close to guarantee that the holes are the right distance to mount the unit.&nbsp;

![temperature___humidity_IMG_5411.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/251/medium640/temperature___humidity_IMG_5411.jpg?1535480852)

![temperature___humidity_IMG_5375.png](https://cdn-learn.adafruit.com/assets/assets/000/060/253/medium640/temperature___humidity_IMG_5375.png?1535481379)

![temperature___humidity_stick_base.png](https://cdn-learn.adafruit.com/assets/assets/000/060/263/medium640/temperature___humidity_stick_base.png?1535483296)

## Drill Holes and Remove Excess
- Use a clamp to hold the popsicle stick in place when drilling. Drill into stick on top of a table with some scrap wood or similar material underneath as to not damage the table.  
&nbsp;
- Use a **3/32"** drill bit to drill holes for all **M3** labeled Xs.  
&nbsp;
- Use a **#46** drill bit **(0.081")** for all **M2.5** labeled Xs.  
&nbsp;
- To remove excess on ends, hold stick over table edge so the cut line is aligned with edge. Hold one hand on stick as close to edge as possible. Use the other to slowly apply more and more pressure on the stick end until the edge bends off. Pop off the excess.

![temperature___humidity_IMG_5386.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/265/medium640/temperature___humidity_IMG_5386.jpg?1535483462)

![temperature___humidity_IMG_5536_2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/271/medium640/temperature___humidity_IMG_5536_2.jpg?1535483879)

![temperature___humidity_IMG_5537.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/272/medium640/temperature___humidity_IMG_5537.jpg?1535483895)

![temperature___humidity_second_try.png](https://cdn-learn.adafruit.com/assets/assets/000/060/274/medium640/temperature___humidity_second_try.png?1535484003)

## Offset Stick (Legs) Preparation
![](https://cdn-learn.adafruit.com/assets/assets/000/060/284/medium800/temperature___humidity_IMG_5543.jpg?1535484462)

Find the master dimension sheet for the offset mounting stick above. The **M4** screws will be used to mount to the enclosure internal mounting holes. The **M3** screws will be used to attach the offset legs to the base. The reason for the various spacing in between each of the leg cuts is to give the stick enough room so that the holes do not strip when the excess is removed.

- Take the other popsicle stick and draw a line through the stick length wise at **5/16"**.  
&nbsp;
- Draw a line **1"** from the left side and **1"** from the right. These will later be used to remove excess.  
&nbsp;
- Draw another line **1/8"** to the right and left of the lines you just drew.  
&nbsp;
- Mark an X **1/4"** to the right and left of these lines and label **M3**.  
&nbsp;
- Mark an X **0.4375" or 7/16"** to the right and left of the most recently drawn Xs and label **M4**.  
&nbsp;
- Draw another line **7/8"** inches from the right and left of the last lines we drew.
- Draw a line **1/4"** to the right and left of these lines.  
&nbsp;
- Use a **1/8"** drill bit to drill holes in the **M4** Xs.  
&nbsp;
- Use a **3/32"** drill bit to drill holes in the **M3** Xs.  
&nbsp;
- Remove the excess along the cut lines.

![temperature___humidity_IMG_5439.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/288/medium640/temperature___humidity_IMG_5439.jpg?1535484748)

![temperature___humidity_IMG_5440.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/289/medium640/temperature___humidity_IMG_5440.jpg?1535484826)

![temperature___humidity_legs_done.png](https://cdn-learn.adafruit.com/assets/assets/000/060/290/medium640/temperature___humidity_legs_done.png?1535484866)

# Compost Friend!

## Mounting Continued

## Mounting the Battery
- Apply [Sugru](https://www.adafruit.com/product/437), double-sided tape or super glue to one side of the LiPo battery.  
&nbsp;
- Place the battery on the bottom of the enclosure apply pressure to mount in place.

![temperature___humidity_IMG_5452.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/340/medium640/temperature___humidity_IMG_5452.jpg?1535499649)

![temperature___humidity_IMG_5456.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/341/medium640/temperature___humidity_IMG_5456.jpg?1535499664)

## Assembling the Sticks
![](https://cdn-learn.adafruit.com/assets/assets/000/060/338/medium800/temperature___humidity_IMG_5444.jpg?1535499406)

- Connect two **M3** screws from the ends of the base stick to the **M3** sides of the offset sticks.
- Screw in two more **M3** screws&nbsp; **from the bottom of the base stick.**
- Twist on the stand offs to these screws.
- Screw on the **M4** screws to the enclosure base.
- Screw on the **M2.5** screws through the LiPo charger unit and onto the base stick.
- Plug the battery into the `"BATT"` JST connector on the LiPo charger.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/346/medium800/temperature___humidity_stick_assemble.jpeg?1535500665)

# Compost Friend!

## Waterproofing

## DC Jack
- Take the DC connector we soldered from before with the cable gland loosely attached and slide it through the drilled hole on the left side of the enclosure.  
&nbsp;
- Make sure to slide the small plastic twist component through the other side of the DC jack before plugging it into the solar LiPo unit.  
&nbsp;
- Screw the entire gable gland together. It is now waterproof.

![temperature___humidity_IMG_5493.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/351/medium640/temperature___humidity_IMG_5493.jpg?1535501372)

![temperature___humidity_IMG_5464.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/352/medium640/temperature___humidity_IMG_5464.jpg?1535501393)

## Circuit Playground Express and Sensors
- With the other cable gland, unscrew the small plastic piece and slide it through the sensors.  
&nbsp;
- Slide the sensors through the other drilled hole in the enclosure.  
&nbsp;
- Slide the other part of the cable gland through the sensors.  
&nbsp;
- Screw the cable gland together.  
&nbsp;
- Screw the **M3** screws over the CPX into the standoffs.

![temperature___humidity_IMG_5509.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/353/medium640/temperature___humidity_IMG_5509.jpg?1535501832)

![temperature___humidity_IMG_5510.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/354/medium640/temperature___humidity_IMG_5510.jpg?1535501983)

![temperature___humidity_IMG_5512.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/355/medium640/temperature___humidity_IMG_5512.jpg?1535502004)

![temperature___humidity_IMG_5513.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/356/medium640/temperature___humidity_IMG_5513.jpg?1535502027)

## Solar Panel Instillation
![](https://cdn-learn.adafruit.com/assets/assets/000/060/365/medium800/temperature___humidity_IMG_5504.jpg?1535502642)

- Cut one **2"** piece of **3/8"** heat shrink.
- Connect the solar panel DC jack with the DC adapter cable.
- Pull the heat shrink over the connected cables and activate.
- Connect the adapter to the DC jack from the enclosure and screw on the plastic piece keeping the O-ring up against the female end to keep out moisture.

![temperature___humidity_IMG_5505.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/366/medium640/temperature___humidity_IMG_5505.jpg?1535502718)

![temperature___humidity_IMG_5506.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/367/medium640/temperature___humidity_IMG_5506.jpg?1535502719)

![temperature___humidity_IMG_5508.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/368/medium640/temperature___humidity_IMG_5508.jpg?1535502740)

Plug the JST connector from the LiPo charger into the CPX.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/373/medium800/temperature___humidity_IMG_5516.jpg?1535503331)

Screw in the 4 plastic enclosure screws and we are in business!

![](https://cdn-learn.adafruit.com/assets/assets/000/060/374/medium800/temperature___humidity_IMG_5517.jpg?1535503416)

# Compost Friend!

## Attaching to Bin

- Place enclosure and solar panel in desired locations on bin.  
  
- Put sensors in holes that are far away from each other. If you don't already have holes in your bin you may need to make some.  
&nbsp;
- Use a glue gun or some sort of mounting medium to mount enclosure and panel in place.  
&nbsp;
- Glue sensors in place.  
&nbsp;
- Glue various cables so they do not dangle.&nbsp;  
&nbsp;
- Re-attach JST connector to CPX if unplugged.

![temperature___humidity_IMG_5545.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/376/medium640/temperature___humidity_IMG_5545.jpg?1535503913)

![temperature___humidity_IMG_5546.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/377/medium640/temperature___humidity_IMG_5546.jpg?1535504116)

![temperature___humidity_IMG_5548.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/378/medium640/temperature___humidity_IMG_5548.jpg?1535504144)

![temperature___humidity_IMG_5549.jpg](https://cdn-learn.adafruit.com/assets/assets/000/060/379/medium640/temperature___humidity_IMG_5549.jpg?1535504174)

When placing the bin outside, try a place where sunlight can directly come in contact with the solar panel.

\*Consider angling the solar panel towards the sky before installing. This will ensure more direct sunlit hitting the panel. **20 - 40 degrees** up from the current position would be a good range.

## Done!
![](https://cdn-learn.adafruit.com/assets/assets/000/060/386/medium800/temperature___humidity_IMG_5554.jpg?1535504381)

# Compost Friend!

## Lessons Learned

This project was quite a rollercoaster. I learned so much in the process. Like:

- DISCORD IS YOUR FRIEND.
- Popsicle sticks are a cheap way to build a sturdy mounting system inside an enclosure but... popsicle sticks are cheap. Popsicle sticks will break a lot. Take a break from looking at popsicle sticks after this project.
- Using a table or object you can drill into helps tremendously when drilling with a clamp.
- It's better to leave inches as fractions than decimals as most rulers are measured in 1/16s of an inch.
- Don’t use the wrong size drill bit...
- Drill before cutting off popsicle stick excess. The holes have a tendency to strip if you don't.
- Make sure dimensions are RIGHT before continuing a build.
- Using nails as moisture sensors works OK but I'm looking forward to an improved moisture sensor Adafruit may or may not be working on.
- Composting is cool. Turning your compost bin into a bionic solar powered bot is COOOL.

This project was a proof of concept that tracking the temperature and moisture of compost can help tremendously to improve the health of the compost. In the future I would like to add an IoT component to this project to be able to track temperature and moisture remotely through Adafruit IO. The next version may also have facial features... Until then, stay tuned, and stay composting!


## Featured Products

### Circuit Playground Express

[Circuit Playground Express](https://www.adafruit.com/product/3333)
 **Circuit Playground Express** is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and made it even better! Not only did we pack even more sensors in, we also made it even easier to...

In Stock
[Buy Now](https://www.adafruit.com/product/3333)
[Related Guides to the Product](https://learn.adafruit.com/products/3333/guides)
### Small Plastic Project Enclosure - Weatherproof with Clear Top

[Small Plastic Project Enclosure - Weatherproof with Clear Top](https://www.adafruit.com/product/903)
Store your project safe and sound in this nice weatherproof box with a clear top. We picked up this box because we like the machinable ABS plastic body and tough clear polycarbonate cover, the built in weatherproof gasket seal, and the easy-open screws that can be taken apart as many times as...

In Stock
[Buy Now](https://www.adafruit.com/product/903)
[Related Guides to the Product](https://learn.adafruit.com/products/903/guides)
### Waterproof 1-Wire DS18B20 Digital temperature sensor

[Waterproof 1-Wire DS18B20 Digital temperature sensor](https://www.adafruit.com/product/381)
This is a pre-wired and waterproofed (with heat shrink) version of a 1 Wire DS18B20 sensor. Handy for when you need to measure something far away, or in wet conditions. While the sensor is good up to 125°C the cable is jacketed in PVC so we suggest keeping it under 100°C. Because they...

In Stock
[Buy Now](https://www.adafruit.com/product/381)
[Related Guides to the Product](https://learn.adafruit.com/products/381/guides)
### USB / DC / Solar Lithium Ion/Polymer charger

[USB / DC / Solar Lithium Ion/Polymer charger](https://www.adafruit.com/product/390)
Make your projects to go green this summer with our specialized USB/Solar Lithium Ion Polymer Battery charger! This charger is a very unique design, perfect for outdoor projects, or DIY iPod chargers. We've spent over a year testing and tinkering with this charger to come up with a plug...

In Stock
[Buy Now](https://www.adafruit.com/product/390)
[Related Guides to the Product](https://learn.adafruit.com/products/390/guides)
### Medium 6V 2W Solar panel

[Medium 6V 2W Solar panel](https://www.adafruit.com/product/200)
These panels come to us from Voltaic Systems, makers of fine solar-powered bags and packs. These are waterproof, scratch resistant, and UV resistant. They use a high efficiency monocrystalline cell. They output 6V at 330 mA via 3.5mm x 1.1mm DC jack connector. The substrate is an aluminum /...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/200)
[Related Guides to the Product](https://learn.adafruit.com/products/200/guides)
### Black Nylon Machine Screw and Stand-off Set – M2.5 Thread

[Black Nylon Machine Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)
Totaling 380 pieces, this **M2.5 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M2.5 size screws fit almost all of the Adafruit breakout/dev board mounting holes...

In Stock
[Buy Now](https://www.adafruit.com/product/3299)
[Related Guides to the Product](https://learn.adafruit.com/products/3299/guides)
### Circuit Playground Bolt-On Kit

[Circuit Playground Bolt-On Kit](https://www.adafruit.com/product/3816)
You have a [Circuit Playground Express](https://www.adafruit.com/product/3333), but you need to mount it to your&nbsp;charming cardboard robot friend, eh? Not so easy if you don't have a set of standoffs!&nbsp;  
  
In this kit comes:

- 6 x M3 12mm brass hexagonal...

In Stock
[Buy Now](https://www.adafruit.com/product/3816)
[Related Guides to the Product](https://learn.adafruit.com/products/3816/guides)
### Sugru - Black and White Pack

[Sugru - Black and White Pack](https://www.adafruit.com/product/437)
Discontinued - **you can grab the&nbsp;** [Hand-Moldable Plastic - Low Temperature Thermoplastic - 100g Bag](https://www.adafruit.com/product/2504) **&nbsp;instead!&nbsp;**

Sugru! Soft-touch silicone rubber that molds and sets permanently. Sticks to aluminum, steel,...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/437)
[Related Guides to the Product](https://learn.adafruit.com/products/437/guides)

## Related Guides

- [Adafruit Circuit Playground Express](https://learn.adafruit.com/adafruit-circuit-playground-express.md)
- [Ladyada's Toolkit](https://learn.adafruit.com/ladyadas-toolkit.md)
- [Labo Piano Light FX](https://learn.adafruit.com/labo-piano-light-fx.md)
- [Ping Pong Ball Launcher](https://learn.adafruit.com/ping-pong-ball-launcher-with-cpx.md)
- [¡Bienvenido a CircuitPython!](https://learn.adafruit.com/bienvenido-a-circuitpython-2.md)
- [16x16 NeoPixel Matrix Square Pixel Display](https://learn.adafruit.com/16x16-neopixel-matrix-square-pixel-display.md)
- [Hello World of Robotics with Crickit](https://learn.adafruit.com/hello-world-of-robotics-with-crickit.md)
- [How to Use Video Greenscreen in MakeCode](https://learn.adafruit.com/how-to-use-video-greenscreen-in-makecode.md)
- [How to Make Animated Graphics for Hologram Displays](https://learn.adafruit.com/how-to-make-animated-graphics-for-hologram-displays.md)
- [Bunny Ears with MakeCode](https://learn.adafruit.com/bunny-ears-with-makecode.md)
- [Scratch 3 Walkthrough and Demo](https://learn.adafruit.com/guide-to-scratch-3.md)
- [Paper Craft Zoetrope with Crickit](https://learn.adafruit.com/paper-craft-zoetrope-with-circuit-python.md)
- [No-Touch Hand Wash Timer for Circuit Playground Express and CLUE](https://learn.adafruit.com/no-touch-hand-wash-timer-for-cpx-and-clue.md)
- [The Tilt Trumpet](https://learn.adafruit.com/the-tilt-trumpet.md)
- [NeoPixie Dust Bag with Circuit Playground Express](https://learn.adafruit.com/neopixie-dust-bag-cpx.md)
- [Zombie Tag Game with Circuit Playground Express](https://learn.adafruit.com/circuit-playground-express-ir-zombie-game.md)
- [Ambient Color Control Pad](https://learn.adafruit.com/ambient-color-controller.md)
