You are browsing as a guest. Sign up (or log in) to start making projects!

skyFonix

@skyFonix

Joined June 28th, 2026

  • 2Devlogs
  • 3Projects
  • 0Ships
  • 0Votes
Open comments for this post

12h 12m 20s logged

Arduino side of things done! I finished all the work connected to animations, patterns, and communication.

Feature list:

  • Single-frame mode: Full depth color fill, and ability to modify individual pixels in the matrix with full 8 bit/channel color
  • Effect/Pattern mode: Multiple customizable patterns with onboard rendering
  1. Rainbow: Obviously a rainbow with and adjustable speed
  2. Checker: A rainbow pattern that is covered by a solid color on every other pixel, the color is a full depth color determined by the effectColor variable color that can be adjusted using Serial communication
  3. Scanner: It scans the pixel array row by row with the color of the effectColor variable, speed is also adjustable
  4. Pulse: A pulsing effect using the effectColor, adjustable speed
  5. Snake: A snake with a fading tail, adjustable speed. It’s main color is the effectColor
  6. Rainbow fill: Rainbow, but with the entire screen being the same color, affected by the global speed as all the others
  • Animation mode: This mode took probably the most, time. The last like 4 hours of development was basically focused on optimizing and debugging of this feature. It stores and internal buffer of 20 maximum frames, every pixel of every frame stores an index that gets it’s color from a color palette that is user adjustable and stored in full depth color. The full depth color information is rendered to the matrix, during runtime. It’s speed is the same as the effect/pattern speed.
  • Text rendering: Seemed complex at first, but after thinking about it a bit more it got done in a reasonable time. This section holds the only AI generated information from the entire file in the form of the font bitmap, since I didn’t want to spend a bunch of time drawing them myself. The character buffer itself can store 64 characters, but since there is a limitation to my model of arduino to a 64 byte serial buffer it can only display 62 characters. It also has two color modes one of which uses the effectColor, and the other one uses a similar way to the rainbow effect to render rainbow colored text.

Hardware side of things:

The project uses an arduino nano as the micro controller, and an addressable led strip containing WS2812 leds. I cut a long one of these led strips into 12, 7 led long ones and them inside of a CD case, which I sanded down for light diffusion(doesn’t do the best job tho). An important thing about the wiring is that the data pins are connected in a zig-zag pattern so if anyone maybe wants to use my code, they need to build the matrix the same way. The dimensions of the matrix can be changed, a small change in the code is all that is needed.

Thoughts on my efficiency

I know that this project must have been done like a million + 1 times already and it shouldn’t have taken this much time, but as it was the first time I touched an arduino or any kind of low level programming project really, it took a longer time than it should have.

Next goal for this project

My next goal is to write some kind of usable software to control the matrix from a computer. Probably going to use Python with PyQt6 as the UI framework for that. I expect it to take much less time, since I’ve worked with them before.

0
0
1
Open comments for this post

5h 30m 53s logged

LED Matrix project devlog #1: This is the first time I worked with an arduino and addressable LEDs so it took a lot of time just to get to this point, about 5 hours wasted lol. I also made a little video demoing it’s current functionality. I’ll work on built-in effects, error handling, better communication and an actual control software for it tomorrow! https://youtu.be/KfH43WNfC98

0
0
13

Followers

Loading…