https://github.com/shadow578/esphome_sda5708
ESPHome Component for Siemens SDA5708-24 LED Matrix Display
https://github.com/shadow578/esphome_sda5708
esphome esphome-component sda5708
Last synced: 3 months ago
JSON representation
ESPHome Component for Siemens SDA5708-24 LED Matrix Display
- Host: GitHub
- URL: https://github.com/shadow578/esphome_sda5708
- Owner: shadow578
- License: other
- Created: 2026-02-25T09:53:22.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-25T18:08:43.000Z (5 months ago)
- Last Synced: 2026-02-25T21:09:27.400Z (5 months ago)
- Topics: esphome, esphome-component, sda5708
- Language: C++
- Homepage:
- Size: 46.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ESPHome Component for Siemens SDA5708-24 LED Matrix Display
this component adds support for driving a Siemens SDA5708-24 LED matrix display using ESPHome.
implementation is based on the details found on [SB-Projects' SDA5708 page](https://www.sbprojects.net/knowledge/footprints/sda5708/index.php) ([mirror](https://web.archive.org/web/20260225174854/https://www.sbprojects.net/knowledge/footprints/sda5708/index.php)).
## Wiring
|  |
| --------------------------------------- |
| SDA5708 Pinout, by SB-Projects |
The SDA5708-24 comes with a connector (Molex type 51065-0600) with six pins. The pinout is as follows:
| Pin # | Name | Notes |
| ----- | ------- | ---------------------------- |
| 1 | Vcc | +5V Power Supply |
| 2 | #LOAD | Data load/latch (active low) |
| 3 | DATA | Serial data |
| 4 | SDCLOCK | Serial clock |
| 5 | #RESET | display reset (active low) |
| 6 | GND | |
Connect `Vcc` and `GND` to the +5V and GND of your mcu's power supply.
The `#LOAD`, `DATA`, `SDCLOCK`, and `#RESET` pins can be connected to any available GPIOs on your mcu.
3.3V GPIOs work fine, but 5V is recommended.
## Usage
To use this component, add the following to your ESPHome configuration:
```yaml
external_components:
- source: github://shadow578/esphome_sda5708@main
components: [sda5708]
display:
- platform: sda5708
data_pin: GPIO3
clock_pin: GPIO13
load_pin: GPIO12
reset_pin: GPIO14
lambda: |-
it.print("Hello!");
```
### Configuration Variables
- __data_pin__ (__Required__, pin): The GPIO pin connected to the SDA5708's `DATA` pin.
- __clock_pin__ (__Required__, pin): The GPIO pin connected to the SDA5708's `SDCLOCK` pin.
- __load_pin__ (__Required__, pin): The GPIO pin connected to the SDA5708's `#LOAD` pin.
- __reset_pin__ (__Required__, pin): The GPIO pin connected to the SDA5708's `#RESET` pin.
- __brightness__ (Optional, int): (Initial) brightness level (0-7). Can be overwritten at runtime using the `set_brightness` method or the `sda5708.set_brightness` action.
- __peak_current__ (Optional, bool): Whether to limit the peak current (to ~12.5%). It is recommended to leave this at default, as limiting peak current may cause flickering.
- __rotate_screen__ (Optional, bool): Whether to rotate the screen by 180 degrees (for mounting the display upside down).
- __custom_glyphs__ (Optional, list of glyphs): A list of custom glyphs. Each entry is defined as follows:
- __char__ (Required, string): The character to associate with the glyph. Must be a single character _or_ a C-style escaped character (e.g. `\1`,).
- __glyph__ (Required, list of strings): A list of 7 strings, each representing a row of the glyph. Each string must be exactly 5 characters long.`#` represents an on pixel and ` ` (space) represents an off pixel.
- __update_interval__ (Optional, time): The interval to re-draw the screen. Defaults to `1s`.
- __lambda__ (Optional, lambda): A lambda to use for rendering the content on the display. Similar to [LCD Display](https://esphome.io/components/display/lcd_display).
#### Actions
##### `sda5708.set_brightness` Action
Set the brightness of the display. The brightness level can be an integer from 0 (off) to 7 (max brightness).
- __brightness__ (Required, int): The brightness level to set (0-7).