diff --git a/esphome/components/max7219digit/max7219digit.cpp b/esphome/components/max7219digit/max7219digit.cpp index 7d21032b8a..ec9970d1a0 100644 --- a/esphome/components/max7219digit/max7219digit.cpp +++ b/esphome/components/max7219digit/max7219digit.cpp @@ -278,7 +278,9 @@ void MAX7219Component::send64pixels(uint8_t chip, const uint8_t pixels[8]) { } } } else { - b = pixels[7 - col]; + for (uint8_t i = 0; i < 8; i++) { + b |= ((pixels[7 - col] >> i) & 1) << (7 - i); + } } // send this byte to display at selected chip if (this->invert_) {