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 (mirror).
![]() |
|---|
| 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.
To use this component, add the following to your ESPHome configuration:
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!");- data_pin (Required, pin): The GPIO pin connected to the SDA5708's
DATApin. - clock_pin (Required, pin): The GPIO pin connected to the SDA5708's
SDCLOCKpin. - load_pin (Required, pin): The GPIO pin connected to the SDA5708's
#LOADpin. - reset_pin (Required, pin): The GPIO pin connected to the SDA5708's
#RESETpin. - brightness (Optional, int): (Initial) brightness level (0-7). Can be overwritten at runtime using the
set_brightnessmethod or thesda5708.set_brightnessaction. - 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.
- char (Required, string): The character to associate with the glyph. Must be a single character or a C-style escaped character (e.g.
- 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.
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).
