1
N.A.N.Y. 2022 / NANY 2022: Tickertape using dotmatrix displays (IoT/ESPEasy)
« on: December 31, 2021, 05:13 AM »NANY 2022 Entry Information
Application Name | Dotmatrix display support for ESPEasy |
Version | 2021-10 |
Short Description | Use 8x8 dotmatrix displays to build a tickertape display |
Supported OSes | ESP8266/ESP32 microcontrollers |
Web Page | ESPEasy documentation for the plugin |
Download Link | Github releases page for ESPEasy (use the DISPLAY build) |
System Requirements |
|
Version History |
|
Author | Ath |
Description
I've been helping with some development on the ESPEasy platform, a firmware for ESP8266/ESP8285 and ESP32 WiFi enabled microcontrollers, for some time. (See also my entry for NANY 2021)
By request on the ESPEasy Github issue tracker, there was a desire to add support for dotmatrix display using the MAX7219 chip.
I found an open source Arduino library that has quite extensive support for these chips/displays, called Parola, that offers some fancy features for displaying all kinds of information on such displays.
After some investigation, I found that, with some work, I could add that as a feature to ESPEasy.
The hard parts were in a) getting the library to work with ESPEasy without triggering watchdog resets, and b) designing and building a usable UI for configuration.
a) was solved by adding some 'yield()' calls, allowing for background tasks and the watchdog to process as needed.
b) was solved by getting feedback from other developers on the project
Features
- Display text, with several effects including a tickertape style, on groups (zones) of such display modules
- User defined zones from 1 to 254 of display modules
- Use of variable content, like date/time, or measured values like temperature etc.
- Brightness control per zone
- Draw bar-graphs on groups (zones) of displays
- Address separate pixels of each display
- Repeating content display
Planned Features
Any reasonable request that comes in
Screenshots
A group of displays showing some different content:
Display contents:
- Date (DD-MM) with animation
- Date (YYYY-MM-DD) with animation (scroll left, in progress)
- Clock (24h), updated every minute, no animation, no flashing colon
- Date/Time (YYYY-MM-DD HH:mm) with animation (scroll left, in progress)
- Bar-graph with 3 bars, type 2 (single line) mimicking temperatures (-14, +4, +26) on a +40 to -20 (left to right) scale and a zero-point around 1/3rd from the right (the left module reflected weirdly in the photo, but it does work)
- Text (ESPEasy is great fun!) with animation (scroll left, in progress)
Top-right is a 'proper power supply', as these displays can use quite some current when many LEDs are lit.
Bottom-left is the ESP8266 controller (a Wemos D1 mini clone)
Between the controller and the bottom display is a level converter for 3V3 to 5V.
The configuration of the zones: (from the documentation page, linked above)
(For details best visit the official documentation page)
Usage
Installation
- Download the latest ESPEasy release from the Github releases page.
- Extract the entire .zip file in an empty folder
- Start the ESP.Easy.Flasher.exe (Windows) or get the esptool flash tool for other OS-es)
- Select the .bin file with 'DISPLAY' in the name (either ESP8266 or ESP32, depending on the controller used) or 'MAX' when using an ESP32 with 16 MB Flash
- Upload the .bin file (for ESP32 initially the '-factory.bin' should be used) to the controller.
- After successful completion, reset the controller
- Connect to the WiFi Accesspoint exposed by the unit (ESP-Easy, ESP32 or MAX-ESP32), password 'configesp'
- Enter the credentials for your WiFi network the ESP controller can connect to (2.4GHz only)
- Find the ip-address of the using, either by looking at the log available via the USB serial link, your WiFi router or network scanning tool
- Open a webbrowser with the ip-address to the unit to configure the device
- On the Devices page add the 'Display - MAX7219 dot matrix' plugin to the task list, give it a name, and configure using the documentation
- Connect the hardware as suggested in the documentation
- Enable the plugin, and enjoy the display
Uninstallation
Disconnect the device.
Install another firmware on the controller.
Delete all downloaded and extracted files.
Tips
Use a decent power supply to power the displays!
Known Issues
Toying with IoT stuff can be addictive