This demo shows reading the state of a push-button from WipperSnapper. But the same kind of control can be used for reading switches, break beam sensors, and other digital sensors.

You can configure a board running WipperSnapper to read data from standard input buttons, switches, or digital sensors, and send the value to Adafruit IO.

From Adafruit IO, you will configure one of the pushbuttons on your board as a push button component. Then, when the button is pressed (or released), a value will be published to Adafruit IO.

Button Location

This example uses the board's built-in push-button and internal pull-up resistor instead of wiring a push-button up.

The ESP32-S2 TFT Feather's push button we're using in this example is located directly next to the TFT. On the silkscreen, it is identified as BOOT.

Create a Push-button Component on Adafruit IO

On the device page, click the New Component (or "+") button to open the component picker.

Search for the component name by entering push into the text box on the component picker, the list of components should update as soon as you stop typing.

Filtering and searching for components

Since WipperSnapper supports such a large number of components, you can use filtering. Try searching for various keywords, like:

  • component names: aht20servobuzzerbutton, potentiometer, etc
  • sensor types: lighttemperaturepressurehumidity, etc
  • interface: i2cuartds18x20pin, etc (also I2C addresses e.g. 0x44)
  • vendor: AdafruitASAIRInfineonBosch, Honeywell, Sensirion, etc

There are also added product and documentation links for every component. Follow the links beneath the component descriptions to be taken to the appropriate product page or Learn Guide.

Select the Push Button from the list of results to go to the component configuration page.

There will be a back button if you select the wrong component, and you can use the Edit component icon (⚙️) on the device page to update the component configuration in the future.

The "Create Push Button Component" form presents you with options for configuring the push button.

Start by selecting the board's pin connected to the push button.

The Return Interval dictates how frequently the value of the push-button will be sent from the board to Adafruit IO.

For this example, you will configure the push button's value to be only sent when the value changes (i.e. when it's either pressed or depressed).

Finally, check the Specify Pin Pull Direction checkbox and select the pull direction.

Make sure the form's settings look like the following screenshot. Then, click Create Component.

Adafruit IO sends a command to your WipperSnapper board, telling it to configure the GPIO pin you selected to behave as a digital input pin and to enable it to pull up the internal resistor.

Your board's page should also show the new push-button component.

Push the button on your board to change the value of the push-button component on Adafruit IO.

This guide was first published on Jan 12, 2022. It was last updated on Jul 14, 2024.

This page (Read a Push-button) was last updated on Mar 26, 2024.

Text editor powered by tinymce.