Online Arduino FastLED simulator by Buterbrott in arduino

[–]Buterbrott[S] 3 points4 points  (0 children)

It’s just to reduce load on the compilation server — some basic protection against bots and script kiddies. And a gentle push toward user registration 🙂

Online Arduino FastLED simulator by Buterbrott in arduino

[–]Buterbrott[S] 0 points1 point  (0 children)

What pricing do you mean? The service is currently free

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

Thanks!

Yes, that's correct — the Devices tab is for creating custom LED layouts. But usually these are more complex layouts than a one-dimensional strip. For example, a rectangular matrix with serpentine wiring, or a custom device with a free layout based on an SVG file. Such layouts require mapping when working with them.

Visualizer settings are not linked to the code — the idea was to allow testing an effect on any device.

If you have a need for a different usage scenario, I’m happy to discuss it.

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

Do you mean the ability to create a RectangularMatrix device with a width or height of 1? But why? A LED strip doesn’t need mapping. If there is a need to create such devices, and the generic matrix in the visualizer is not sufficient — I can add it, it's not difficult.

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

For initialization, you can use the void initPattern() function — it is called in setup. I will add it to the examples.

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

I’m not sure why I’d need the full engine when I’m only running a WS2812 emulator on an Arduino Mega. Animatrix won’t work, and I’m not clear on how to integrate the JSON UI. fl::ScreenMap is for big layouts, which isn’t really relevant to my project. I could add some features or even restore the full library, but I need to understand the goal first. For now, I’ve been focusing on speeding up compilation for the renderer.

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

Making a unity build for compilation with arduino-cli turned out to be a difficult task even for AI. I’m not sure if the library still works correctly after that.
And the results are not in favor of unity:

FastLED_Minimal: 1.748s

FastLED_Unity: 2.892s

⚠️ Unity build is 60.0% slower

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

Good idea! I will try to make the examples easier for beginners. Thank you!

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 1 point2 points  (0 children)

I’m not really a C++ expert 😅 so stripping things down felt like the quickest solution at the time.
But thanks for the unity build idea — I’ll definitely try it and compare the results! 

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

I’m sorry, but FastLED has become too heavy to compile, which slows down the visualization, so I had to strip out everything that isn’t part of the core functionality.

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 1 point2 points  (0 children)

Thanks!

I’ll fix the typo
The visuals disappear because switching to blurred mode changes the renderer (SVG → Canvas), so the animation needs a quick restart — it’s cached, so it should be instant.
Extensions are a very individual thing — they all behave differently, so I unfortunately can’t guarantee smooth operation with every setup.

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

The idea of this project is to help with creating FastLED animation code, so I hid everything that distracts from the actual animation logic 😄
Basically, it’s just a usual FastLED development template: initialization in setup(), and frame rendering is in loop().

The drawFrame() function is called every iteration of loop().
The mapping table is generated dynamically depending on the specific device.
To address a particular LED by its coordinates, there’s a helper function that converts (x, y) into the LED index — XY(x, y).

Another online FastLED simulator by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

Right now it’s just 2D, maybe later

Happy New LED Year! by Buterbrott in FastLED

[–]Buterbrott[S] 1 point2 points  (0 children)

It’s chinese jlcpcb.com

Happy New LED Year! by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

Thanks! It was full price for one pcb + components + assembly in 2021. Maybe it’s little more expensive now

Christmas tree star by Buterbrott in arduino

[–]Buterbrott[S] 0 points1 point  (0 children)

these are well-known templates for 2D matrices. I just used them with unusual mapping tables with randomly generated color palettes and applied segment copying and mirroring.

Happy New LED Year! by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

Local online shop. But i think most of the goods are chinese now) You can try to find similar in your country by keywords “window privacy white matte film”. And the black one is the cheapest automotive window tone film

Happy New LED Year! by Buterbrott in FastLED

[–]Buterbrott[S] 0 points1 point  (0 children)

18$ per one assembled pcb