# Smart Toilet Light

## Overview

https://www.youtube.com/watch?v=bcaGAFFPNlI

The smart toilet light project brings IoT to your bathroom. &nbsp;IoT, or Internet of Toilets, is the popular industry buzzword to describe a connected social network of intelligent toilets. &nbsp;With the smart toilet light you can create a light that illuminates your toilet bowl based on data from the internet. &nbsp;For example your toilet can shine red if it's going to rain, or glow yellow if it's sunny and clear outside. &nbsp;Not only is the smart toilet light&nbsp;a useful&nbsp;aid to find the toilet in the dark, but it's a real source of information to help you plan for your day!

This project is built with a [Feather Huzzah ESP8266](https://www.adafruit.com/products/2821)&nbsp;WiFi microcontroller and a [8mm NeoPixel LED](https://www.adafruit.com/products/1734). &nbsp;You can 3D print a case and a LED clip to hold the hardware near the toilet bowl. &nbsp;By connecting to [Adafruit IO](http://io.adafruit.com/)&nbsp;the ESP8266 can listen for color and animation commands that are sent from other services like [If This Then That](http://www.ifttt.com/)&nbsp;(IFTTT), [Zapier](http://www.zapier.com/), and more. &nbsp;You'll have your toilet pulsing and flashing different colors from the internet in almost no time!

![](https://cdn-learn.adafruit.com/assets/assets/000/031/514/medium800/leds_DSC04614.jpg?1459497491)

Before you get started you'll want to familiarize yourself with the following guides:

- [Adafruit Feather Huzzah ESP8266](../../../../adafruit-feather-huzzah-esp8266)
- [Adafruit NeoPixel Uberguide](../../../../adafruit-neopixel-uberguide/overview)
- [Adafruit IO](../../../../adafruit-io)&nbsp;&&nbsp;[Adafruit IO Basics](../../../../series/adafruit-io-basics)

In addition you'll want to be familiar with how to solder--for this project you'll need to solder headers to a board, and wires to a LED. &nbsp;This is a relatively easy soldering project even for a beginner, but be sure to read the [guide to excellent soldering](../../../../adafruit-guide-excellent-soldering/tools).

# Smart Toilet Light

## Hardware

# Parts

To build this project you'll need the following parts:

- [Feather Huzzah ESP8266](https://www.adafruit.com/products/2821). &nbsp;You can use other ESP8266 boards like the simpler [Huzzah ESP8266](https://www.adafruit.com/products/2471), but you'll need more parts like a serial to USB cable to talk to them. &nbsp;Pick up a set of [female Feather headers](https://www.adafruit.com/products/2830)&nbsp;to make connecting wires to the Feather easier.
- [NeoPixel Diffused 8mm Through-Hole LED](https://www.adafruit.com/products/1734). &nbsp;You can use any NeoPixels but I recommend the large 8mm through-hole LEDs for their large size and brightness. &nbsp;The 3D printed LED holder for this project is designed for the 8mm NeoPixel.
- [5V power supply](https://www.adafruit.com/product/1995). &nbsp;The easiest way to power the board is with a 5V power supply plugged into the USB port. &nbsp;You could use a battery like a lipoly pack, but I don't recommend putting a lithium battery near where it can get wet or fall into water. &nbsp; **Be careful, electronics and water don't mix! &nbsp;Always plug devices into a GFCI outlet and do not place them where they can fall into water.**
- [Soldering tools](https://www.adafruit.com/products/136)&nbsp;& [wire](https://www.adafruit.com/product/1311). &nbsp;You'll need to solder headers to the Feather and solder wires to the NeoPixel.

# Assembly

Start by following the [Feather Huzzah ESP8266 guide](../../../../adafruit-feather-huzzah-esp8266)&nbsp;to assemble and test the ESP8266 board. &nbsp; **Don't continue until you're sure the board is working and you can upload sketches with the Arduino IDE!**

Next solder wires to the NeoPixel. &nbsp;Use a long enough length of wire to place the LED on the rim of the toilet bowl and keep the Huzzah board safely away from the toilet. &nbsp;You'll need to solder wires to the **data in,**  **5V** and **ground** &nbsp;pins (the data out wire is unused):

![](https://cdn-learn.adafruit.com/assets/assets/000/031/478/medium800/leds_1734-04.jpg?1459488701)

It helps to tin each wire and pin with solder first, then hold them together with helping hands and apply the soldering iron to flow the solder. &nbsp;Don't forget to slip on some heat shrink tubing too!

![](https://cdn-learn.adafruit.com/assets/assets/000/031/479/medium800/leds_DSC04607.jpg?1459489101)

Connect the NeoPixel to the Feather Huzzah ESP8266 as follows:

- **NeoPixel data in** to **Huzzah ESP8266 pin #2.**
- **NeoPixel 5V** &nbsp;to **Huzzah ESP8266 3.3V power**. &nbsp;You can instead&nbsp;use the VUSB pin if you're powering the board from its USB port. &nbsp; **Don't power the NeoPixel off the 3.3V power if you're using more than 1 or 2 pixels!** &nbsp;Consult the [NeoPixel Uber Guide](../../../../adafruit-neopixel-uberguide/overview)&nbsp;if you have any questions about how to power NeoPixels.
- **NeoPixel ground** to **Huzzah ESP8266 ground**.

If you're having trouble getting bare wires to stay inside female headers, tin the wires with solder until they're thick enough to firmly stay in place.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/480/medium800/leds_DSC04610.jpg?1459489417)

That's all there is to assembling and wiring the hardware for this project!

# 3D Printed Case

If you have access to a 3D printer you can print a case for the Feather Huzzah ESP8266, and a bracket to hold the LED to the side of the toilet bowl. &nbsp;These small parts should print on almost any 3D printer and are fine to print with PLA.

The LED bracket is designed to hold a 8mm LED and fit a toilet bowl with a 40mm wide rim. &nbsp;It will probably work for slightly larger and smaller bowls, but you might need to adjust the part or design your own if your toilet is different. &nbsp;You can find the [source for this part on Tinkercad](https://www.tinkercad.com/things/9PFmsc43SpG-toilet-bowl-clip)&nbsp;and adjust it as necessary.

Download the STL files for these parts from [their home on Thingiverse](https://www.thingiverse.com/thing:1458176)&nbsp;below:

[Download Case &amp; Clip STL Files](https://www.thingiverse.com/thing:1458176/#files)
The parts should print without any need for support. &nbsp;For PLA I used 20% infill and 0.02mm layer height with good results, but adjust as needed for your filament, printer, etc.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/481/medium800/leds_DSC04609.jpg?1459490023)

The Feather Huzzah ESP8266 should snap into place without need for screws, etc. &nbsp;The case can optionally accomodate a slide switch however it is unused in this project.

For the LED holder thread the wires through the side and hole in the top, then pull them through to put the LED into place in the hole. &nbsp;See the photos on the left for more details.

![leds_DSC04611.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/482/medium640/leds_DSC04611.jpg?1459490126)

![leds_DSC04612.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/483/medium640/leds_DSC04612.jpg?1459490148)

Once assembled your smart toilet light should look something like the following:

![](https://cdn-learn.adafruit.com/assets/assets/000/031/484/medium800/leds_DSC04613.jpg?1459490242)

Place the clip on the rim of the toilet and make sure it is secure. &nbsp;You can use tape or other means of adhesive if the clip is not held firmly in place (be careful not to use anything too permanent though!). &nbsp;The Feather Huzzah ESP8266 should be placed somewhere secure and near a power source.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/485/medium800/leds_DSC04614.jpg?1459490371)

Danger: 

# Smart Toilet Light

## Software

# Arduino Sketch

The software for this project is an Arduino sketch that will connect to [Adafruit IO](http://io.adafruit.com/)&nbsp;and listen for color and animation data from a feed. &nbsp;You can even setup integration with [IFTTT](http://www.ifttt.com/), [Zapier](http://www.zapier.com/), etc. to change the feed and toilet light color when something happens. &nbsp;For example change the toilet color based on your local weather!

Before you setup the software for this project make sure you've followed the [Feather Huzzah ESP8266 guide](../../../../adafruit-feather-huzzah-esp8266)&nbsp;and can successfully program the board. &nbsp;You will also want to install the following libraries with the [Arduino library manager](https://www.arduino.cc/en/Guide/Libraries#toc3):

- **[Adafruit NeoPixel Library](https://github.com/adafruit/Adafruit_NeoPixel)**
- **[Adafruit MQTT Library](https://github.com/adafruit/Adafruit_MQTT_Library)**
- **[Adafruit SleepyDog Library](https://github.com/adafruit/Adafruit_SleepyDog)**

Then download the Arduino sketch for the project from its [home on GitHub](https://github.com/adafruit/Adafruit_Learning_System_Guides/tree/master/Smart_Toilet_Light)&nbsp;by clicking the button below:

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Smart_Toilet_Light/Smart_Toilet_Light_ESP8266/Smart_Toilet_Light_ESP8266.ino

Load the sketch in the Arduino IDE. &nbsp;You should see it look something like the following:

![](https://cdn-learn.adafruit.com/assets/assets/000/031/486/medium800/leds_Screen_Shot_2016-03-31_at_11.07.27_PM.png?1459490883)

There are a few #define values at the top of the sketch that you will need to change:

- **WLAN\_SSID** - Set this to the name of your WiFi access point.
- **WLAN\_PASS** - Set this to the password for your WiFi access point.
- **AIO\_USERNAME** - Set this to your Adafruit IO username (you can find it on [http://accounts.adafruit.com](http://accounts.adafruit.com)).
- **AIO\_KEY** - Your Adafruit IO key. &nbsp;You can find this by clicking the **View AIO Keys** button on the [Adafruit IO settings page](https://io.adafruit.com/settings).

There are other #define values below that you can optionally change, however I recommend keeping them at their defaults unless you know your hardware is setup in a different way.

Upload the sketch to your Feather Huzzah ESP8266 board. &nbsp;Then open the serial monitor in Arduino and set it to 115200 baud. &nbsp;You should see the board print information as it connects to the WiFi network and then Adafruit IO. &nbsp;For example:

![](https://cdn-learn.adafruit.com/assets/assets/000/031/487/medium800/leds_Screen_Shot_2016-03-31_at_11.14.31_PM.png?1459491296)

Make sure you see the sketch connecting to your WiFi network and Adafruit IO (the MQTT Connected! message). &nbsp;If you see an error connecting to WiFi check that you have the right SSID name & password. &nbsp;If you see an error connecting to MQTT/Adafruit IO check you have the right username and Adafruit IO key set and try again.

Once the sketch is running and connecting to Adafruit IO you're ready to start controlling it from the web!

# Adafruit IO

To control the animation and color of the light you can use [Adafruit IO](http://io.adafruit.com/). &nbsp;If you aren't familiar with Adafruit IO you'll want to read through the following guides first:

- [Adafruit IO Overview](../../../../adafruit-io)
- [Adafruit IO Basics](../../../../series/adafruit-io-basics)&nbsp;(4 guides)

By default the software for this project will look for a feed named **toilet-light** in your Adafruit IO account. &nbsp;You can send simple text commands to this feed to change the color and animation of the light.

The easiest way to change and test the light is to directly send a color value to the feed. &nbsp;From the [Adafruit IO feeds list](https://io.adafruit.com/feeds)&nbsp;for your account find the feed named **toilet-light**. &nbsp;If you don't see a feed named toilet light then use the **Create Feed** button to create one (name it **toilet-light** ). &nbsp;

Click the toilet-light feed to go to its feed page:

![](https://cdn-learn.adafruit.com/assets/assets/000/031/490/medium800/leds_Screen_Shot_2016-03-31_at_11.27.54_PM.png?1459492115)

Click the **blue + icon** in the lower right to manually set the value of the toilet-light feed. &nbsp;This will bring up a dialog where you can enter a new feed value.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/491/medium800/leds_Screen_Shot_2016-03-31_at_11.28.14_PM.png?1459492127)

Enter the value **SFF0000** (those are zeros, not the letter O), then press **Save Changes**. &nbsp;After a moment you should see your toilet light LED turn red!

The value that you set the toilet-light feed is a command that can control the color and animation of the LED. &nbsp;You can send the following types of commands:

- **Srrggbb** - Set the LED to a solid color specified by the hex rr, gg, bb values (red, green, blue). &nbsp;For example the hex RGB color FF00AA (red = 255, green = 0, blue = 170) could be set with the command: **SFF00AA**
- **Prrggbbff** - Pulse the LED from full color to off repeatedly using the specified hex rr, gg, bb values (red, green, blue), and at the specified hex frequency ff. &nbsp;Frequency is specified as a hex byte value (0-255) and is the number of times the light should pulse from off to on and back off again in a 10 second period. &nbsp;For example to pulse the LED red every 2 seconds you would send: **PFF000005**
- **R** - Animate the LED with a rainbow color cycle. &nbsp;There's no parameter or other information to send, just set the feed to the value **R**!

Try setting the toilet-light feed to different solid, pulsing, and rainbow cycle values. &nbsp;That's all there is to controlling the light from Adafruit IO! &nbsp;Continue on to learn about interesting ways to drive the light, like from weather triggers on IFTTT and Zapier.

# Smart Toilet Light

## IFTTT Integration

[If This Then That](https://ifttt.com/)&nbsp;is a great internet service that simplifies home automation. &nbsp;IFTTT can listen to services like GMail, Dropbox, Twitter, etc. and take actions like controlling lights in your home or even sending data to Adafruit IO. &nbsp;Using IFTTT you can trigger your toilet light to change color in many interesting ways. &nbsp;For example you can have IFTTT change the color of your toilet light based on the current weather in your area.

To setup IFTTT to show weather on the toilet light you'll first need to sign up for an IFTTT account. &nbsp;Then create a new recipe:

![](https://cdn-learn.adafruit.com/assets/assets/000/031/492/medium800/leds_Screen_Shot_2016-04-01_at_12.05.59_AM.png?1459494548)

Click ' **this**' to pick what action will trigger the toilet light. &nbsp;Search for weather and you'll see IFTTT's native weather trigger channel (the blue cloud and yellow sun on the right):

![](https://cdn-learn.adafruit.com/assets/assets/000/031/493/medium800/leds_Screen_Shot_2016-04-01_at_12.06.24_AM.png?1459494558)

Click the weather trigger channel to select it and see the available triggers. &nbsp;Note that you might need to first add the weather trigger channel and configure it to your location before you can continue.

For this example you want the **Current condition changes to** trigger which will fire when the weather in your area changes to rain, snow, clouds, or clear conditions. &nbsp;However read the other triggers to see what other weather actions you might use with the toilet light.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/494/medium800/leds_Screen_Shot_2016-04-01_at_12.06.45_AM.png?1459494571)

After selecting the **Current condition changes to** trigger you can now pick the specific condition that this trigger will action on. &nbsp;For example to change the light when it's raining pick the **Rain** condition in the **Current condition** drop down:

![](https://cdn-learn.adafruit.com/assets/assets/000/031/495/medium800/leds_Screen_Shot_2016-04-01_at_12.07.00_AM.png?1459494584)

Now click **Create Trigger** to continue on to the ' **that**' configuration for this recipe:

![](https://cdn-learn.adafruit.com/assets/assets/000/031/496/medium800/leds_Screen_Shot_2016-04-01_at_12.07.10_AM.png?1459494675)

Click ' **that**' and you'll see the available action channels. &nbsp;Search for or select the **Adafruit** channel. &nbsp;Note that you might need to do some one time setup to authorize IFTTT the first time you select Adafruit's channel.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/497/medium800/leds_Screen_Shot_2016-04-01_at_12.07.23_AM.png?1459494703)

Select Adafruit's channel and pick the **Send data to Adafruit IO** action:

![](https://cdn-learn.adafruit.com/assets/assets/000/031/498/medium800/leds_Screen_Shot_2016-04-01_at_12.07.35_AM.png?1459494717)

Now select the **toilet-light** feed in the **Feed name** drop down (if you don't see the feed then make sure you've setup and changed the toilet light LED color by following all the steps in the previous page).

For the **Data to save** value you can specify a command to change the toilet light color. &nbsp;For example the command **PFF000005** will pulse the toilet light red every 2 seconds. &nbsp;Use any command like changing to a solid color, pulsing other colors, or animating a rainbow cycle--check out the [previous page](../../../../smart-toilet-light/software#adafruit-io)&nbsp;for the command syntax.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/499/medium800/leds_Screen_Shot_2016-04-01_at_12.07.58_AM.png?1459494732)

Click **Create Action** to finish setting up the recipe.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/500/medium800/leds_Screen_Shot_2016-04-01_at_12.08.17_AM.png?1459494749)

Give the recipe a descriptive name and then click **Create Recipe** to finish and enable it. &nbsp;When the weather changes to rain you should see the toilet light pulse red!

Try setting up more recipes to change the light when weather conditions change to snow, clouds, or clear skys:

![](https://cdn-learn.adafruit.com/assets/assets/000/031/501/medium800/leds_Screen_Shot_2016-04-01_at_12.08.45_AM.png?1459494765)

That's all there is to setting up the toilet light with IFTTT! &nbsp;You can hook up almost any action to control the toilet light. &nbsp;For example have it flash when you have too many unread emails or missed a phone call. &nbsp;The possibilities are almost endless!

# Smart Toilet Light

## Zapier Integration

[Zapier](http://www.zapier.com/)&nbsp;is another great service for automating and connecting other online services. &nbsp;Just like [IFTTT](http://www.ifttt.com/)&nbsp;you can use Zapier to trigger on actions and send data to Adafruit IO. &nbsp;For example you can setup Zapier to change the toilet light color based on the weather.

First you will need to create an account on [Zapier's website](http://www.zapier.com/). &nbsp;Then login and click **Make a Zap** :

![](https://cdn-learn.adafruit.com/assets/assets/000/031/502/medium800/leds_Screen_Shot_2016-04-01_at_12.33.31_AM.png?1459496248)

In the list of triggers tha appears search for weather&nbsp;and select the **Weather by Zapier** trigger.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/503/medium800/leds_Screen_Shot_2016-04-01_at_12.33.48_AM.png?1459496262)

Choose the **Will it Rain Today?** trigger for a simple trigger to change the toilet light color if it will rain.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/504/medium800/leds_Screen_Shot_2016-04-01_at_12.34.06_AM.png?1459496366)

Follow the steps on the page to pick the right latitude and longitude for your location.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/505/medium800/leds_Screen_Shot_2016-04-01_at_12.34.35_AM.png?1459496377)

After clicking continue Zapier will confirm the latitude and longitude you chose, and test that it can access weather data. &nbsp;Click **Fetch & Continue** to move on.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/506/medium800/leds_Screen_Shot_2016-04-01_at_12.35.04_AM.png?1459496393)

After the test runs it should succeed and you can click **Continue** to pick the action that will be taken when Zapier detects it will rain.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/507/medium800/leds_Screen_Shot_2016-04-01_at_12.35.18_AM.png?1459496414)

In the list of actions search for **Adafruit** to find the **Adafruit IO** action. &nbsp;Choose the action and you'll see it has a **Send Value to Feed** option:

![](https://cdn-learn.adafruit.com/assets/assets/000/031/508/medium800/leds_Screen_Shot_2016-04-01_at_12.35.38_AM.png?1459496442)

After clicking **Save + Continue** you'll need to setup your Adafruit IO account with Zapier. &nbsp;If you've already setup the account then choose it from the list, otherwise click **Connect a New Account** and go through the authorization process.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/509/medium800/leds_Screen_Shot_2016-04-01_at_12.35.50_AM.png?1459496490)

Again click **Save + Continue** to move on to set the feed and feed value. &nbsp;For the **Value** pick a command to change the toilet light color, like **PFF000005** to pulse the light red every two seconds. &nbsp;You can use any toilet light feed command, like setting a solid color or rainbow cycle, see the command syntax on the [previous page](../../../../smart-toilet-light/software#adafruit-io).

For the **Feed** pick the **toilet-light** feed that powers your toilet light.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/031/510/medium800/leds_Screen_Shot_2016-04-01_at_12.36.11_AM.png?1459496508)

Click **Continue** and Zapier will move on to test the Adafruit IO connection. &nbsp;Click **Create & Continue** to perform the test.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/511/medium800/leds_Screen_Shot_2016-04-01_at_12.36.25_AM.png?1459496522)

After the test runs you're almost done! &nbsp;Click **Finish** to move on and give the zap a name.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/512/medium800/leds_Screen_Shot_2016-04-01_at_12.36.41_AM.png?1459496537)

Name the zap and then click OFF to toggle the Zap ON! &nbsp;Your toilet light should now pulse red when Zapier performs a rain check every morning. &nbsp;Cool!

![](https://cdn-learn.adafruit.com/assets/assets/000/031/513/medium800/leds_Screen_Shot_2016-04-01_at_12.37.03_AM.png?1459496549)

Explore other triggers on Zapier's site to see more&nbsp;interesting ways to control your toilet light. &nbsp;For example have it flash when you have too many unread emails or missed a phone call. &nbsp;The possibilities are almost endless!


## Featured Products

### Adafruit Feather HUZZAH with ESP8266 - Loose Headers

[Adafruit Feather HUZZAH with ESP8266 - Loose Headers](https://www.adafruit.com/product/2821)
Feather is the new development board from Adafruit, and like its namesake, it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller cores.

This is the&nbsp; **Adafruit Feather HUZZAH ESP8266** &nbsp;- our take on an...

In Stock
[Buy Now](https://www.adafruit.com/product/2821)
[Related Guides to the Product](https://learn.adafruit.com/products/2821/guides)
### Header Kit for Feather - 12-pin and 16-pin Female Header Set

[Header Kit for Feather - 12-pin and 16-pin Female Header Set](https://www.adafruit.com/product/2886)
These two&nbsp; **Female&nbsp;Headers** &nbsp;alone are, well, lonely. But pair them with any of our&nbsp;[Feather](https://www.adafruit.com/categories/777)&nbsp;boards and you're in business!

What do they do? They get soldered on either side of the Feather...

In Stock
[Buy Now](https://www.adafruit.com/product/2886)
[Related Guides to the Product](https://learn.adafruit.com/products/2886/guides)
### Adafruit HUZZAH ESP8266 Breakout

[Adafruit HUZZAH ESP8266 Breakout](https://www.adafruit.com/product/2471)
Add Internet to your next project with an adorable, bite-sized WiFi microcontroller, at a price you like! The ESP8266 processor from Espressif is an 80 MHz microcontroller with a full WiFi front-end (both as client and access point) and TCP/IP stack with DNS support as well. While this chip...

In Stock
[Buy Now](https://www.adafruit.com/product/2471)
[Related Guides to the Product](https://learn.adafruit.com/products/2471/guides)
### NeoPixel Diffused 8mm Through-Hole LED - 5 Pack

[NeoPixel Diffused 8mm Through-Hole LED - 5 Pack](https://www.adafruit.com/product/1734)
LOLwut? NeoPixels in through-hole variety? Oh yes, we haz them! If you like NeoPixel strips you'll luv these 8mm diffused through-hole NeoPixels. All the single-pin-controlling-hundreds-of-LEDs goodness in a breadboard friendly format. Each LED looks just like your classic through-hole 8mm...

In Stock
[Buy Now](https://www.adafruit.com/product/1734)
[Related Guides to the Product](https://learn.adafruit.com/products/1734/guides)
### NeoPixel Diffused 5mm Through-Hole LED - 5 Pack

[NeoPixel Diffused 5mm Through-Hole LED - 5 Pack](https://www.adafruit.com/product/1938)
LOLwut? NeoPixels in 5mm through-hole variety? Oh yes, we haz them! If you like NeoPixel strips you'll luv these 5mm **diffused** through-hole NeoPixels. All the single-pin-controlling-hundreds-of-LEDs goodness in a breadboard friendly format. Each LED looks just like a...

In Stock
[Buy Now](https://www.adafruit.com/product/1938)
[Related Guides to the Product](https://learn.adafruit.com/products/1938/guides)
### 5V 2.5A Switching Power Supply with 20AWG MicroUSB Cable

[5V 2.5A Switching Power Supply with 20AWG MicroUSB Cable](https://www.adafruit.com/product/1995)
Our all-in-one 5V 2.5 Amp + MicroUSB cable power adapter is the perfect choice for powering single-board computers like Raspberry Pi, BeagleBone, or anything else that's power-hungry!

This adapter was specifically designed to provide 5.25V, not 5V, but we still call it a 5V USB...

In Stock
[Buy Now](https://www.adafruit.com/product/1995)
[Related Guides to the Product](https://learn.adafruit.com/products/1995/guides)
### Hook-up Wire Spool Set - 22AWG Solid Core - 6 x 25 ft

[Hook-up Wire Spool Set - 22AWG Solid Core - 6 x 25 ft](https://www.adafruit.com/product/1311)
Perfect for bread-boarding, free wiring, etc. This box contains 6 spools of solid-core wire. The wire is easy to solder to and when bent it keeps its shape pretty well. We like to have a few spools of this stuff around which is why this set is quite nice! We suggest picking up wire strippers...

In Stock
[Buy Now](https://www.adafruit.com/product/1311)
[Related Guides to the Product](https://learn.adafruit.com/products/1311/guides)
### Ladyada's Electronics Toolkit

[Ladyada's Electronics Toolkit](https://www.adafruit.com/product/136)
Starting out on your electronics adventure?  
Want to wield the mighty soldering iron?  
Tired of saying "I'd totally get into electronics if I only knew what tools to get..."?

Working with substandard equipment is a terrible way to learn electronics: a lot of...

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

## Related Guides

- [Adafruit Feather HUZZAH ESP8266](https://learn.adafruit.com/adafruit-feather-huzzah-esp8266.md)
- [Ladyada's Toolkit](https://learn.adafruit.com/ladyadas-toolkit.md)
- [3D Printed IoT On Air Sign for Twitch](https://learn.adafruit.com/3d-printed-iot-on-air-sign-for-twitch.md)
- [MicroPython Basics: Load Files & Run Code](https://learn.adafruit.com/micropython-basics-load-files-and-run-code.md)
- [Adafruit IO Basics: Temperature & Humidity](https://learn.adafruit.com/adafruit-io-basics-temperature-and-humidity.md)
- [All the Internet of Things - Episode Three: Services](https://learn.adafruit.com/all-the-internet-of-things-episode-three-services.md)
- [Using IFTTT with Adafruit IO to Make an IoT Door Detector](https://learn.adafruit.com/using-ifttt-with-adafruit-io.md)
- [Gmailbox](https://learn.adafruit.com/gmailbox.md)
- [CircuitPython Hardware: LED Backpacks & FeatherWings](https://learn.adafruit.com/micropython-hardware-led-backpacks-and-featherwings.md)
- [Adding Third Party Boards to the Arduino v1.6.4+ IDE](https://learn.adafruit.com/add-boards-arduino-v164.md)
- [Building CircuitPython](https://learn.adafruit.com/building-circuitpython.md)
- [WiFi OLED Display Badge](https://learn.adafruit.com/digital-display-badge.md)
- [Huzzah Weather Display](https://learn.adafruit.com/huzzah-weather-display.md)
- [Automatic Twitch On-Air Sign](https://learn.adafruit.com/automatic-twitch-on-air-sign.md)
- [MicroPython Basics: What is MicroPython?](https://learn.adafruit.com/micropython-basics-what-is-micropython.md)
- [MicroPython Displays: Drawing Shapes](https://learn.adafruit.com/micropython-displays-drawing-shapes.md)
- [MicroPython Basics: How to Load MicroPython on a Board](https://learn.adafruit.com/micropython-basics-how-to-load-micropython-on-a-board.md)
