# No-Code IoT Pool Monitor

## Overview

https://youtu.be/wsjBUQ3vD_k

You can build your own IoT Pool Monitor using Adafruit IO and WipperSnapper.

This can help you keep track of water temperatures&nbsp;by logging and plotting data to a dashboard!

All of the electronics are housed in a clear&nbsp;sealed enclosure that is also water resistant.

![3d_printing_hero-ds18b.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/485/medium640/3d_printing_hero-ds18b.jpg?1667764581)

![3d_printing_place-wideB.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/486/medium640/3d_printing_place-wideB.jpg?1667764621)

This project is powered by the Feather ESP32-S2 running WipperSnapper, Adafruit’s no-code solution to IoT Projects.

Just stick the DS18B20 wire in the pool to monitor how warm it is and log that data in a custom dashboard.

With WipperSnapper you can create a beautiful dashboard with gauges and charts so you can visually monitor the warmth of your pool!

![3d_printing_hero-ws-medium.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/487/medium640/3d_printing_hero-ws-medium.jpg?1667765170)

![3d_printing_hero-table.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/488/medium640/3d_printing_hero-table.jpg?1667765225)

## Parts
Featured
### Adafruit ESP32-S2 Feather - 4 MB Flash + 2 MB PSRAM

[Adafruit ESP32-S2 Feather - 4 MB Flash + 2 MB PSRAM](https://www.adafruit.com/product/5000)
What's Feather-shaped and has an ESP32-S2 WiFi module? What has a STEMMA QT connector for I2C devices? What has your favorite Espressif WiFi microcontroller and lots of Flash and RAM memory for your next IoT project? What will make your next IoT project flyyyyy?

That's right -...

In Stock
[Buy Now](https://www.adafruit.com/product/5000)
[Related Guides to the Product](https://learn.adafruit.com/products/5000/guides)
![Angled shot of rectangular microcontroller.](https://cdn-shop.adafruit.com/640x480/5000-12.jpg)

Featured
### 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)
![Angled Shot of the Waterproof 1-Wire DS18B20 Digital temperature sensor.](https://cdn-shop.adafruit.com/640x480/381-01.jpg)

Featured
### 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...

Out of Stock
[Buy Now](https://www.adafruit.com/product/903)
[Related Guides to the Product](https://learn.adafruit.com/products/903/guides)
![Small weatherproof enclosure with clear lid.](https://cdn-shop.adafruit.com/640x480/903-00.jpg)

Featured
### Lithium Ion Battery Pack - 3.7V 4400mAh

[Lithium Ion Battery Pack - 3.7V 4400mAh](https://www.adafruit.com/product/354)
Need a big battery for your project? This lithium-ion pack is made of 2 balanced 2200mAh cells for a total of 4400mA capacity! The cells are connected in parallel and spot-welded to a protection circuit that provides over-voltage, under-voltage, and over-current protection.

Each cell can...

In Stock
[Buy Now](https://www.adafruit.com/product/354)
[Related Guides to the Product](https://learn.adafruit.com/products/354/guides)
![Angled Shot of the Lithium Ion Battery Pack - 3.7V 4400mAh](https://cdn-shop.adafruit.com/640x480/354-03.jpg)

Featured
### 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)

# No-Code IoT Pool Monitor

## Circuit Diagram

The wiring diagram below provides a visual reference for connecting the components. It is not true to scale, it is just meant to be used as reference. This diagrams was created using the&nbsp;[Fritzing software package](http://fritzing.org/download/).

Take a moment to review the components in the circuit diagram. This illustration is meant for&nbsp;referencing wired connections - the length of wire,&nbsp;position and size of components are not exact.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/116/501/medium800/3d_printing_circuit-diagram.jpg?1667786178)

# No-Code IoT Pool Monitor

## WipperSnapper Setup

Warning: 

## What is WipperSnapper

WipperSnapper is a firmware designed to turn any WiFi-capable board into an Internet-of-Things device without programming a single line of code. WipperSnapper connects to [Adafruit IO](https://io.adafruit.com/), a web&nbsp;platform designed ([by Adafruit!](https://www.adafruit.com/about)) to&nbsp;_display_,&nbsp;_respond_, and&nbsp;_interact_&nbsp;with your project's data.

Simply load the WipperSnapper firmware onto your board, add credentials, and plug it into power. Your board will automatically register itself with your Adafruit IO account.

From there, you can add&nbsp;_components_&nbsp;to your board such as buttons, switches, potentiometers, sensors, and more! Components are&nbsp;_dynamically&nbsp;_added to hardware, so you can&nbsp;immediately start interacting, logging, and streaming the data your projects produce without writing code.

## Sign up for Adafruit.io

You will need an Adafruit IO account to use WipperSnapper on your board. If you do not already have one, head over to [io.adafruit.com](https://io.adafruit.com/) to create a&nbsp;_free_ account.

## Install USB Driver

### Install CP2104 / CP2102N USB Driver

Many ESP32 boards have a USB-to-Serial converter that talks to the chip itself, and will need a driver on your computer's operating system. The driver is available for Mac, Windows, and Linux.

[Click here to download the CP2104/CP2102N driver](http://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)
### Install CH9102 / CH34X USB Driver

Newer ESP32 boards have a different USB-to-serial converter that talks to the chip itself, and will need a driver on your computer's operating system. The driver is available for Mac and Windows. It is already built into Linux.

If you would like more detail, check out&nbsp;[the guide on installing these drivers](https://learn.adafruit.com/how-to-install-drivers-for-wch-usb-to-serial-chips).

[Click here to download the Windows driver](http://www.wch-ic.com/downloads/CH341SER_ZIP.html)
[Click here to download the Mac driver](http://www.wch-ic.com/downloads/CH34XSER_MAC_ZIP.html)
## Add a New Device to Adafruit IO

Log into your [Adafruit IO](https://io.adafruit.com/) account. Click the _New Device_ button at the top of the page.

![](https://cdn-learn.adafruit.com/assets/assets/000/112/548/medium800/wippersnapper_setup__board_selector__web__new_device_1.png?1655919766)

After clicking New Device, you should be on the _board selector_ page. This page displays every board that is compatible with the WipperSnapper firmware.

![](https://cdn-learn.adafruit.com/assets/assets/000/112/550/medium800/wippersnapper_setup__board_selector__web__selector_maion.png?1655920178)

In the board selector page's search bar, search for the _QT Py ESP32 Pico__.&nbsp;_Once you've located the board you'd like to install WipperSnapper on,_&nbsp;_click the&nbsp;_Choose Board_&nbsp;button to bring you to the self-guided installation wizard.

![](https://cdn-learn.adafruit.com/assets/assets/000/113/136/medium800/adafruit_products_qtpy_32_pico.png?1657648825)

Follow the step-by-step instructions on the page to install Wippersnapper on your device and connect it to Adafruit IO.

![](https://cdn-learn.adafruit.com/assets/assets/000/120/541/medium800/adafruit_products_qtpy_esp32_ss.png?1682710491)

If the installation was successful, a popover should appear displaying that your board has successfully been detected by Adafruit IO.

Give your board a name and click "Continue to Device Page".

![](https://cdn-learn.adafruit.com/assets/assets/000/113/138/medium800/adafruit_products_qtpy_pico.png?1657648851)

You should be brought to your board's device page.

![](https://cdn-learn.adafruit.com/assets/assets/000/113/139/medium800/adafruit_products_qtpy_32_pico_device_page.png?1657648859)

## Feedback

Adafruit.io WipperSnapper is in **beta** and you can help improve it!

If you have&nbsp; suggestions or general feedback about the installation process - visit [https://io.adafruit.com/support](https://io.adafruit.com/support), click _"Contact Adafruit IO Support"_ and select _"I have feedback or suggestions for the WipperSnapper Beta"._

## Troubleshooting

If you encountered an issue during installation, please try the steps below first.

If you're still unable to resolve the issue, or if your issue is not listed below, get in touch with us directly at [https://io.adafruit.com/support](https://io.adafruit.com/support "https://io.adafruit.com/support"). Make sure to click&nbsp; _"Contact Adafruit IO Support"_ and select "_There is an issue with WipperSnapper. Something is broken!"_

### 

First, make sure that you selected the correct board on the board selector.

Next, please make sure that you entered your WiFi credentials properly, there are no spaces/special characters in either your network name (SSID) or password, and that you are connected to a 2.4GHz wireless network.

If you're still unable to connect your board to WiFi, please [make a new post on the WipperSnapper technical support forum with the error you're experiencing, the LED colors which are blinking, and the board you're using.](https://forums.adafruit.com/viewforum.php?f=66)

### 

Try hard-resetting your board by unplugging it from USB power and plugging it back in.

If the error is still occurring, please&nbsp;[make a new post on the WipperSnapper technical support forum with information about what you're experiencing, the LED colors which are blinking (if applicable), and the board you're using.](https://forums.adafruit.com/viewforum.php?f=66)

## "Uninstalling" WipperSnapper&nbsp;

WipperSnapper firmware is an application that is loaded onto your board. There is nothing to "uninstall". However, you may want to "move" your board from running WipperSnapper to running Arduino or CircuitPython. You also may need to restore your board to the state it was shipped to you from the Adafruit factory.&nbsp;

### Moving from WipperSnapper to CircuitPython

Follow the steps on the [Installing CircuitPython page](https://learn.adafruit.com/welcome-to-circuitpython/installing-circuitpython) to install CircuitPython on your board running WipperSnapper.

- If you are unable to double-tap the RST button to enter the UF2 bootloader, follow the _"Factory Resetting a WipperSnapper Board"_ instructions below.

Uploading this sketch will overwrite WipperSnapper. If you want to re-install WipperSnapper, follow the instructions at the top of this page.

### Moving from WipperSnapper to Arduino

If you want to use your board with Arduino, you will use the Arduino IDE to load&nbsp;_any_ sketch onto your board.

First, follow the page below to set up your Arduino IDE environment for use with your board.

[Arduino IDE Setup](https://learn.adafruit.com/adafruit-qt-py-esp32-pico/arduino-ide-setup)
Then, follow the page below to upload the "Arduino Blink" sketch to your board.

[Upload Arduino "Blink" Sketch](https://learn.adafruit.com/adafruit-qt-py-esp32-pico/blink)
Uploading this sketch will overwrite WipperSnapper. If you want to re-install WipperSnapper, follow the instructions at the top of this page.

### Factory Resetting a WipperSnapper Board

Sometimes, hardware gets into a state that requires it to be "restored" to the original state it shipped in. If you'd like to get your board back to its original factory state, follow the guide below.

[Factory Reset Adafruit QT Py ESP32 Pico](https://learn.adafruit.com/adafruit-qt-py-esp32-pico/factory-reset)
# No-Code IoT Pool Monitor

## WipperSnapper Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/104/839/medium800/sensors_device.jpg?1632501715)

Ok - you've connected your board to WipperSnapper. _Now what?_

This page will give you a quick tour of Adafruit IO WipperSnapper and its core features.

## WipperSnapper Device List
![](https://cdn-learn.adafruit.com/assets/assets/000/103/179/medium800thumb/adafruit_products_Kapture_2021-06-28_at_15.14.52.jpg?1624907789)

The Device List page provides a list of the devices you've connected to Adafruit IO WipperSnapper along with their connection status.

Think of it as a virtual inventory for your boards!&nbsp;

You can visit this page at any time by navigating to [https://io.adafruit.com/wippersnapper](https://io.adafruit.com/wippersnapper).

## Wippersnapper Device Page
![](https://cdn-learn.adafruit.com/assets/assets/000/103/075/medium800/adafruit_products_devicepage.png?1624636103)

Clicking on a device from the Devices List page will bring you to its device page. This page is an interface to configure and interact with anything physically connected to your device.

You may think of it as the state of your device at any given time.&nbsp;

When you register a device for the first time, this page will be empty, it's a clean slate!

## WipperSnapper Components&nbsp;
![](https://cdn-learn.adafruit.com/assets/assets/000/103/180/medium800thumb/adafruit_products_Kapture_2021-06-28_at_15.17.58.jpg?1624907893)

A "_component_" in WipperSnapper denotes anything which is physically connected to your hardware.

This can include sensors, buttons, LEDs, NeoPixels, displays, and more!

When you click **New Component,** your hardware will _automatically_ connect to and configure the component using the settings you specified. No coding required!&nbsp;

Additionally, **a component also sets up a unique [Adafruit IO feed](https://learn.adafruit.com/adafruit-io-basics-feeds) to store the component's data stream on the web.**

![](https://cdn-learn.adafruit.com/assets/assets/000/103/168/medium800thumb/adafruit_products_Kapture_2021-06-28_at_12.01.13.jpg?1624896488)

### 

 **Nope!** WipperSnapper remembers each component's configuration for each of your boards. The "state" of your board's configuration is saved to its device page.

When you re-connect a board to WipperSnapper, it will automatically re-configure every component listed on the Device Page. The most recent value stored on each component's feed will be sent to the device.

## I do not see my the component I want to use listed in the component picker pop-up

We're actively working towards adding more components and component types to Adafruit Wippersnapper.

We also gladly take community contributions to Adafruit IO - [You can add your own component by following this guide.](https://learn.adafruit.com/how-to-add-a-new-component-to-adafruit-io-wippersnapper)

# No-Code IoT Pool Monitor

## 3D Printing

## Parts List

STL files for 3D printing are oriented to print "as-is" on FDM style machines. Parts are designed to 3D print without any support material. Original design source may be downloaded using the links below.

![3d_printing_3d-part.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/489/medium640/3d_printing_3d-part.jpg?1667777679)

[Edit Design](https://a360.co/3NR8Cqr)
[Pool_Box.zip](https://cdn-learn.adafruit.com/assets/assets/000/116/522/original/Pool_Box.zip?1667947424)
## Slice with settings for PLA material&nbsp;

The parts were sliced using CURA using the slice settings below.

- PLA filament 220c extruder
- 0.2 layer height
- 10% gyroid infill
- 60mm/s print speed
- 60c heated bed  
  

## Supports

- Support Extrusion Width: .2
- Support Density: 4%
- Support Overhang Angle: 50
- Support Z Height: .21
- Interface: On
- Support Roof: On
- Support Pattern: Zig Zag

## Build Plate Adhesion

- Type: brim
- Line Count: 6

![3d_printing_slice.gif](https://cdn-learn.adafruit.com/assets/assets/000/116/490/medium640thumb/3d_printing_slice.jpg?1667777718)

# No-Code IoT Pool Monitor

## Assemble

## Solder Resister&nbsp;

&nbsp;

Gently bend the ends of the resistor to fit between the 3v and 12 pins. Position on the back side of the board (flat side of the Feather board). Follow the diagram to solder the wires to each pin.

![3d_printing_feather-assemble.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/491/medium640/3d_printing_feather-assemble.jpg?1667777924)

## Thread wire

Pass sensor through the printed Feather mount.

## Press fit Feather

Align the stand-offs on the mount to the screw holes on the Feather and press fit the board into place.&nbsp;

![3d_printing_mount-thread.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/492/medium640/3d_printing_mount-thread.jpg?1667778412)

![3d_printing_mount-feather.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/493/medium640/3d_printing_mount-feather.jpg?1667778481)

## Prep Case

&nbsp;

The DS18B20 fits through a 1/4" drill hole. The clear plastic case has markings to make a hole in the center.

## Thread wire

&nbsp;

Pass the sensor through the hole and align the printed mount to the two screw holes.

![3d_printing_case-drill.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/494/medium640/3d_printing_case-drill.jpg?1667778615)

![3d_printing_case-thread.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/495/medium640/3d_printing_case-thread.jpg?1667778679)

## Mount Feather

Use the included screws to fasten the printed mount to the case.

Place the lipo battery next the feather and connect to the JST port.

## Attach Lid

&nbsp;

Place the lid over the case and fasten with the included screws.

![3d_printing_case-mounted.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/496/medium640/3d_printing_case-mounted.jpg?1667778773)

![3d_printing_case-top.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/497/medium640/3d_printing_case-top.jpg?1667778879)

Warning: 

## Seal wire

&nbsp;

Carefully apply hot glue over the hole to seal the case.

![3d_printing_case-glue.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/498/medium640/3d_printing_case-glue.jpg?1667778967)

![3d_printing_case-glued.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/499/medium640/3d_printing_case-glued.jpg?1667779038)

## Place Case

&nbsp;

Place the case at a corner of the pool and submerge the DS18B20 wire into the pool to start capturing data!

![3d_printing_hero-wide.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/500/medium640/3d_printing_hero-wide.jpg?1667780481)


## Guide Products

### Adafruit ESP32-S2 Feather - 4 MB Flash + 2 MB PSRAM

[Adafruit ESP32-S2 Feather - 4 MB Flash + 2 MB PSRAM](https://www.adafruit.com/product/5000)
What's Feather-shaped and has an ESP32-S2 WiFi module? What has a STEMMA QT connector for I2C devices? What has your favorite Espressif WiFi microcontroller and lots of Flash and RAM memory for your next IoT project? What will make your next IoT project flyyyyy?

That's right -...

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

Out of Stock
[Buy Now](https://www.adafruit.com/product/903)
[Related Guides to the Product](https://learn.adafruit.com/products/903/guides)
### Lithium Ion Battery Pack - 3.7V 4400mAh

[Lithium Ion Battery Pack - 3.7V 4400mAh](https://www.adafruit.com/product/354)
Need a big battery for your project? This lithium-ion pack is made of 2 balanced 2200mAh cells for a total of 4400mA capacity! The cells are connected in parallel and spot-welded to a protection circuit that provides over-voltage, under-voltage, and over-current protection.

Each cell can...

In Stock
[Buy Now](https://www.adafruit.com/product/354)
[Related Guides to the Product](https://learn.adafruit.com/products/354/guides)
### Adafruit IO+ Subscription Card

[Adafruit IO+ Subscription Card](https://www.adafruit.com/product/4443)
These are for freebies only! If you like to purchase one for yourself, here's the store version! https://www.adafruit.com/product/3980

Out of Stock
[Buy Now](https://www.adafruit.com/product/4443)
[Related Guides to the Product](https://learn.adafruit.com/products/4443/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)

## Related Guides

- [Adafruit ESP32-S2 Feather](https://learn.adafruit.com/adafruit-esp32-s2-feather.md)
- [Compost Friend!](https://learn.adafruit.com/compost-optimization-machine.md)
- [Apple //e Emulator on Fruit Jam](https://learn.adafruit.com/apple-e-emulator-on-fruit-jam.md)
- [Fisher-Price USB Controller](https://learn.adafruit.com/fisher-price-usb-controller.md)
- [Star Illusion: Laser Cut Audio-Reactive Light with WLED](https://learn.adafruit.com/star-illusion-laser-cut-audio-reactive-light-with-wled.md)
- [Espresso Water Tank Meter](https://learn.adafruit.com/espresso-water-tank-meter.md)
- [Hacking the Teenage Engineering EP-2350 Ting](https://learn.adafruit.com/hacking-the-teenage-engineering-ep-2350-ting.md)
- [Mini GIF Players](https://learn.adafruit.com/mini-gif-players.md)
- [Plotting Offline Data - JSONL to CSV files, filters and graphs](https://learn.adafruit.com/plotting-offline-data-jsonl-to-csv-files-filters-and-graphs.md)
- [MagTag Dishwasher Status](https://learn.adafruit.com/magtag-dishwasher-status.md)
- [Cyber Cat MIDI Keyboard](https://learn.adafruit.com/midi-cyber-cat-keyboard.md)
- [Demofruit: Demoscene for Fruit Jam](https://learn.adafruit.com/demo-jam-fruit-scene.md)
- [Laser-Cut Layered LED Art Panel (Wood + Acrylic) with WLED](https://learn.adafruit.com/laser-cut-layered-led-art-panel-wood-acrylic-with-wled.md)
- [FunHouse Mail Slot Detector](https://learn.adafruit.com/funhouse-mail-slot-detector.md)
- [ESP-NOW in CircuitPython](https://learn.adafruit.com/esp-now-in-circuitpython.md)
- [Retroreflective Greenscreen Light Ring QT Py Controller ](https://learn.adafruit.com/retroreflective-green-screen-light-ring-controller.md)
