Overview
One-wire temperature sensors like the DS18B20 can measure temperature with a minimal amount of hardware and wiring. These sensors use a digital protocol to send accurate temperature readings directly to your development board without the need for an analog-to-digital converter or other extra hardware. You can get one-wire sensors in different form factors like waterproof and high-temperature probes--these are perfect for sensing temperature in many different projects and applications. With just a few connections and a WipperSnapper device, you'll be sensing temperature in no time!
This guide explores how to connect a DS18B20 one-wire temperature sensor to a board supported by the WipperSnapper firmware. You'll send its temperature data to be logged by Adafruit IO. All without any code!
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.
Page last edited March 08, 2024
Text editor powered by tinymce.
Wiring
Wiring
Connect your DS18B20 sensor to a digital input on your development board. You'll also need to add the 4.7 KΩ pull-up resistor to the signal line to ensure the board can read the sensor. Here's an example of wiring a standalone DS18B20 to a Feather ESP32 V2 board:
- Left-most leg of the sensor (with the flat part facing you) to board ground.
- Middle leg of the sensor to board D14.
- Right-most leg of the sensor to board 3.3V.
- 4.7 KΩ resistor connected to both the middle leg (data) and right-most leg (3.3V).
Or if you're using a waterproof or high-temperature probe, here's an example of the wiring to a Feather ESP32 V2 board:
- Black wire (or solid white on high-temperature probe) to board ground.
- Orange wire (or white with a blue stripe on high-temperature probe) to board D14.
- Red wire (or white with an orange stripe on high-temperature probe) to board 3.3V.
- 4.7KΩ resistor connected to both the data line on one side (D14) and the power line (3.3V) on the other side
Page last edited March 08, 2024
Text editor powered by tinymce.
WipperSnapper Setup
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.
Add a New Device to Adafruit IO
Log into your Adafruit IO account. Click the New Device button at the top of the page.
After clicking New Device, you should be on the board selector page. This page displays every board that is compatible with the WipperSnapper firmware.
In the board selector page's search bar, search for the Feather ESP32 V2. 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.
Follow the step-by-step instructions on the page to install Wippersnapper on your device and connect it to Adafruit IO.
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".
You should be brought to your board's device page.
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!"
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.
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.
Then, follow the page below to upload the "Arduino Blink" sketch to your board.
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.
Page last edited March 08, 2024
Text editor powered by tinymce.
WipperSnapper
Usage
Assuming you have already gone through the WipperSnapper Setup page and connected your board to WipperSnapper, navigate to the WipperSnapper board list.
On this page, select the WipperSnapper board you just connected.
- If you do not see your board listed - go back to the WipperSnapper Setup Page and make sure it registers with Adafrut.io
On the device page, quickly check that your device is online and is running the latest version of the WipperSnapper firmware.
The device tile on the left indicates the version number of the firmware running on the connected board.
- If the firmware version is green with a checkmark - continue with this guide.
- If the firmware version is red with an "X" - update to the latest WipperSnapper firmware on your board before continuing.
Click the New Component button or the + button to bring up the component picker.
Adafruit IO supports a large amount of components. To quickly find your sensor, type DS18B20 into the search bar, then select the image matching your DS18B20 sensor.
On the component configuration page, the DS18B20's pin and resolution can be changes, along with selecting some or all of the available metrics to be published.
First, select pin D14 as the DS18B20 Pin.
Next, select how you'd like the temperature to be displayed on Adafruit IO.
- Adafruit is located in New York. We've selected the degrees Fahrenheit option to match our locale.
Then, set the Send Every measurement option to Every 30 seconds
- The Send Every option tells the sensor how often to report new measurements to Adafruit IO. The measurement interval can range from every 30 seconds to every 24 hours.
Finally, click Create Component
Your device interface should now show a new block displaying the value of the DS18B20 component. After the sensor measurement interval elapses, WipperSnapper will automatically read the temperature value from the DS18B20 and send it to Adafruit IO.
Sensor data is also logged to Adafruit IO and retained for up to 60 days (on IO Plus, Paid, plans)!
To view the data that has been logged from the sensor, click on the graph icon.
Here you can see the sensor's history and edit things about the feed such as the privacy, webhooks associated with the data feed, and more. If you want to learn more about how feeds work, check out this page.
For IO Free accounts, feed data is stored for a maximum of 30 days and there's a maximum of 10 feeds. You also get 2 WipperSnapper devices in the free plan (IO+ has unlimited), but normal Adafruit IO Web/MQTT clients do not count against this limit.
In this guide you created one WipperSnapper device, and one WipperSnapper component (DS18B20), which automatically created one feed for each of the enabled component metrics, e.g. one for Temperature in degrees Fahrenheit and an additional one if you enable the reporting of Temperature in degrees Celsius.
If you’d like to store data for more than 30 days, increase the number of feeds (components), add additional devices you can use with WipperSnapper, or increase your data rate to send more sensor measurements to Adafruit IO - upgrade your account to Adafruit IO Plus.
Page last edited March 08, 2024
Text editor powered by tinymce.