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.
If you've never used WipperSnapper, click below to read through the quick start guide before continuing.
EYESPI Connector
If you have one of the newer breakouts with an EYESPI connector on the back, you can use that with an 18-pin ribbon cable to connect it either directly to an adapter board such as the EYESPI BFF for QT Py or Xiao or by using the EYESPI Breakout and wiring that to your microcontroller.
See the EYESPI pages for more information, then read the Breakout Wiring information below, and adjust that to your setup when it comes to configuring the pins in the New Component dialog.
If using the QTPy BFF, then it's as simple as selecting the RX pin for CS (chip select), and TX pin for D/C.
FeatherWing Connection
FeatherWing usage is easy, simply plug your Feather board into the FeatherWing board.
To match up the pin numbers for your feather, visit the Pinout page on your board's Product Learn Guide.
You can quickly find it via the Docs link on the Wippersnapper devices page after setting up your board.
The E-Ink Featherwing uses the same pin layout as shown in the breakout wiring below, the two required pins on the shorter side (ECS+DC) are 4 unconnected pins away from the non-USB end, and the other side has a fixed layout for SPI (MOSI/MISO/SCK) on Feathers.
If you wish to use the 3 A/B/C buttons, then confirm the pins for those on your board (marked C, B, A to the left of D/C on the featherwing image).
Breakout Wiring
If you need help with soldering, then see the Assembly page, and this guide on how to solder header pins.
First, wire up the E-Ink display to your board as described below. Alternatively you may be able to use an EYESPI connector cable with a suitable socket (like on the EYESPI BFF for QT Py & XIAO boards), or directly board-to-board if using the featherwing version. Later identify the pins by checking board+display pinout learn guide pages.
Here is an example of the 2.13" E-Ink wired to an Adafruit ESP32 Feather V2 on a breadboard with male Jumper wires (2.54mm Dupont connectors).
- VIN connects to the Feather 3V pin
- GND connects to Feather ground
- SCK connects to SPI clock. On the Feather ESP32v2 that's SCK.
- MISO connects to SPI MISO. On the Feather ESP32v2 that's MI
- MOSI connects to SPI MOSI. On the Feather ESP32v2 that's MO
-
ECS connects to the E-Ink Chip Select pin. Use Digital 15*, the white wire.
(*or you can change this to any pin) - D/C connects to SPI data/command select pin. Use Digital 33*, the blue wire.
- The SRCS (SRAM CS pin for display), Busy pin, and Reset pin are optional in this setup, but can provide improved performance and stability.
Usage
Connect your board to Adafruit IO Wippersnapper and navigate to the WipperSnapper board list.
On that page, select the WipperSnapper board you're using to be brought to the board's interface page.
This guide page assumes you have already installed WipperSnapper on your board, and it is showing as "Online" on the Devices page.
If not, then follow the quick start guide linked above, or visit the New Device page and follow the on-screen instructions.
If you do not see your board listed here - you need to connect your board to Adafruit IO first.
On the device page, quickly check that you're 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 exclamation mark "!" - 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, try searching for Display to see all the supported displays.
Since WipperSnapper supports such a large number of components, you can use keyword filtering. Try searching for various keywords, like:
- component names:
aht20,servo,buzzer,button,neopixel, etc - sensor types:
light,temperature,pressure,humidity, etc - interface:
i2c,uart,ds18x20,pin,display, etc (also I2C addresses e.g.0x44) - vendor:
Adafruit,ASAIR,Infineon,Bosch,Honeywell,Sensirion, etc - display type / driver / family:
st7789,ili0373,sh1107,seg,lcd
There are also product and documentation links for every component. Follow the links beneath the component descriptions to be taken to the appropriate product page, Learn Guide, or datasheet.
To quickly find your display, type SSD1680 into the search bar, then select the 2.9" Grayscale eInk (SSD1680) component.
On the component configuration page, the display's bus number and/or address should be listed along with the components settings.
Select all the pin options that match your wiring setup (leaving any drop-downs for any unattached pins unpopulated).
Finally choose any preferences like font size or alignment, then click Create.
After adding the component, your device page should show the newly created display component row, and the display attached to your board should refresh / turn on when the component is added.
If appropriate, your display may also show a status bar with connection info (username, connection status, WiFi strength, and battery level).
To send a message to the display, click on the Pen button at the end of the display component row, then fill in the dialog and click Send:
To send a forced line break, use the backslash symbol ( \ ) followed by the letter n for new line: \n
e.g. Line1 \n Line2\nLine3
The displays do accept true line breaks too (hitting the Enter/Return key in the text input box above, or sending \n or \r\n via JSON).
The display component is connected to a feed, which means that you can send data to the feed and have it immediately appear on screen.
This can be really useful when combined with automated Actions.
It also means there is a history of messages. To view the feed data that has been previously sent to the display, click on the graph icon at the end of the component row.
Here you can see the feed history and edit things about the feed such as the name, privacy, webhooks associated with the feed and more. If you want to learn more about how feeds work, check out this page.
Lastly, take note of the Settings Gear (⚙️) at the end of the component row, where you can alter the components configuration.
This will show you the same dialog as when you added the display, along with any advanced options. It's also where you can remove components.
Continue on with this guide, or maybe look at setting up an Action to write to the display.
Page last edited December 18, 2025
Text editor powered by tinymce.