WS2812b Matrix with Dual-Controller Clock and WLED

Ғылым және технология

This a 400-pixel WS2812b matrix using dual controllers for a clock, scoreboard, countdown timer and text display, PLUS all the features of WLED.
With 40+ MQTT reported states and 30+ MQTT commands, full integration and automation with Home Assistant, Node-RED or other platforms is possible.
Full build details, parts list and more can be found at:
resinchemtech.blogspot.com/20...
Arduino code for the clock, 3D parts .stl files and instructions for configuration, settings and MQTT commands can be found at:
github.com/Resinchem/LED-Matr...
And if you'd like to build your own WLED controller, details are available at:
resinchemtech.blogspot.com/20...
#wled
#ledmatrix
#esp8266

Пікірлер: 31

  • @andrewstallard1897
    @andrewstallard18973 жыл бұрын

    You did a great job on this. Thanks for the video. I now have some ideas to continue with my 8x32 flexible strips. I just couldn't seem to figure out how to scroll text. I really like the way you have it set up in home assistant.

  • @ResinChemTech

    @ResinChemTech

    3 жыл бұрын

    Thanks! Glad it gave you some ideas. Scrolling text is still on my list of enhancements. Currently, the effects don't include that option. I can shift a full letter position at a time, but not the smooth scrolling effect that I want. I have a few other projects in process right now, but I hope to come back to this one soon.

  • @Sparky_D
    @Sparky_D2 жыл бұрын

    Nice job mate!

  • @ResinChemTech

    @ResinChemTech

    2 жыл бұрын

    Thanks! I hope you found it helpful for your own future projects. And thanks for taking time to watch and comment!

  • @boopeshkumarprabhakaran
    @boopeshkumarprabhakaran2 жыл бұрын

    this is supercool to watch

  • @ResinChemTech

    @ResinChemTech

    2 жыл бұрын

    Thank you! I'm considering upgrading the WLED to the new sound reactive version. But to do so (and get the matrix effects), I have to replace the existing ESP8266 with an ESP32... meaning an entire new board and controller. It's on the list, but not sure when I'll get to it. Most of the time, the matrix is in clock mode. Thanks for commenting!

  • @boopeshkumarprabhakaran

    @boopeshkumarprabhakaran

    2 жыл бұрын

    @@ResinChemTech I would really appreciate you to do that.. And make a video on that... As even me planning to flash wledSR in esp32... It would. Be really. Helpful if you do That in future.. Even i guess many are moving to SR builds with esp32.. And appreciate your response and efforts.. Keep rocking 🔥

  • @unlock-er
    @unlock-er Жыл бұрын

    I like this very much, but cool you think you are able to simplify on either your blog post or a new video just for clock on top half and text on bottom half?

  • @ResinChemTech

    @ResinChemTech

    Жыл бұрын

    Thanks... glad you like it. However, the way the code works, each of the numbers and letters are designed for a block or "zone" of the LEDs in the matrix. Moving the "text" block to the area under the clock would require some pretty substantial changes and rewrites to the code to alter how the current letters/numbers are laid out on the matrix. It would also involve changing the code logic to combine the current procedures that display the clock/temperature in one mode and the text in another mode to instead show the time and a row of text. It's definitely something that can't be done in just the front end... and not something that could be done easily by just changing a few lines of code. Unfortunately, I simply don't have the time to investigate making these changes based on my current projects and other responsibilities. However, the code for the matrix is freely available on Github, so you could attempt to alter the code yourself to move the text display area and the logic to display the second row of text with the clock/time. Sorry I can't offer any additional assistant to making those changes.

  • @samm928
    @samm928 Жыл бұрын

    That blue horizontal bar scrolling up reminds me of the old vacuum tube TVs not getting a good reception .. Bad tuner ..

  • @yusuf120581LED
    @yusuf120581LED3 жыл бұрын

    cooolll

  • @ResinChemTech

    @ResinChemTech

    3 жыл бұрын

    Thanks! I appreciate it.

  • @JamesWrightSinisterIntent
    @JamesWrightSinisterIntent Жыл бұрын

    Hello, I have learned a lot from your videos and would like to ask if you have time to look at a project that is related to this but very different. I have the coding worked out (in principle) but the yaml is giving me a formatting error that I cannot seem to resolve. I get either the value for the seconds fields in my time automation is not 0-59 when it is 0 or I get that the seconds field is not the expected action. Any suggestions would be appreciated. I have used the ESPHome site for formatting the time automation but it is not providing the solution.

  • @ResinChemTech

    @ResinChemTech

    Жыл бұрын

    I'm happy to try to help out. Can you possibly post the YAML line(s) that are throwing the error? It can be kind of tough to do a lot of detailed troubleshooting here in the KZread comments. Do you happen to have a Discord account? It might be much easier to troubleshoot there, where it is much easier to post and format larger blocks of code. If you'd prefer to go that route, I'd just need to get your full Discord ID (with the #nnnn at the end) and I can reach out via DM. If you don't want to post your Discord ID here in the comments, then you can reach out to me via email with that info. You can get my contact email address on the "About" page of my channel (listed under 'business inquiries').

  • @ResinChemTech

    @ResinChemTech

    Жыл бұрын

    Great! I sent you a request over on Discord. Once we get connected over there, it will be much easier to try to troubleshoot and assist than it is here in KZread comments.

  • @StoneTL
    @StoneTL2 жыл бұрын

    How to use the matrix as a display? I want to see the tempreture on it and voltage. Does anybody have some examples or ideas?

  • @ResinChemTech

    @ResinChemTech

    2 жыл бұрын

    The matrix is designed so that it can pretty much display anything alpha-numeric that you want. It is all done via MQTT commands. So if you had a voltage source/measurement, you could use MQTT to send that value to the matrix display. For example, I am displaying the outdoor temperature in clock mode. That is read by Home Assistant and sent to the clock via MQTT once every 3 minutes. You have different options in terms of size and placement (e.g. large number, small letters, etc.). If it helps, you can take a look at the wiki in the Gitub repo that describes the layout and use of the matrix along with available MQTT commands: github.com/Resinchem/LED-Matrix-Clock_WS2812b/wiki Of course, the C++ code for the matrix is there as well, so you could also modify that to meet any special needs that you might have. I hope that helps a little... or at least points you in the right direction.

  • @StoneTL

    @StoneTL

    2 жыл бұрын

    @@ResinChemTech yeah, thanks for the info :)

  • @christopherklein3829
    @christopherklein3829 Жыл бұрын

    i am looking for a mqtt integration for a 64x64 p5 and 32x64 p3 led matrix...

  • @ResinChemTech

    @ResinChemTech

    Жыл бұрын

    I ended up writing my own Arduino code for the ESP8266 using the Fastled library and PubSubClient for the MQTT portion. It would have to be pretty heavily modified to work with 64x64 or 32x64, but if it is helpful you can find my code on Github: github.com/Resinchem/LED-Matrix-Clock_WS2812b It might help you at least get started. Or if you can find code that already works with the matrix, adding MQTT to that isn't difficult. Again, you can see that in my code. I'd be happy to answer any particular questions you have, but odds are you are either going to have to write your own controller code, or modify existing code to add MQTT functionality.

  • @markharvey2284
    @markharvey22842 жыл бұрын

    Could you go any bigger with your code for the clock side as I’m in the making of making a panel 30x30 leds

  • @ResinChemTech

    @ResinChemTech

    2 жыл бұрын

    You could certainly modify my code for a different matrix layout. You would just need to update the arrays for the letters, numbers and pixel positions at the top part of the main .ino file. These arrays control which pixels are lit and which ones are not to form each letter or number, and it's position within the array. For example, to form a large number "1" in the top left corner, I light up pixels 153, 198, 203, 248, 253, 298, 303, 348 and 353. Both the layout and the numbers/letters themselves are defined in those top arrays. Since your individual pixels will be in different locations, you'd have to just update these array values to match your layout. I used a spreadsheet to help me determine the locations and how the arrays were structured. Once that is done, the rest of the logic should work fine as the display process just calls the appropriate array values to light up the matrix for a given letter or number and its position. Good luck with your project and don't hesitate to reach out with any other questions.

  • @markharvey2284

    @markharvey2284

    2 жыл бұрын

    @@ResinChemTech hay sorry another question are you using a single data pin to control all the lights or are you using more as I’m running into a problem where the lights are all jittery and some stay on when there ment to be off And when ment to be in a solid colour with no effect they are all moving about showing multiple colours or would you know a way in that I could improve this or if it is even the data channels fault

  • @ResinChemTech

    @ResinChemTech

    2 жыл бұрын

    Just a single pin.. and a single data connection to the start of the LED strips. But it definitely sounds like some sort of signal problem based on what you are describing. Are you using a logic level shifter? You might also verify that all your solder connections are solid. I actually have dual controllers in my matrix (the signal to the strips are connected to a toggle switch that selects the controller to use for the signal). What code are you running? Do you have another controller with something like WLED that you could test with to try to troubleshoot where the problem is occurring? Let me know if I can help out any further... but what you are describing sure sounds like some sort of signal or interference problem.

  • @markharvey2284

    @markharvey2284

    2 жыл бұрын

    @@ResinChemTech I only have the wled board set up atm and no but I’ve ordered one now so I’ll se if that works

  • @ResinChemTech

    @ResinChemTech

    2 жыл бұрын

    If you haven't seen it yet, you might take a look at this video: kzread.info/dash/bejne/g22hrsuthtusY8Y.html where I show what happens when there is a signal problem (in this case due to a voltage drop on the signal line). But is what I show in that video similar to the effects that you are seeing (wrong colors, lights going wonky, etc.)? If you are seeing something like that, it is very likely a signal problem... maybe too low voltage. And a logic level shifter should fix that problem if that is truly what is causing the issue.

  • @DSRocker
    @DSRocker Жыл бұрын

    Wow; great!!! Is there any .bin files for flashing on ESP8266-01 or esp32? Thx

  • @ResinChemTech

    @ResinChemTech

    Жыл бұрын

    Thanks! I don't have a compiled .bin file, but all of the Arduino source code is available in my Github repo: github.com/Resinchem/LED-Matrix-Clock_WS2812b This is for the ESP8266, but it wouldn't take much work to create a version for the ESP32. The .ino and associated .h files could easily be compiled into a .bin file if desired. Thanks for watching.

  • @DSRocker

    @DSRocker

    Жыл бұрын

    @@ResinChemTech I tried to compile with arduino, there were some errors 😳. I would like to use my 16x16 WS2812 matrix with home assistant. I'll try again...

  • @ResinChemTech

    @ResinChemTech

    Жыл бұрын

    I'd be happy to try and help to resolve the compile errors, but the code would have to be pretty heavily modified to work with a 16 x 16 matrix, as it is pretty specific to lighting up the individual pixels based on my 25 x 16 layout. As far as Home Assistant integration is concerned, it is all done via MQTT. The Arduino code both sends MQTT to Home Assistant to update states... and receives MQTT commands from Home Assistant for control. I'd be happy to provide more info if you'd like... just let me know!

Келесі