Skip to content

efoverskov/wledPixel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wledPixel

ESP8266 and MAX7219 dot matrix display management

img img

The latest firmware version can be found in Releases

Supported key features:

  1. Home Assistant client [display sensor values]
  2. OpenWeatherMap client [display: temperature (C/F), humidity, pressure, wind speed, weather icon]
  3. MQTT client [each display zone support own topic]
  4. Wall NTP clock [NTP sync clock]
  5. Manual input
  6. Full controll through web UI
  7. Home Assistant MQTT discovery [When MQTT settings specified, device will be automatically send discovery message to HA]
  8. Initial setup through wifi AP and web UI
  9. Controll through MQTT
  10. Support 3 separated display zones
  11. Support 12 display segments in the same time
  12. Included 3 different fonts
  13. Symbols font
Ingredients:
  1. Dot matrix display MAX7219, something like this: https://aliexpress.ru/item/32618155357.html
  2. WeMos D1 Mini (esp8266), something like this: https://aliexpress.ru/item/32651747570.html
Firmware compiled with next parameters:
// Display pinout
#define DATA_PIN  D7                     // WeMos D1 mini or ESP8266 -> GPIO13
#define CS_PIN    D6                     // WeMos D1 mini or ESP8266 -> GPIO12
#define CLK_PIN   D5                     // WeMos D1 mini or ESP8266 -> GPIO14

First boot:

  • Device will boot in wifi access point mode and write the wifi name and password on the display.
  • AP wifi name: wledPixel-[short MAC address]
  • AP wifi password: 12345678
  • Connect to this AP and configure your wifi settings (connect to your wifi network)
  • When the device connects to the WIFI network, the device's IP address will be displayed on the zone0
  • Open the browser and go to the device IP address

Icons in Wled symbol font:

Screen Shot 2022-07-14 at 23 09 11

1 - "X"
2 - "stop"
3 - "rain"
4 - "ip:"
8 - "full light segment"
A - "calendar"
B - "windows"
C - "clouds"
D - "door"
E - "female"
F - "snowflake"
G - "key"
H - "male"
I - "alarm"
J - "clock"
K - "garbage"
L - "info"
M - "moon"
N - "message"
O - "reminder"
P - "wifi"
R - "huge rain"
S - "sun"
T - "thunderstorm"
c - "cloud"
f - "fog"
m - "cloud and moon"
r - "rain"
s - "sun and cloud"
° - "degree symbol"

MQTT topics:

  • devicePrefix/zoneN/workMode - zone work mode
  • devicePrefix/zoneN/scrolleffectIn - scroll effect IN
  • devicePrefix/zoneN/scrolleffectOut - scroll effect Out
  • devicePrefix/zoneN/scrollspeed - scroll speed
  • devicePrefix/zoneN/scrollpause - scroll pause
  • devicePrefix/zoneN/scrollalign - scroll alignment
  • devicePrefix/zoneN/charspacing - character spacing
  • devicePrefix/intensity - brightness
  • devicePrefix/zoneN/workMode - zone work mode
  • devicePrefix/power - display power control, support on / off values

where devicePrefix = wledPixel-A071 zoneN = zone number (e.g. Zone0)

Supported workMode:

workMode supported values:

  • mqttClient - MQTT client
  • manualInput - Manual static text inputed in UI
  • wallClock - NTP sync clock
  • owmWeather - Open Weather Map client
  • haClient - Home Assistant client

Wall clock

Wall clock mode support next following display options:

  • HH:MM - Hours : Minutes [21:43]
  • HH:MM:SS - Hours : Minutes : Seconds [21:43:54]
  • HH - Hours [21]
  • MM - Minutes [43]
  • dd.mm.yyyy - Day.Month.Year [21.06.2022]
  • dd.mm - Day.Month [21.06]
  • dd.mm aa - Day.Month weekday name (e.g., Sun) [21.06 Tue] *in Cyrillic font weekday name will be in Cyrillic
  • aa - Weekday name (e.g. Sun) *in Cyrillic font weekday name will be in Cyrillic

Scroll effect list

Default effects:

  • PA_RANDOM
  • PA_PRINT
  • PA_SCAN_HORIZ
  • PA_SCROLL_LEFT
  • PA_WIPE
  • PA_SCAN_VERTX
  • PA_SCROLL_UP_LEFT
  • PA_SCROLL_UP
  • PA_FADE
  • PA_OPENING_CURSOR
  • PA_GROW_UP
  • PA_SCROLL_UP_RIGHT
  • PA_BLINDS
  • PA_CLOSING
  • PA_GROW_DOWN
  • PA_SCAN_VERT
  • PA_SCROLL_DOWN_LEFT
  • PA_WIPE_CURSOR
  • PA_SCAN_HORIZX
  • PA_DISSOLVE
  • PA_MESH
  • PA_OPENING
  • PA_CLOSING_CURSOR
  • PA_SCROLL_DOWN_RIGHT
  • PA_SCROLL_RIGHT
  • PA_SLICE
  • PA_SCROLL_DOWN

Home Assistant automation example:

Send sensor value each time when a value has been changed

---
- alias: Outside temp change - send new temp to wled panel mqtt
  initial_state: 'on'
  trigger:
    platform: state
    entity_id: sensor.outside_thp_sensor_3
  action:
    - service: mqtt.publish
      data:
        topic: wledPixel-A071/zone0_text
        payload_template: "{{ states('sensor.outside_thp_sensor_3') }} C"

Change wledPixel-A071 to device name with your prefix

About

Dot matrix panel management

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 61.4%
  • C++ 38.6%