ESP8266 MAX7219 Message Board - HTTP and MQTT

This is not stricly an home assistant project but I wanted to share it here because it does integrate well and easily with home assistant.

At the moment it only supports message via http/https but I might add MQTT at some point, not sure.

Anyway here it is: https://github.com/rdeangel/esp8266_max7219_rda_msg_board

I’ve been using it for a few months and it does what it sets out to do.
Please note: it is intended to be driven through automations so it doesn’t display anything on its own.

I might add clock (that can be turned on and off at some point), just so it’s not totally useless without automation but that was not its original purpose.

3 Likes

No demo video?

Very nice - there was one shared a couple of years ago but it hasn’t been updated since - possibly you could look at their MQTT code?

new version with configurable MQTT.

Does it support multiple LED modules or only 4?

You specificy the number of LED Modules at 01_shared.h line 4:

#define MAX_DEVICES 4

I did not try this myself though but if I change that to 3 only the first 3 are used.

Well thank you. I have a few loose LED modules here and wanted to try and compare it to the component above which works great including simple assembly.
I have a few questions, I know uploading esp modules using ESPhome in HA and ESPflesher using a bin file, but for this component I have no idea how and what to upload to nodemcu and using which program.
Could you give more details about the procedure and the activation of your component.
I’ve read the whole thread and git and I really don’t know how to get this up and running.

Sure you have a couple of options, starting from the release page you can either

  1. download the precompiled binary esp8266_max7219_rda_msg_board_v2022.08.01.4m-nmcu.bin
    however this is not a very good option for you if you want to change the number of LED modules.
    I can precompile more bin files with different number of modules if you let me know how many you need.
  2. You can download the Source code (zip) from the release page. You’ll then need to extract the content of the zip file open the extracted folder inside it and locate the file esp8266_max7219_rda_msg_board.ino. If you don’t have arduino installed you’ll need to install the arduino program https://www.arduino.cc/en/software and open esp8266_max7219_rda_msg_board.ino which should open by default with the arduino program. You should then just be able to edit the file as indicated previously and compile/upload to your esp8266.

Let me know how many modules you have and I’ll include a version with that number of modules as .bin so you can just flash the firmware without having to use the arduino software to compile it.

If you are flashing the .bin the first time you’ll have to use a program to flash it.
I have never used it but you can try https://github.com/nodemcu/nodemcu-flasher.
After you’ve flashed it the first time you just update the firmware from the webgui over wifi.

I hope that helps.

Thank you very much for your quick reply. Yes, I already flashed the bin files to esp. I have Andruino installed and it’s been a long time since I worked with it even though the ino files were familiar. I’ll try to deal with it.
Mostly I would like to use 8 and 12 LED modules for text readability. If you don’t mind and make a compilation of bin files for these numbers of LED modules it would be easier. Thanks again.

I’ve uploaded 4m-nmcu, 8m-nmcu and 12m-nmcu firmware .bin file you can upload directly.

1 Like

Thanks for the quick response. I will build it in my lab, it will take some time. I will post the result

1 Like

I finished the test module and it works very well. I wanted to solve it myself without using a precompiled file and it worked.
I delayed a bit finding the necessary libraries to compile the component and finally edited the 01_Shared file to use 8 modules on the D1 mini and reconfigured the CS_PIN on the D6. The MQTT configuration went smoothly and I am able to send data from HA.
I just have a few questions:
1 What is the buzzer for (I don’t have it yet)?
2 Would it be possible to control the brightness of the LEDs, for example, from the HA (they will shine unnecessarily in the evening)?
I will publish further findings after familiarization, setup and testing.
Thanks for the component, it’s a great piece.

Maybe it would be good to add the nodemcu - LED module ( GPIO numbers, pin numbers ) to the documentation on git, because the component is not for complete beginners.

The buzzer tells you when a new message is received.
The number in the buzzer parameter is the quick number of repeated chirps in succession.

Please note if you specify repeat 10 the same message will repeat 10 times but the buzzer is only activated ones when the message is received. Also if you receive a second and third message before the the 10 repeats of the first message, assuming that the 2nd and third message come together the repeat will be reset and the last message will be the next message displayed along with its repeat number. In this case you might not see the 2nd message because the board does not queue messages, any new message overwrites the previous (although the current message will complete scrolling fully before the new message is displayed).
If you want to queue messages you can look at the nodered import, I have an example of queueing messages in node red.

To be precise the buzzer does not sound when you receive the message but when the received message starts displaying on first repeat.

Setting buzzer to 0 results in no sound/chirp (silent message)

I’ll treat this as a new feature but I can’t tell when I’ll have time to add it. It wasn’t in my list to be honest.
I wanted to test certificates on mqtt for secure mqtt usage over the internet but not sure if this will work well as it’s probably on the heavy side for esp devices.

Good point, sure I’ll do that.

Thank you for exhausting answer.
I assume that the buzzer used is passive?
I think a brightness control feature would be useful. In the above project, which I also compiled, there is an option to control the brightness. I set it to the smallest possible, the LEDs are placed behind dark acrylic glass and are pleasantly visible even from a greater distance.
I can create a feature request on git if you agree.

Sure no problem, I’ll do it but it might take some time.

I used an active one, for example:

On Amazon:
Electronic Buzzer Alarm, 3-24V Active Piezo Buzzer Continuous Sound Beep Speaker Electronic Buzzer Alarm Sounder

On Ebay:
Piezo Buzzer Sounder 3-24V DC 22mm Panel Mounting 95db piezoelectric 3900±500Hz