Skip to content

Commit

Permalink
MAX7219 dot matrix, fix for (PR #1307)
Browse files Browse the repository at this point in the history
  • Loading branch information
mbpc authored and mbpc committed Dec 1, 2023
1 parent 2a7bc7b commit 19eda3f
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions docs/MAX7219.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
# MAX7219 driver for multiple 8x8 dot matrix modules

??? failure "This feature is not included in precompiled binaries"

When [compiling your build](Compile-your-build) add the following to `user_config_override.h`:
```arduino
#define USE_DISPLAY
#define USE_DISPLAY_MAX7219_MATRIX
#define USE_UTF8_LATIN1 // optional. It defines additionaly UTF8_C2 and UTF8_C3 characters and needs +1k more memory.
```

![20211204_133243](https://user-images.githubusercontent.com/24937182/144709719-2fb4ff2c-7645-4dd8-b0a3-eccd306d63f0.jpg)
<center><img src="https://user-images.githubusercontent.com/24937182/144709723-833ff002-ef84-431a-b05f-8b7ef30e0072.jpg" width="500" border="10" /></center>

## Compile and build firmware
To use this driver, tasmota has to be [compiled](Compile-your-build) with:
``` C
#define USE_DISPLAY
#define USE_DISPLAY_MAX7219_MATRIX
#define USE_UTF8_LATIN1
```
The `#define USE_UTF8_LATIN1` is optional. It defines additionaly UTF8_C2 and UTF8_C3 characters and needs +1k more memory.

## Wiring
Connect the [MAX7219](https://www.openimpulse.com/blog/wp-content/uploads/wpsc/downloadables/MAX7219-Datasheet.pdf) [display module's](https://www.handsontec.com/dataspecs/module/MAX7219-4-In-1.pdf) pins to any free GPIOs of the ESP8266 or ESP32 module.
VCC should be 5V. Depending on the number of used modules and the brightness, the used current could be more than 1A. A seperate 5V adapter connected to the display directly could be helpfull.
Expand Down Expand Up @@ -63,10 +64,10 @@ Now, the following "Display" commands can be used:
| DisplayScrollDelay| [0..15] | default = 0. Sets the speed of text scroll. Smaller delay = faster scrolling. The maximum scroll speed is 50ms per pixel with ``DisplayScrollDelay 0``.|
| DisplayWidth | [8..256] | Sets the pixel width of the display (8x number of modules in a row) |
| DisplayHeight | [8..256] | Sets the pixel height of the display (8x number of module rows) |
| DisplayRotate | [0/2] | 0: default (whwn first module is left), 2 upside down (turns 180°, when first module is right)
| DisplayRotate | [0/2] | 0: default (when first module is left), 2 upside down (turns 180°, when first module is right)
| DisplayClock | [0/1/2] | Displays a clock. 1: 12 hr format, 2: 24 hr format, 0: turns clock off

**Note**: The DisplayClock mode is not persistent. After a restart it has to be set again or use the following rule to have clock mode permanently.
**Note**: The DisplayClock mode is not persistent. After a restart it has to be set again manually or use the following rule to have clock mode permanently.
```
rule1 on system#boot do DisplayClock 2 endon
rule1 1
Expand Down

0 comments on commit 19eda3f

Please sign in to comment.