# Funhouse Door Alert with Email Notification

## Overview

https://youtu.be/RVE28GaaxKI

Create a simple door alert system with the Funhouse and Adafruit IO. It'll update your dashboard and send an email whenever a certain door is opened or closed.

## Parts
### Adafruit FunHouse - WiFi Home Automation Development Board

[Adafruit FunHouse - WiFi Home Automation Development Board](https://www.adafruit.com/product/4985)
Home is where the heart is...it's also where we keep all our electronic bits. So why not wire it up with sensors and actuators to turn our house into an electronic wonderland. Whether it's tracking the environmental temperature and humidity in your laundry room, or notifying you when...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4985)
[Related Guides to the Product](https://learn.adafruit.com/products/4985/guides)
![Top-down video of Adafruit Funhouse PCB. The TFT display shows a data readout, and the NeoPixel LEDs glow rainbow colors.](https://cdn-shop.adafruit.com/product-videos/640x480/4985-00.jpg)

### Magnetic contact switch (door sensor)

[Magnetic contact switch (door sensor)](https://www.adafruit.com/product/375)
This sensor is essentially a reed switch, encased in an ABS plastic shell. Normally the reed is 'open' (no connection between the two wires). The other half is a magnet. When the magnet is less than 13mm (0.5") away, the reed switch closes. They're often used to detect when a...

In Stock
[Buy Now](https://www.adafruit.com/product/375)
[Related Guides to the Product](https://learn.adafruit.com/products/375/guides)
![Top view of magnetic contact switch with three screws.](https://cdn-shop.adafruit.com/640x480/375-01.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)

### 2-Pin Wire Joints (3-pack)

[2-Pin Wire Joints (3-pack)](https://www.adafruit.com/product/3786)
These are the _easiest_ way possible to connect two wires - no if's, and's, or butt's! Well, actually, these are often referred to as wire butts 'cause you 'butt' two wires together (hey we didn't come up with the name!) Butt seriously folks! OK, so despite...

In Stock
[Buy Now](https://www.adafruit.com/product/3786)
[Related Guides to the Product](https://learn.adafruit.com/products/3786/guides)
![2-Pin Wire Joints connecting two sets of power wires](https://cdn-shop.adafruit.com/640x480/3786-02.jpg)

### USB Type A to Type C Cable - approx 1 meter / 3 ft long

[USB Type A to Type C Cable - approx 1 meter / 3 ft long](https://www.adafruit.com/product/4474)
As technology changes and adapts, so does Adafruit. This&nbsp;&nbsp; **USB Type A to Type C** cable will help you with the transition to USB C, even if you're still totin' around a USB Type A hub, computer or laptop.

USB C is the latest industry-standard connector for...

In Stock
[Buy Now](https://www.adafruit.com/product/4474)
[Related Guides to the Product](https://learn.adafruit.com/products/4474/guides)
![Angled shot of a coiled black, USB-C to USB-A cable.](https://cdn-shop.adafruit.com/640x480/4474-02.jpg)

### 5V 2A Switching Power Supply w/ USB-A Connector

[5V 2A Switching Power Supply w/ USB-A Connector](https://www.adafruit.com/product/1994)
Our 5V 2A USB 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 adapter. We did this on purpose to...

In Stock
[Buy Now](https://www.adafruit.com/product/1994)
[Related Guides to the Product](https://learn.adafruit.com/products/1994/guides)
![5V 2A Switching Power Supply with  USB-A Connector](https://cdn-shop.adafruit.com/640x480/1994-01.jpg)

# Funhouse Door Alert with Email Notification

## Adafruit IO Setup

_New to Adafruit IO?_&nbsp;[You can read all about it in this guide](https://learn.adafruit.com/welcome-to-adafruit-io?view=all "Welcome to Adafruit IO Guide"). Go ahead and get your account set up, and come back to this page when you're ready.

You'll need to obtain our Adafruit IO Key and Username. Visit your [Adafruit IO Profile page](https://io.adafruit.com/profile)&nbsp;and click the&nbsp; **VIEW AIO KEY&nbsp;** button on the left-sidebar.

![sensors_io-active-key.png](https://cdn-learn.adafruit.com/assets/assets/000/060/268/medium640/sensors_io-active-key.png?1535485392)

A window will pop up with your Adafruit IO key and username. Keep a copy of them in a safe place, you'll need them later.

![](https://cdn-learn.adafruit.com/assets/assets/000/060/269/medium800/sensors_raspberry_pi_microcontrollers_aio-popup-window.png?1535483696)

## Setting up Adafruit IO Feeds
You'll create a feed called **door** to receive the door switch status data sent by the Funhouse.

To create the feed for the door, navigate to the [Adafruit IO Feeds Page](https://io.adafruit.com/feeds)&nbsp;and click **Actions-\>Create a New Feed.&nbsp;** Name the new feed **door** and then click **Create.** _&nbsp;_

![](https://cdn-learn.adafruit.com/assets/assets/000/101/403/medium800/sensors_funDoor1.jpg?1618410417)

- If you do not know how to create feeds,&nbsp;[head over to the&nbsp;_Adafruit IO Basics: Feeds_&nbsp;for a quick overview](https://learn.adafruit.com/adafruit-io-basics-feeds)&nbsp;of this process.

## Creating the Adafruit IO Dashboard
Next, you"ll create an Adafruit IO Dashboard to display and control our feeds. [Navigate to the Adafruit IO Dashboard page](https://io.adafruit.com/dashboards) and click **Actions -\> Create a New Dashboard**.

Name this dashboard&nbsp; **Funhouse Door Alert** and **click**  **Create.&nbsp;** You'll be re-directed to the new Dashboard.

![](https://cdn-learn.adafruit.com/assets/assets/000/101/404/medium800/sensors_funDoor2.jpg?1618410687)

### Add a Block

You'll create an **&nbsp;Indicator Block&nbsp;** to monitor the status of the door sensor.&nbsp;

From the IO Home dashboard, click the&nbsp; **gear icon** to see the **Dashboard Settings** and then click on **Create New Block** to add a new block to the dashboard.

![sensors_funDoor5.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/406/medium640/sensors_funDoor5.jpg?1618412447)

Click the&nbsp; **Indicator block.&nbsp;** This will take you to the&nbsp; **Connect a Feed&nbsp;** window.

![sensors_funDoor6.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/410/medium640/sensors_funDoor6.jpg?1618412671)

### Pick Block Feed

Select the&nbsp; **door feed&nbsp;** and then click&nbsp; **Next step.**

![sensors_funDoor3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/411/medium640/sensors_funDoor3.jpg?1618412730)

### Configure Block

Configure its settings like so:

- Set the **Block Title** to **Door Status**
- **On Color** is green
- **Off Color&nbsp;** is red
- Conditions is set to **`= 1`** 

This means the block will be **on** ( **green** ) when the Funhouse sends a **1&nbsp;** to the **door feed** and **off** ( **red** ) when the Funhouse sends a **0** to the **door feed**.

When you're done, click **Create block**.&nbsp;

![sensors_funDoor4.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/412/medium640/sensors_funDoor4.jpg?1618412810)

![](https://cdn-learn.adafruit.com/assets/assets/000/101/413/medium800/sensors_funDoor7.jpg?1618413790)

# Funhouse Door Alert with Email Notification

## Email Alerts

Using Adafruit IO, you can create automated email alerts so you receive an email whenever a feed condition is met.

Here are two different ways to do it, one uses Adafruit IO and IFTTT, the other uses Adafruit IO+ (this is a paid service) with its built-in Actions.

Warning: 

# Email Alert with AIO and IFTTT

The IFTTT (If This Then That) service can be integrated with AIO quite easily. You'll create an IFTTT applet that watches one of your AIO feeds, and when a certain value appears in the feed, IFTTT will send an email.

First, head to [https://ifttt.com/](https://ifttt.com/) and create an account or log in if you already have one.

## Create Applet

On the IFTTT **My Applets** page, click the **+ Create** button.

![sensors_ifttt_door01.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/695/medium640/sensors_ifttt_door01.jpg?1619015468)

## Add a Condition

In the **If**  **This** box, click the **Add** button.

![sensors_Create_your_own_-_IFTTT.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/698/medium640/sensors_Create_your_own_-_IFTTT.jpg?1619016109)

## Choose Adafruit Service

From the **Choose a service** page, pick the **Adafruit** service.

![sensors_Create_your_own_-_IFTTT-2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/699/medium640/sensors_Create_your_own_-_IFTTT-2.jpg?1619016166)

## Choose Feed Trigger

On the **Choose a trigger** page, click on the **Monitor a feed on Adafruit IO** option. This option allows you to filter the data so only some conditions will trigger the applet.

![sensors_Create_your_own_-_IFTTT-3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/700/medium640/sensors_Create_your_own_-_IFTTT-3.jpg?1619016230)

## Configure the Trigger

Fill out the fields of the **Monitor a feed on Adafruit IO** trigger.

In the example shown here, the **Feed** being monitored is named **door** , the **Relationship** is **equal to** , and the **Value** is **0**.

This means the trigger will run whenever the door feed has a new piece of data with a value of 0.

Once you've filled this out, click the **Create Trigger** button.

![sensors_Create_your_own_-_IFTTT-4.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/701/medium640/sensors_Create_your_own_-_IFTTT-4.jpg?1619016353)

## Add an Action

Now that you have a trigger read, you will pick what the resulting action will be. Click on the **Then That** box's **Add** button.

![sensors_Create_your_own_-_IFTTT-5.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/702/medium640/sensors_Create_your_own_-_IFTTT-5.jpg?1619016763)

## Choose Gmail Service

Filter the services of the **Choose a service** page by typing **"gmail"** into the search bar.

Click on the **Gmail** icon to select it.

![sensors_Create_your_own_-_IFTTT-6.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/703/medium640/sensors_Create_your_own_-_IFTTT-6.jpg?1619016881)

## Choose Gmail Action

In the Choose an action page choose to either **Send an email.**

![sensors_Create_your_own_-_IFTTT-7.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/704/medium640/sensors_Create_your_own_-_IFTTT-7.jpg?1619017123)

## Email Fields

Here you can fill in the details of the email that'll be sent when the applet runs.

You can send the email to any address you like (just please don't spam people!)

You can even get fancy and have the email sent as a text message! For many carriers you can use your _cellular number at txt . carrier . net pattern_, e.g. 2128675309@txt.att.net and you'll receive a text message when the email is triggered.

Once filled in, click the **Create action** button.

![sensors_Create_your_own_-_IFTTT-8.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/705/medium640/sensors_Create_your_own_-_IFTTT-8.jpg?1619017570)

## Applet Summary

This page shows a summary of the IFTTT applet flow. You can add elements here if needed, but in this case, click **Continue**.

![sensors_My_Applets_-_IFTTT.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/707/medium640/sensors_My_Applets_-_IFTTT.jpg?1619018109)

## Review and Finish

Here you'll see a review of the Applet. If everything looks good, click **Finish**.

If not, you can click the **\< Back** button in the IFTTT window (not the browser back button).

![sensors_My_Applets_-_IFTTT-2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/708/medium640/sensors_My_Applets_-_IFTTT-2.jpg?1619018265)

Email Alert with AIO+

![](https://cdn-learn.adafruit.com/assets/assets/000/101/710/medium800/sensors_If_Data-_IFTTT.jpg?1619018442)

## Alert Received

Here's what a typical alert email looks like when the feed triggers the IFTTT applet.

![sensors_alert_email.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/714/medium640/sensors_alert_email.jpg?1619021193)

# Adafruit IO+ Actions

With a paid Adafruit IO+ subscription, you can use the Actions to send an email to your account email address.

Info: 

## Actions

On Adafruit IO, click the **Actions** header, and then click the **View all** link.

![sensors_IO_-_Triggers.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/715/medium640/sensors_IO_-_Triggers.jpg?1619021423)

## New Action

Create a new action by clicking the **+ New Action** button.

![sensors_IO_-_Triggers-2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/716/medium640/sensors_IO_-_Triggers-2.jpg?1619021583)

## Reactive Action

Click on **Reactive Action**.

![sensors_IO_-_Triggers-3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/717/medium640/sensors_IO_-_Triggers-3.jpg?1619021675)

Here, you'll fill out the conditions and action to take. In this example below:

**If** door **Is** equal to 0 **Then** email me door **value and time.**

![](https://cdn-learn.adafruit.com/assets/assets/000/101/719/medium800/sensors_IO_-_Triggers-4.jpg?1619021870)

Click create and you're done! The next time your feed value equals the conditional number, you'll get an email.

# Funhouse Door Alert with Email Notification

## Code the Funhouse Door Alert

## Install CircuitPython

The first think to do is install CircuitPython on your Funhouse.[Follow this guide](https://learn.adafruit.com/adafruit-funhouse/circuitpython) to get it set up with the latest release version.

## Shhhh... Secrets

In order for the Funhouse to connect to the internet, you'll need to include a **secrets.py** file on the board that contains your WiFi access point ssid and password, as well as your AIO key.

[Follow this guide page](https://learn.adafruit.com/adafruit-funhouse/circuitpython-internet-test) to get your **secrets.py** file set up.

## Text Editor

Adafruit recommends using the Mu editor for using your CircuitPython code with the Funhouse. You can get more info in [this guide](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor).

## Download the Project Bundle

Your project will use a specific set of CircuitPython libraries and the `code.py` file. In order to get the libraries you need, click on the **Download Project Bundle** link below, and uncompress the .zip file.

Next, drag the contents of the uncompressed bundle directory onto you microcontroller board's CIRCUITPY drive, replacing any existing files or directories with the same names, and adding any new ones that are necessary.

![sensors_bundle_drag.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/726/medium640/sensors_bundle_drag.jpg?1619024588)

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

## How it Works

The Funhouse Door Alert acts a bit like a simple switch that sends out a REST message when its position is changed. To do this, you first import some libraries.

### Libraries
```python
import board
from digitalio import DigitalInOut, Direction, Pull
from adafruit_funhouse import FunHouse
from adafruit_debouncer import Debouncer
```

The `board` library provides pin definitions. `digitalio` is used to check the switch.

`adafruit_funhouse` allows simple access to the Dotstar LEDs, via the `peripherals` layer, as well as the `network` layer used to connect to the internet and send REST or MQTT messages (in the case of this project you'll use REST, which is simple and robust).

`adafruit_debouncer` make it easy to check for switch open and switch close events.

### Setup

Next you'll do some setup including setting LED color variables, creating the funhouse object, setting up the door sensor switch on the A1 pin, and creating the debouncer object on that pin.

```python
RED = 0x200000
GREEN = 0x002000
 
funhouse = FunHouse(default_bg=None)
funhouse.peripherals.dotstars.fill(RED)
 
switch_pin = DigitalInOut(board.A1)
switch_pin.direction = Direction.INPUT
switch_pin.pull = Pull.UP
switch = Debouncer(switch_pin)
```

### Send IO Data Function

You'll create a function to send either a 0 or a 1 to the AIO door feed when the switch is opened or closed.

```python
def send_io_data(door_value):
    funhouse.peripherals.led = True
    print("Sending data to adafruit IO!")
    funhouse.network.push_to_io("door", door_value)
    funhouse.peripherals.led = False
```

### Main Loop

The main loop of the program checks the switch pin with the debouncer's `switch.update()` function.

Two `if` statement do the rest. If the switch state rises, the door has just opened and the feed is sent a message with the data value `0`.

If the switch state falls, the door has just closed and the feed is sent a message with the data value `1`.

This configuration of triggering only on a state change is helpful, because it means the board won't be constantly spamming the AIO feed with data!

```python
switch.update()
    	if switch.rose:
        	print("Door is open")
        	funhouse.peripherals.play_tone(2000, 0.25)
        	funhouse.peripherals.dotstars.fill(RED)
        	send_io_data(0)
 
    	if switch.fell:
        	print("Door is closed")
        	funhouse.peripherals.play_tone(800, 0.25)
        	funhouse.peripherals.dotstars.fill(GREEN)
        	send_io_data(1)
```

# Funhouse Door Alert with Email Notification

## Build the Funhouse Door Alert

![](https://cdn-learn.adafruit.com/assets/assets/000/101/685/medium800/sensors_fundoor-1095.jpg?1618967463)

## Door Sensor

The door sensor is a type of switch called a reed switch. It consists of a wired switch and a separate magnet. When the magnet is within about 1/2" of the sensor, the internal switch mechanism is pulled open. When the magnet is further away the switch closes.

## Wire the Sensor

If your door sensor has a pair of bare wires, you'll need to join it to a JST-PH 3-pin cable.

Plug each wire of the door switch into the wire joint connector as shown. It doesn't matter which door switch wire is in which side.

Then, plug the black (ground) and white (signal) wires into the other side of the joint connector as shown. You can leave the red wire alone or snip it off, it won't be needed. If you leave it connected, you can secured it to the wiring with a knot to avoid accidental shorts.

Plug the STEMMA connector into the A1 port of the Funhouse.

![sensors_fundoor-1096.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/686/medium640/sensors_fundoor-1096.jpg?1618967768)

![sensors_fundoor-1097.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/687/medium640/sensors_fundoor-1097.jpg?1618968012)

Here's a design file for a mounting bracket -- you can use it as a template for cutting your own by hand, with a laser cutter or mill, or as a jumping off point for modeling one for 3D printing.

[FunHouse-wall-mount.svg](https://cdn-learn.adafruit.com/assets/assets/000/102/185/original/FunHouse-wall-mount.svg?1621261837)
## Mount the Funhouse

Use the 3mm screw inserts and brackets to mount the Funhouse on the wall near the door, close enough for the door sensor wiring.

![sensors_fundoor-1100.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/688/medium640/sensors_fundoor-1100.jpg?1618972061)

![sensors_fundoor-1102.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/689/medium640/sensors_fundoor-1102.jpg?1618972077)

![sensors_fundoor-1104.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/690/medium640/sensors_fundoor-1104.jpg?1618972093)

## Mount the Sensor and Magnet

Use the included screws or double-stick foam tape to mount the sensor on the door frame and the magnet to the door.

Plug the USB power into a wall outlet and power up the Funhouse.

![sensors_fundoor-1020.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/691/medium640/sensors_fundoor-1020.jpg?1618972183)

Now, when the door is opened, you'll get an alert!

![](https://cdn-learn.adafruit.com/assets/assets/000/101/693/medium800/sensors_fundoor-1018.jpg?1618972338)

![](https://cdn-learn.adafruit.com/assets/assets/000/101/731/medium800thumb/sensors_funhousedooralert.jpg?1619026533)


## Featured Products

### Adafruit FunHouse - WiFi Home Automation Development Board

[Adafruit FunHouse - WiFi Home Automation Development Board](https://www.adafruit.com/product/4985)
Home is where the heart is...it's also where we keep all our electronic bits. So why not wire it up with sensors and actuators to turn our house into an electronic wonderland. Whether it's tracking the environmental temperature and humidity in your laundry room, or notifying you when...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4985)
[Related Guides to the Product](https://learn.adafruit.com/products/4985/guides)
### Magnetic contact switch (door sensor)

[Magnetic contact switch (door sensor)](https://www.adafruit.com/product/375)
This sensor is essentially a reed switch, encased in an ABS plastic shell. Normally the reed is 'open' (no connection between the two wires). The other half is a magnet. When the magnet is less than 13mm (0.5") away, the reed switch closes. They're often used to detect when a...

In Stock
[Buy Now](https://www.adafruit.com/product/375)
[Related Guides to the Product](https://learn.adafruit.com/products/375/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)
### 2-Pin Wire Joints (3-pack)

[2-Pin Wire Joints (3-pack)](https://www.adafruit.com/product/3786)
These are the _easiest_ way possible to connect two wires - no if's, and's, or butt's! Well, actually, these are often referred to as wire butts 'cause you 'butt' two wires together (hey we didn't come up with the name!) Butt seriously folks! OK, so despite...

In Stock
[Buy Now](https://www.adafruit.com/product/3786)
[Related Guides to the Product](https://learn.adafruit.com/products/3786/guides)
### USB Type A to Type C Cable - approx 1 meter / 3 ft long

[USB Type A to Type C Cable - approx 1 meter / 3 ft long](https://www.adafruit.com/product/4474)
As technology changes and adapts, so does Adafruit. This&nbsp;&nbsp; **USB Type A to Type C** cable will help you with the transition to USB C, even if you're still totin' around a USB Type A hub, computer or laptop.

USB C is the latest industry-standard connector for...

In Stock
[Buy Now](https://www.adafruit.com/product/4474)
[Related Guides to the Product](https://learn.adafruit.com/products/4474/guides)
### 5V 2A Switching Power Supply w/ USB-A Connector

[5V 2A Switching Power Supply w/ USB-A Connector](https://www.adafruit.com/product/1994)
Our 5V 2A USB 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 adapter. We did this on purpose to...

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

## Related Guides

- [Adafruit FunHouse](https://learn.adafruit.com/adafruit-funhouse.md)
- [FunHouse 3D Printed Stand](https://learn.adafruit.com/funhouse-3d-printed-stand.md)
- [FunHouse Parking Assistant](https://learn.adafruit.com/funhouse-parking-assistant.md)
- [Adafruit IO IOT Hub with the Adafruit FunHouse](https://learn.adafruit.com/adafruit-io-hub-with-the-adafruit-funhouse.md)
- [Using the Adafruit FunHouse with Home Assistant](https://learn.adafruit.com/using-the-adafruit-funhouse-with-home-assistant.md)
- [Track a Turtle with WipperSnapper](https://learn.adafruit.com/track-a-turtle-with-wippersnapper.md)
- [Creating FunHouse Projects with CircuitPython](https://learn.adafruit.com/creating-funhouse-projects-with-circuitpython.md)
- [Hang out your washing reminder - Adafruit IO + Vibration switch](https://learn.adafruit.com/hang-out-your-washing-reminder-adafruit-io-vibration-switch.md)
- [No-Code Room Occupancy Status ](https://learn.adafruit.com/no-code-room-occupancy-status.md)
- [Quickstart: Adafruit IO WipperSnapper ](https://learn.adafruit.com/quickstart-adafruit-io-wippersnapper.md)
- [Karel The Robot In CircuitPython](https://learn.adafruit.com/karel-the-robot-in-circuitpython.md)
- [No-Code WipperSnapper Water Detection](https://learn.adafruit.com/water-detection-with-wippersnapper.md)
- [FunHouse IoT Fume Extractor and Air Quality Sensor](https://learn.adafruit.com/funhouse-fume-extractor-iot-air-quality-sensor.md)
- [FunHouse Motion Detecting Lights with LIFX Bulbs](https://learn.adafruit.com/funhouse-motion-detecting-lighting-for-lifx-bulbs.md)
- [No-Code WipperSnapper Action Counter](https://learn.adafruit.com/no-code-wippersnapper-action-counter.md)
