# Does ledmapx.json need to list all pixels?

**URL:** <https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631>\
**Category:** Questions\
**Created:** [July 13, 2022, 1:46am UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631 "2022-07-13T01:46:08Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![GrillinGorilla](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/grillingorilla/32/3332_2.png) [@GrillinGorilla](https://wled.discourse.group/u/GrillinGorilla)\
**Post date:** [July 13, 2022, 1:46am UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/1 "2022-07-13T01:46:08Z")

</div>

In short, I have 13.1 Toki running a 8x32 WS281x matrix. WLED works just fine, but treats the matrix as a single, zig-zagged line (which is fine and not the point of this question). I am trying to use the ledmap.json function to only illuminate certain pixels in order to spell a word. (see image).

I believe I am following [the documentation](https://kno.wled.ge/advanced/mapping/) correctly, but I cant seem to get a preset to correctly pick-up the `ledmap1.json` file that has been uploaded via /edit. I also believe I am updating the preset API correctly, so my only thought right now is “Does the ledmap1.json file need to use all available pixels?” Right now, I am only trying to use a subset of the available pixels.

If it can support a partial list of pixels, then what am I doing wrong? Thank you

 ![myra_matrix](https://global.discourse-cdn.com/free1/uploads/wled/original/2X/b/b9613fe1a35227112c0d007928e5cc79a1ebeaa0.png)

Contents of ledmap1.json:  
`{"map":[32,31,30,29,28,27,26,25]}`

Preset API Command:

```auto
{"ledmap":1,"on":true,"bri":255,"transition":7,"mainseg":0,"seg":[{"id":0,"start":0,"stop":256,"grp":1,"spc":0,"of":0,"on":true,"bri":255,"cct":127,"col":[[255,160,0],[0,0,0],[0,0,0]],"fx":15,"sx":255,"ix":255,"pal":1,"sel":true,"rev":false,"mi":false},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0}]}

```

---

<div class="post-metadata">

**Author:** ![divsys](https://avatars.discourse-cdn.com/v4/letter/d/a3d4f5/32.png) [@divsys](https://wled.discourse.group/u/divsys)\
**Post date:** [July 13, 2022, 4:56am UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/2 "2022-07-13T04:56:50Z")

</div>

What happens if you change your segment length to match your ledmap → 0 to 7 rather 0 to 250?

---

<div class="post-metadata">

**Author:** ![ALDIY](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aldiy/32/2716_2.png) [@ALDIY](https://wled.discourse.group/u/ALDIY)\
**Post date:** [July 13, 2022, 6:09am UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/3 "2022-07-13T06:09:50Z")

</div>

You are trying this the hard way which I did a lot before . The good news is that Blaz 2D-SR fork which support matrices and sound is now also supports text so all you need is to try it from here [WLED-wemos-shield/resources/experimental/Firmware at master · srg74/WLED-wemos-shield · GitHub](https://github.com/srg74/WLED-wemos-shield/tree/master/resources/experimental/Firmware)

If the above fork does not do it for you and you also do not like to use external apps like jinx then we can talk more ledmaps

Edit : I am not sure if this is for portable matrix or it is in a fixed place , i did this small script

FOR %%x IN (1 ,10,20,35,100,112,222,333,444,330,510,13 ) DO  
(  
curl [http://IP/json](http://IP/json) -d {“seg”:{“i”:[%%x,[0,150,0]]},“fx”:115,“transition”:5} -H “Content-Type: application/json”  
)

In this pixels 1 ,10,20,35,100,112,222,333,444,330,510,13 will be set to green , so you can just modify it to add the pixels you need to light up or even add animation to that , this is part of the individual LED control in wled [JSON API - WLED Project](https://kno.wled.ge/interfaces/json-api/#per-segment-individual-led-control)

---

<div class="post-metadata">

**Author:** ![GrillinGorilla](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/grillingorilla/32/3332_2.png) [@GrillinGorilla](https://wled.discourse.group/u/GrillinGorilla)\
**Post date:** [July 13, 2022, 1:12pm UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/4 "2022-07-13T13:12:50Z")

</div>

A small update… I think the ledmap1.json is getting picked up. However, no matter which pixels I list in the map, that number of pixels appear as dead (beginning with the first physical pixel). My intention is for all pixels to appear off, except for the ones I list in the map. I’ll keep working…

And ALDIY, thanks for the reference; I’ll check that out too.

Contents of ledmap1.json:  
`{"map":[31,30,29,28,27,26,25,24,218,219,220,221,222,223]}`

 ![image](https://global.discourse-cdn.com/free1/uploads/wled/original/2X/9/9fa11e38827b029d5eedd1025191ade8f335fc21.jpeg)

---

<div class="post-metadata">

**Author:** ![GrillinGorilla](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/grillingorilla/32/3332_2.png) [@GrillinGorilla](https://wled.discourse.group/u/GrillinGorilla)\
**Post date:** [July 13, 2022, 11:02pm UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/5 "2022-07-13T23:02:35Z")

</div>

@divsys No change. I originally tried this with 0,1,4,3

---

<div class="post-metadata">

**Author:** ![GrillinGorilla](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/grillingorilla/32/3332_2.png) [@GrillinGorilla](https://wled.discourse.group/u/GrillinGorilla)\
**Post date:** [July 13, 2022, 11:03pm UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/6 "2022-07-13T23:03:28Z")

</div>

@ALDIY It appears the Blaz solution linked above requires purchasing their recommended board configurations. Is that correct?

---

<div class="post-metadata">

**Author:** ![GrillinGorilla](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/grillingorilla/32/3332_2.png) [@GrillinGorilla](https://wled.discourse.group/u/GrillinGorilla)\
**Post date:** [July 14, 2022, 1:03am UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/7 "2022-07-14T01:03:56Z")

</div>

I got updates!

To answer my original question, YES, I believe WLED requires _all_ pixels to be listed in the “map” array. You can not list partial arrays. I ended up listing the 70 pixels required to spell Myra as the first 70 pixels in the “map” array, then, all other pixels were listed. Then, in the WLED UI, I set Segment 1 equal to pixel #0 - #70, and Segment 2 as pixel #71 - #256. Now, I can control each segment separately.

WLED definitely does NOT support partial arrays in the `ledmap.json` files; you must include all physical pixels.

Here are a couple examples of the effect I desired:

- [Myra 1](https://drive.google.com/file/d/12J3dT0Dp7rDOYN694T_6kfCw_TET1goq/view?usp=sharing)
- [Myra 2](https://drive.google.com/file/d/1uc06HqD3fFYN1ElKZxFfjWgc04QE34jZ/view?usp=sharing)
- [Myra 3](https://drive.google.com/file/d/1RKA5-MnGNtwkj5B4YDFzjGrUyUAfLAHK/view?usp=drivesdk)

I hope this was helpful to someone else. Thanks for the support I always receive from this community here and on Github.

Contents of `ledmap1.json`:  
`{"map":[23,22,21,20,19,18,17,16,30,34,44,50,62,64,65,66,67,68,69,70,71,95,94,98,127,126,114,108,107,106,105,104,151,150,149,148,147,146,145,144,159,160,175,177,178,172,163,156,171,181,182,183,200,201,202,203,204,205,209,223,225,237,236,235,234,233,232,212,219,228,0,1,2,3,4,5,6,7,15,14,13,12,11,10,9,8,31,29,28,27,26,25,24,32,33,35,36,37,38,39,47,46,45,43,42,41,40,48,49,51,52,53,54,55,63,61,60,59,58,57,56,79,78,77,76,75,74,73,72,80,81,82,83,84,85,86,87,93,92,91,90,89,88,96,97,99,100,101,102,103,111,110,109,112,113,115,116,117,118,119,125,124,123,122,121,120,128,129,130,131,132,133,134,135,143,142,141,140,139,138,137,136,158,157,155,154,153,152,161,162,164,165,166,167,174,173,170,169,168,176,179,180,191,190,189,188,187,186,185,184,192,193,194,195,196,197,198,199,207,206,208,210,211,213,214,215,222,221,220,218,217,216,224,226,227,229,230,231,239,238,240,241,242,243,244,245,246,247,255,254,253,252,251,250,249,248]}`

---

<div class="post-metadata">

**Author:** ![ALDIY](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aldiy/32/2716_2.png) [@ALDIY](https://wled.discourse.group/u/ALDIY)\
**Post date:** [July 14, 2022, 6:55am UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/8 "2022-07-14T06:55:37Z")

</div>

No Blaz 2d fork does not need any special hw , it is still open source which you can run on esp32 and esp8266 . And I like your answer to the original question and that you are still trying it the hard way . I am sure in no time we could ask you about more advanced setups using ledmaps which is unfortunately a bit grey area .But surly your post example could help fix that .

Still when I tested both external apps control ( mainly jinx and xlights ) and the individual LED control script , i was able to easily get excellent result on both SRWLED and blaz-2d not only for text but to also include animation with it … Still I truly like that you are doing that the hard way and I assume you have grand plans … i will post some pics when we tested on 16x32 matrix , good luck

 ![m03](https://global.discourse-cdn.com/free1/uploads/wled/original/2X/7/7e250512425e863282896873f96f9c507128c388.jpeg)  
 ![m04](https://global.discourse-cdn.com/free1/uploads/wled/original/2X/7/7983a5adf22fedd899e47d380130813001b2ba34.jpeg)

---

<div class="post-metadata">

**Author:** ![GrillinGorilla](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/grillingorilla/32/3332_2.png) [@GrillinGorilla](https://wled.discourse.group/u/GrillinGorilla)\
**Post date:** [July 14, 2022, 11:53am UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/9 "2022-07-14T11:53:49Z")

</div>

@ALDIY holy cow! That is so cool!! Yes, I guess I am doing it the hard way. Your pictures are awesome! I’ll have to break out another esp and give it a better 2nd attempt! Thanks for the encouragement!

---

<div class="post-metadata">

**Author:** ![ALDIY](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aldiy/32/2716_2.png) [@ALDIY](https://wled.discourse.group/u/ALDIY)\
**Post date:** [July 14, 2022, 12:02pm UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/10 "2022-07-14T12:02:35Z")

</div>

No need to use another esp but okay if you want , just test with Jinx with your existing MCU , i could not upload video but you can do a lot of animations and even video on your matrix and not just boring text . but you must have a bigger matrix to really get good result , think about adding another 8x32 .I will try to show video  
 ![jinx_demo](https://global.discourse-cdn.com/free1/uploads/wled/original/2X/6/6de566cbeab157d0486ddd3830d2b0c1520a5803.gif)

---

<div class="post-metadata">

**Author:** ![GrillinGorilla](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/grillingorilla/32/3332_2.png) [@GrillinGorilla](https://wled.discourse.group/u/GrillinGorilla)\
**Post date:** [July 14, 2022, 1:59pm UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/11 "2022-07-14T13:59:09Z")

</div>

@ALDIY this is really awesome! I am giving this as a gift, so I am out of time to experiment a bit, but I am DEFINITELY trying it out. I already bought another matrix 😂  
thanks again!!

---

<div class="post-metadata">

**Author:** ![blazoncek](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/blazoncek/32/1886_2.png) [@blazoncek](https://wled.discourse.group/u/blazoncek)\
**Post date:** [July 14, 2022, 5:10pm UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/12 "2022-07-14T17:10:29Z")

</div>

To chime in: `ledmap.json` does not need to have all pixels mapped.  
But…

That is true if you only need to remap first few pixels. If you need to remap any arbitrary pixel within whole strip then, yes, ledmap needs all pixel addresses to be entered (in the order you want).  
Your case would be the latter one.

As for 2D, as @ALDIY mentioned, my fork (which is base for further development of WLED) contains 2D implementation and Scrolling text effect.

---

<div class="post-metadata">

**Author:** ![GrillinGorilla](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/grillingorilla/32/3332_2.png) [@GrillinGorilla](https://wled.discourse.group/u/GrillinGorilla)\
**Post date:** [July 15, 2022, 1:22am UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/13 "2022-07-15T01:22:54Z")

</div>

Thank you for the clarification! I’m excited to step into the word of 2d WLED. Thanks for pointing me that way

---

<div class="post-metadata">

**Author:** ![GrillinGorilla](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/grillingorilla/32/3332_2.png) [@GrillinGorilla](https://wled.discourse.group/u/GrillinGorilla)\
**Post date:** [July 15, 2022, 1:22pm UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/14 "2022-07-15T13:22:05Z")

</div>

Hello again, @ALDIY ! Please forgive me for the continued questions, and if this thread isnt the right place, please encourage me to go elsewhere.

Per your recommendation, I installed [WLED\_0.14.0-bl0\_ESP8266.bin](https://github.com/srg74/WLED-wemos-shield/blob/master/resources/experimental/Firmware/WLED_0.14.0-bl0_ESP8266.bin) on a brand new ESP8266. It is _mostly_ working as intended, but when I select the 2D Scrolling Text effect, where do I go to enter the text I want it to display? I cant seem to find it anywhere in the UI. Please point me in the right direction, and if there is existing documentation for this version, please let me know. thank you

---

<div class="post-metadata">

**Author:** ![ALDIY](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/aldiy/32/2716_2.png) [@ALDIY](https://wled.discourse.group/u/ALDIY)\
**Post date:** [July 15, 2022, 2:29pm UTC](https://wled.discourse.group/t/does-ledmapx-json-need-to-list-all-pixels/5631/15 "2022-07-15T14:29:06Z")

</div>

Change the segment name and it will be displayed on the matrix . And come to discord if you like to do more testing with the guys , it will be fun
