Addressable LED strings have made it easier than ever to build fun glowable projects with all kinds of exciting animations. However, if you’re not going with a simple grid layout, it can be a little difficult to map your strings out in code. Fear not, for [Jason Coon] has provided a tool to help out with just that!
[Jason]’s web app, accessible here. is used for mapping out irregular layouts when working with addressable LED strings like the WS2812B and others that work with libraries like FastLED and Pixelblaze. If you’re making some kind of LED globe, crazy LED tree, or other non-gridular shape, this tool can help.
The first step is to create a layout of your LEDs in a Google Sheets table, which can then be pasted into the web app. Then, the app handles generating the necessary code to address the LEDs in an order corresponding to the physical layout.
[Jason] does a great job of explaining how the tool works, and demonstrates it working with a bowtie-like serpentine layout with rainbow animations. The tool can even provide visual previews of the layout so you can verify what you’ve typed in makes sense.
It’s a great tool that we recently saw put to use on [Geeky Faye’s] excellent necklace project. Video after the break.
My LED Mapper app now supports gradient color palettes! Also has interactively editable pseudo #FastLED code for the sample patterns. Supports conversion to/from grid layout, XY coordinates, #Pixelblaze maps, etc.
App: https://t.co/nxycSh9hig
Code: https://t.co/riPnnRhFSF pic.twitter.com/gXgTS0L6UN— Jason Coon (@jasoncoon_) February 10, 2022
Careful. This is patented by twinklylights unless I’m mistaken.
I doubt there is anything here that is patentable.
Clone the repo
Edit: My mistake, their patent is on the mapping method, and this implementation doesn’t appear to infringe on that patent. False alarm!
Thanks for the warning, and for the follow-up!
Can you point us to that patent?
Patent application number: 16/646455
Claim #6
Link: https://uspto.report/patent/app/20200296814
Their “mapping method”, at least a described in the patent application, is so generic as to be basically unpatentable. This doesn’t mean it won’t/hasn’t been given patent approval, but flash and assess is already in use and has been since man discovered fire. They can copyright/patent their particular algorithm for performing a flash and assess, but if a patent is granted for the manner of discovering locations in 3d space then it is just another sign our copyright/patent system is out of control, not working as intended, and working against public trust.
Feel free to get creative. Don’t worry about any of that being patentable. Several groups have been 2D/3D pixelmapping + animating LEDs since at least 2005, and probably way before that. Also personally seen many different computer vision systems for (automapping) throughout the years, at varying degrees of success, and I know they tough convos with their patent lawyers at the time about it.
Super cool. I always wanted to make something like this, but I was too lazy. If you’re reading this: Thanks a bunch Jason!
Glad you like it, thanks!
Thanks, glad you like it!
This begs to be integrated with WLED project.
Yes! I was about to make the same comment, so glad there are more people that agree.
This makes for easy programming but is RAM heavy and ROM light and the smaller atMEGA uC’s have lots of ROM (FLASH) and not much RAM.
In those cases you would be better off using #define and a static non-indexed way to clock them out.
The same principle could be used to automate the #DEFINE text to make it a little simpler.
And the –
minRadius256: 0
maxRadius256: 255
Bindians? Bingrees? It makes a lot of sense though for int math.
It’s called binary radians or brads: https://en.wikipedia.org/wiki/Binary_angular_measurement
Trust Americans to create measurement systems that defy all logic!
But in this case, well I’ve been doing this since the 70’s except I only record for one quadrant as the other three can be derived from that one. With the binary values 1/2, 1/4, 1/16, 1/32, 1/64, 1/128, 1/256, 1/512 + 1/512 giving a range of 1/512 to 1 then it’s easy to do 8 bit multiply for a 16 bit result and then truncate the lower 8 bits.
Also the acronym for Binary Angle Measurement (BAM) is also used for Bit Angle Modulation which is a really cool way to do multiple PWMs on limited resources.
“Trust Americans to create measurement systems that defy all logic!”
Umm, BAM was developed by Otto Fennel Söhne – a German – in the 1800’s, for use in automating land surveying equipment, you arrogant prick.
Oh, is that why it actually makes “some” sense.
Yeah, I’m sure there are much more efficient ways of doing this. This is just how I’ve been mapping my own builds for FastLED for a while, and wanted to share it in case anyone else might find it useful. I almost always use ESP8266 or ESP32 dev boards in my builds, and memory is usually not a problem.
pixelblaze has this feature baked right in. im honestly surprised there are not more tools such as this already.
Pixelblaze is NOT opensource and is overpriced.
WLED might not have all the features pixeblaze has, but it´s way more open.
Thanks for the kind words, Lewin! It’s definitely not the first LED mapping tool (I mention Garrett Mace’s excellent XY Map Generator in the readme), but it’s something I’ve been using for my own builds and wanted to share it in case someone else might find it useful.
This is going to be a life saver on my next LED build, thank you!!
I’ll definitely be using it at some point, I’m sure. Thanks for sharing your hard work.
Isn’t there any other mapper available as this can generate only fixed patterns only.
Always loved your work Jason 💜 thanks again
The mapping interface is really user friendly, I’ve never been able to do something so neat with https://github.com/spectrenoir06/LED_master.
All these negative comments on a guy who used his time and effort to provide an OPEN SOURCE method to map and giving it away for nothing really pi$$es me off. To everyone that commented “a better way” or “this” or “that” …. what was the last time you created a software package and gave it away, free use, out of the kindness of your heart???!!! This never claimed to be a one shot solution to all mapping builds BUT it is very useful for makers using esp dev and other similar types. It’s a great way to take the intimidation of this away a little for people new to the Hobbie and get them a functional build while they learn…..so the haters and $hit talkers need to just go back to the quiet, lonely corner they hang out in at parties! I love that this is available and BECAUSE OF IT I might actually build something that I have been putting off for years because THIS tool will make it possible for me to make it possible. The dev deserves a “thank you” and a pat on the back not a bunch of non applicable verbal vomit from arm chair know it alls that don’t give to the community!
So with that said. THANK YOU! I CAN’T WAIT TO CHECK IT OUT!