I made an LED 3D mapping tool that might be of interest

Hi all! First time poster here,

I just wanted to share a tool I’ve made that 3D scans addressable LEDs. I originally made this for a costume I did years back and thought it was well time to make it a bit more accessible.

I know there are other tools out there but I think this one is a bit different, I’m struggling to do the creative writing so have a list:

  • Doesn’t require any calibration or known camera positions
  • Supports Windows, Mac and Linux
  • Single line Python install
  • Reconstructs live
  • Exports 2D and 3D maps to CSV

I’d love any and all feedback you might have as I’d love to make this as good as it can be <3

Thank you and hope this helps


P.S. I hope this comes across ok, I haven’t really done something like this before and kinda nervous!


Hi @TheMariday ,
Welcome to the forum! It was a pleasure to meet you and chat LEDs! Your costume is amazing, and I hope to check out this 3D mapping tool soon!

It looks like there’s a pretty simple API to drop in some communications to a Pixelblaze for mapping, and this takes care of the rest. The output shouldn’t be to hard to get in a format Pixelblaze can read too.

It’s pretty awesome that you capture the normal as well, the direction the LED is facing isn’t something Pixelblaze currently takes into account, but I can imagine all kinds of uses for that in both animations and in the live preview (especially for very dense & complex structures).

Thanks again for sharing this, @TheMariday!

(@zranger1 psst you might want to take a look!)

Pleasure to meet you too!

I’d love to see it integrated with pixelblaze, the backend as you said should be pretty straightforward and I want to add more output formats in the future anyway like .h and json files.

The normal thing was a bit of a biproduct of another feature which I haven’t put in the readme as its a bit specialised but marimapper can also use the led positions and normals to reconstruct a manifold mesh.

Without the normals, mesh reconstruction is a mess!

Glad to share and hope someone finds it useful


See? Another place where an easy solution is RenderND(), where the mapper data is an arbitrary-length vector per LED. :smiley:

Just a quick update on this front, thanks to savdb, Marimapper now supports PixelBlaze backend and export!

Massive massive thank you to them wherever they are <3