Low-Power Digital Signage
Use the Notecard and Notehub.io to keep a fleet of digital displays synchronized across a facility.
To run this project yourself you'll need to:
- Configure Notehub.
- Purchase the necessary hardware.
- Format and load images for display onto an SD Card.
- Flash the project’s firmware.
- Update environment variables to display text and images.
Notehub
The Low Power Digital Signage app runs on top of Notehub. As such, to run this sample you’ll need to create a Notehub account, start a new Notehub project, and configure a handful of environment variables.
Creating a New Project
- Sign up for a free Notehub account, if you don’t have one already.
- Click the blue Create Project button in the top-right corner of the screen.
- Give the project a name, such as "Break Room Signs", and then click the next Create Project button.
Configuring Environment Variables
The app uses environment variables for storing project settings that need to be shared and synchronized across devices.
For this project all environment variables need to be set up at the fleet level, allowing you to configure different settings on different groups of devices, if necessary.
Notehub creates an initial fleet for you when you start a new project, and you can use that for setting your initial variables.
-
Navigate to your fleet in the navigation menu, and then click the Settings link.
-
Click the Environment tab.
-
Scroll down to the Fleet environment variables heading, and define the two variables below.
display_values
which is a semicolon-delimited (;
) string of text to display and/or bitmap images to load from an SD card to the e-ink display. If this variable has a single value (either text or an image name), that will be loaded. Otherwise, the values are loaded into an array and the host will display one item at a time using thedisplay_interval_sec
variable or a default value, if not set.display_interval_sec
is the number of seconds to display text or an image on the screen before rotating to the next item in the list.
-
With both defined, click the blue Save button.
With this your Notehub backend is fully configured, and you’re ready to start setting up your hardware.
Hardware
The following hardware is required to run the Low Power Digital Signage project.
- Blues Notecard
- Blues Notecarrier B
- Blues Swan
- 2.13" Tri-Color e-Ink Display FeatherWing
- Qwiic Cable
- A MicroSD card if you plan to display bitmap images on the screen.
- 2x LiPo Batteries of any size, like these from Adafruit or from Blues.
Additionally, if you want to place the project on a stand, this 3D printed stand is perfect for the 2.13" display. You'll also need some M2.5 thread machine screws and nuts to connect the display to the stand.
The Swan microcontroller plugs into the Feather slot on the back of the display and is connected to the Notecard and Notecarrier B via the Qwiic cable, as shown in the image below.
NOTE: For a detailed look at how to connect the hardware, refer to the Notecard and Notecarrier B quickstart guide.
With the hardware assembled you next need to get the project’s firmware running on your device.
Format Images for Display
The assets/bitmap/ folder contains a number of bitmaps formatted for the 2.13" display. Simply copy these onto the root of a FAT formatted MicroSD card, and the firmware for this project will detect them.
If you want to show your own images on the display, see this guide for detailed instructions on formatting and saving images for e-ink displays. Make sure to crop your images to 250x122 for display on the 2.13" screen.
Firmware
The Low Power Digital Signage project has custom firmware that runs on the Swan. As a next step, complete the firmware’s setup guide to get your firmware up and running.
Update Environment Variables
Once the app is running, you can update the display using the environment variables above, either using the Notehub UI or one of the shell scripts in the scripts
folder.
The scripts use the Notehub API, so you'll need follow the instructions here to get an authentication token.
You'll also need your Notehub project's UID, which you can find in the Settings
screen. For setting fleet variables, you'll need the Fleet UID, which you can find on the Settings
tab for your fleet. For device variables, you need the Device UID, which you can find on the device screen.
./update-device.sh -p app:1234 -d dev:5678 -t <your token> -i 45 -v 'Hello Notecard!;banner-ad.bmp;bluesio.bmp;Happy Wednesday;notecard_8bit.bmp;bw_logo.bmp;icon.bmp;logo.bmp;notecard.bmp'