Maker.io main logo

No-Code IoT Pool Monitor

2023-02-21 | By Adafruit Industries

License: See Original Project 3D Printing Arduino ESP32 Adafruit Feather Qwiic STEMMA

Courtesy of Adafruit

Guide by Ruiz Brothers

Overview

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

 

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

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

pool_1

pool_2

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!‎

project_3

project_4

Parts

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 diagram was created using the Fritzing software ‎package.‎

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

Circuit Diagram

WipperSnapper Setup

The WipperSnapper firmware and ecosystem are in BETA and are ‎actively being developed to add functionality, more boards, more ‎sensors, and fix bugs. We encourage you to try out ‎WipperSnapper with the understanding that it is not final release ‎software and is still in development. If you encounter any bugs, ‎glitches, or difficulties during the beta period, or with this ‎guide, please contact us via http://io.adafruit.com/support

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, a ‎web platform designed (by Adafruit!) to display, respond, ‎and interact 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 components to your board such as buttons, ‎switches, potentiometers, sensors, and more! Components ‎are dynamically added to hardware, so you can 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 to ‎create a 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

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 the guide on installing these ‎drivers.‎

Click here to download the Windows driver

Click here to download the Mac driver

Add a New Device to Adafruit IO

Log into your Adafruit IO account. Click the New Device button at ‎the top of the page.‎

account_6

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

page_7

In the board selector page's search bar, search for the QT Py ESP32 ‎Pico. Once you've located the board, you'd like to install ‎WipperSnapper on, click the Choose Board button to bring you to ‎the self-guided installation wizard.‎

search_8

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

install_9

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".‎

page_10

You should be brought to your board's device page. The next step, ‎WipperSnapper Usage, will teach you how to configure and control ‎your development board over the Internet.‎

configure_11

Feedback

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

If you have suggestions or general feedback about the installation ‎process - visit 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. ‎Make sure to click “Contact Adafruit IO Support" and select "There is ‎an issue with WipperSnapper. Something is broken!"‎

I don't see my board on Adafruit IO, it is stuck connecting to WiFi

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.‎

I don't see my board on Adafruit IO, it is stuck "Registering with ‎Adafruit IO"‎

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

If the error is still occurring, please 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.

‎"Uninstalling" WipperSnapper ‎

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. ‎

Moving from WipperSnapper to CircuitPython

Follow the steps on the Installing CircuitPython page 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 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

Then, follow the page below to upload the "Arduino Blink" sketch to ‎your board.‎

Upload Arduino "Blink" Sketch

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

WipperSnapper Overview

wippersnapper_12

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

list_13

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! ‎

You can visit this page at any time by navigating ‎to https://io.adafruit.com/wippersnapper.‎

Wippersnapper Device Page

device_14

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. ‎

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

WipperSnapper Components ‎

components_15

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! ‎

Additionally, a component also sets up a unique Adafruit IO feed to ‎store the component's data stream on the web.‎

feed_16

Do I need to set up my components every time I use WipperSnapper?‎

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 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.‎

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.‎

parts_17

Edit Design

Pool_Box.zip

Slice with settings for PLA material ‎‎

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‎

cura_18

Assemble

Solder Resister ‎‎ ‎

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.‎

solder_19

Thread wire

‎ Pass sensor through the printed Feather mount.‎‎

pass_20

pass_21

Press fit Feather‎

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

Prep Case‎

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

case_22

case_23

Thread wire‎ ‎

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

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.‎

mount_24

mount_25

Attach Lid‎

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

Hot glue is not truly waterproof and can fail when exposed to UV or ‎water. Marine 2-part epoxy is a better choice for a long-term sealed ‎connection.‎

Seal wire‎ ‎

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

seal_27

seal_26

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

place_28

制造商零件编号 5000
ESP32-S2 FEATHER STEMMA QT
Adafruit Industries LLC
制造商零件编号 381
WATERPROOF DS18B20 DIGITAL TEMPE
Adafruit Industries LLC
制造商零件编号 4474
CABLE A PLUG TO C PLUG 3'
Adafruit Industries LLC
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum