No description
Find a file
Tyeth Gundry 0158a39fc6
Merge pull request #6 from adafruit/xiao-breakout
Update boards, CI methods, Add Xiao breakout/camera SD defs
2025-08-15 16:58:59 +01:00
.github/workflows Update nightly CI to offline-mode branches 2025-08-15 16:40:17 +01:00
Wippersnapper_Boards@07c6667a1d Switch components repo to offline-mode branch 2025-08-15 16:51:10 +01:00
Wippersnapper_Components@8bcce192da Switch components repo to offline-mode branch 2025-08-15 16:51:10 +01:00
.gitignore Restore submodules and fix .gitignore 2025-08-01 15:13:10 -04:00
.gitmodules Update Wippersnapper_Components to track offline-mode branch 2025-07-31 13:28:20 -04:00
convert_all_wippersnapper_definitions.py Update definitions and readme 2025-04-25 23:02:28 +01:00
convert_boards_to_json.py Update board pins to have analog pins mixed in, and custom to have analog=pins, plus DIRECTION 2025-04-28 14:52:16 +01:00
convert_components_to_json.py Fix conversion script for degree symbol etc 2025-08-15 16:52:32 +01:00
favicon.ico Add favicon 2025-04-10 19:36:48 +01:00
fetch_latest_release_info_and_assets.py rename firmware data file 2025-04-09 13:20:45 +01:00
firmware-data.js Update assets 2025-08-15 16:55:28 +01:00
index.html Add auto config false at device config level + PCF8563 2025-08-15 16:52:33 +01:00
LICENSE Update attribution/license 2025-04-26 00:10:18 +01:00
load-wippersnapper-data.js offline-mode branch for board/component urls 2025-08-15 16:40:17 +01:00
README.md Update README.md 2025-05-13 22:04:33 +01:00
requirements.txt Fix images using product API 2025-04-09 12:52:54 +01:00
wippersnapper-config-builder.js Add auto config false at device config level + PCF8563 2025-08-15 16:52:33 +01:00
wippersnapper_boards.js Rebuild latest assets 2025-08-15 16:52:32 +01:00
wippersnapper_boards.json Rebuild latest assets 2025-08-15 16:52:32 +01:00
wippersnapper_components.js Update assets 2025-08-15 16:55:28 +01:00
wippersnapper_components.json Update assets 2025-08-15 16:55:28 +01:00

Adafruit WipperSnapper Offline Configurator

This web page is for the creation / amending of config.json files to support the free and open-source Adafruit "WipperSnapper" Offline Data Logger firmware.

It allows users to select their microcontroller board, automatically (or manually) setup the Real Time Clock (RTC) and an SD card Chip Select pin (uses default SPI bus), or any companion boards with SD cards and/or RTCs, and then the attached components (sensors, analog pins, etc) for data logging.

The page can also be used offline by including the javascript (.js) files, ideally minified (180k > 60k), and index.html (i.e. copy to your device or SD card)

Visit the site here: https://adafruit.github.io/Adafruit_Wippersnapper_Offline_Configurator/

See this Learn Guide for more info on using Adafruit Wippersnapper Firmware (offline mode) as a Data Logger, which also has the Supported Hardware page: No-Code Offline Data Logger with WipperSnapper

Development

We gratefully accept pull-requests and issues (open-source ❤️) although the main Wippersnapper repository is better suited for issues (or the boards or components repos), as this is a stop-gap solution until the main Adafruit IO website performs the desired functionality (Wippersnapper v2), but it has proven useful so maybe will continue to do so.

If you wish to play with the website design / functionality then the main files to edit are:

  • index.html
  • load-wippersnapper-data.js
  • wippersnapper-config-builder.js

The remaining files are involved in updating automatically generated board and component definitions.

Adding new components / boards / companion boards / RTCs

If you wish to add companion boards then those are manually defined (search featherwing), but boards and components should be added to WipperSnapper to be picked up automatically. If you wish to add new RTCs, they must first be added to the offline firmware, and then we/you can add the RTC to the web interface. The repositories are linked above.

Running the board+component+firmware fetching/conversion process

To recreate the build process, which processes the boards+component definitions and fetches images + firmware versions, you'll need python installed (and pip) and then to install the requirements:

pip install -r requirements.txt

Then before running you'll need to initialise the submodules with git (or download the submodules and unzip manually)

git submodule update --init

Finally run the convert script:

python ./convert_all_wippersnapper_definitions.py

And you should see output like this:

=== Conversion Complete ===
Converted 23 boards and 98 components
Time taken: 24.39 seconds
Output files:
  - C:\dev\js\Adafruit_Wippersnapper_Offline_Configurator\wippersnapper_boards.json
  - C:\dev\js\Adafruit_Wippersnapper_Offline_Configurator\wippersnapper_components.json
  - C:\dev\js\Adafruit_Wippersnapper_Offline_Configurator\firmware-data.js

That will have replaced the following files:

  • wippersnapper_boards.js + .json
  • wippersnapper_components.js + .json
  • firmware-data.js

Attribution

Written by Tyeth Gundry (with some "assistance"🤦 from Claude3.7/Copilot/GPT4), for Adafruit Industries.

Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!