# Platform.IO

**URL:** <https://wled.discourse.group/t/platform-io/325>\
**Category:** Issues\
**Created:** [April 14, 2020, 1:19pm UTC](https://wled.discourse.group/t/platform-io/325 "2020-04-14T13:19:24Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![lanman1](https://avatars.discourse-cdn.com/v4/letter/l/90ced4/32.png) [@lanman1](https://wled.discourse.group/u/lanman1)\
**Post date:** [April 14, 2020, 1:19pm UTC](https://wled.discourse.group/t/platform-io/325/1 "2020-04-14T13:19:24Z")

</div>

Ok, I am really trying to give [Platform.IO](http://Platform.IO) a chance as I respect the advice of people with much more experience than I but so far I hate it. Can anyone kelp point me in the right direction of what might be causing these errors when I attempt to build the latest WLED Master? I really am trying to like it.

Compiling .pio\build\esp32dev\src\xml.cpp.o  
In file included from .pio/libdeps/esp32dev/NeoPixelBus\_ID547/src/NeoPixelBus.h:82:0,  
from .pio/libdeps/esp32dev/NeoPixelBus\_ID547/src/NeoPixelBrightnessBus.h:29,  
from wled00\NpbWrapper.h:119,  
from wled00\FX.h:30,  
from wled00\fcn\_declare.h:79,  
from wled00\wled.h:84,  
from wled00\udp.cpp:1:  
.pio/libdeps/esp32dev/NeoPixelBus\_ID547/src/internal/DotStarGenericMethod.h:33:33: fatal error: .pio/libdeps/esp32dev/NeoPixelBus\_ID547/src/internal/TwoWireBitBangImple.h: Permission denied  
compilation terminated.  
\*\*\* [.pio\build\esp32dev\src\udp.cpp.o] Error 1  
============================================================================ [FAILED] Took 119.60 seconds ============================================================================

Environment Status Duration

* * *

nodemcuv2 IGNORED  
esp01 SUCCESS 00:01:32.815  
esp01\_1m\_ota SUCCESS 00:02:03.788  
esp01\_1m\_full IGNORED  
esp07 IGNORED  
d1\_mini SUCCESS 00:02:23.803  
heltec\_wifi\_kit\_8 IGNORED  
h803wf IGNORED  
esp32dev FAILED 00:01:59.601  
esp8285\_4CH\_MagicHome IGNORED  
esp8285\_4CH\_H801 IGNORED  
esp8285\_5CH\_H801 IGNORED  
d1\_mini\_debug IGNORED  
d1\_mini\_ota IGNORED  
custom\_LEDPIN\_4 IGNORED  
custom\_LEDPIN\_16 IGNORED  
custom\_APA102 IGNORED  
custom\_WS2801 IGNORED  
custom32\_LEDPIN\_16 IGNORED  
======================================================================= 1 failed, 3 succeeded in 00:08:00.007 =======================================================================  
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

---

<div class="post-metadata">

**Author:** ![lanman1](https://avatars.discourse-cdn.com/v4/letter/l/90ced4/32.png) [@lanman1](https://wled.discourse.group/u/lanman1)\
**Post date:** [April 14, 2020, 2:19pm UTC](https://wled.discourse.group/t/platform-io/325/2 "2020-04-14T14:19:57Z")

</div>

I tried to upload after this and it did succeed in uploading the code albeit extremely slowly but then it just kept re-uploading and I had to terminate the process and Vstudio crashed.

---

<div class="post-metadata">

**Author:** ![srg74](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/srg74/32/3018_2.png) [@srg74](https://wled.discourse.group/u/srg74)\
**Post date:** [April 14, 2020, 4:45pm UTC](https://wled.discourse.group/t/platform-io/325/3 "2020-04-14T16:45:01Z")

</div>

What board you have?

---

<div class="post-metadata">

**Author:** ![lanman1](https://avatars.discourse-cdn.com/v4/letter/l/90ced4/32.png) [@lanman1](https://wled.discourse.group/u/lanman1)\
**Post date:** [April 14, 2020, 5:35pm UTC](https://wled.discourse.group/t/platform-io/325/4 "2020-04-14T17:35:30Z")

</div>

Thanks for the reply! I have several, 8266, ESP32, and I’m trying to get ESP32-Pico to work reliably.

I think the cause of the ussue is this statement in Platformio.ini

default\_envs = d1\_mini, esp01, esp01\_1m\_ota, esp32dev

I commented it out and now I can specify just one board at a time.

Now I’m trying to understand how the board definitions work and see if I can get something stable for the ESP32-Pico.

---

<div class="post-metadata">

**Author:** ![srg74](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/srg74/32/3018_2.png) [@srg74](https://wled.discourse.group/u/srg74)\
**Post date:** [April 14, 2020, 6:38pm UTC](https://wled.discourse.group/t/platform-io/325/5 "2020-04-14T18:38:34Z")

</div>

You might have a problem with ESP32 pico. Board have one core and as I recall somebody already has tried to flash such a board with limited success. Better if you use ESP8266 MCU or similar. Just uncomment Platformio.ini line with your board.

---

<div class="post-metadata">

**Author:** ![lanman1](https://avatars.discourse-cdn.com/v4/letter/l/90ced4/32.png) [@lanman1](https://wled.discourse.group/u/lanman1)\
**Post date:** [April 14, 2020, 6:51pm UTC](https://wled.discourse.group/t/platform-io/325/6 "2020-04-14T18:51:26Z")

</div>

I really want to get this M5Stack operational, 8266 isn’t packaged like this is.

> **[ATOM Matrix ESP32 Development Kit](https://m5stack.com/products/atom-matrix-esp32-development-kit)**
>
> Description Description ATOM Matrix is the most compact development board in the M5Stack development kit series yet with a size of only 24 \* 24mm. It provides more GPIO pins and is very suitable for handy and miniature embedded device...

Funy thing is, compiling with [Platform.IO](http://Platform.IO) it has been perfectly stable but the button does not work. Arduino the button works but wifi connectivity is an issue.

---

<div class="post-metadata">

**Author:** ![srg74](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/srg74/32/3018_2.png) [@srg74](https://wled.discourse.group/u/srg74)\
**Post date:** [April 14, 2020, 6:56pm UTC](https://wled.discourse.group/t/platform-io/325/7 "2020-04-14T18:56:29Z")

</div>

Good luck 🙂

---

<div class="post-metadata">

**Author:** ![tonyno](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/tonyno/32/242_2.png) [@tonyno](https://wled.discourse.group/u/tonyno)\
**Post date:** [April 14, 2020, 7:02pm UTC](https://wled.discourse.group/t/platform-io/325/8 "2020-04-14T19:02:40Z")

</div>

Anyone ever see a guide for setting up/using [Platform.IO](http://Platform.IO)? I’m interested in taking a peek.

---

<div class="post-metadata">

**Author:** ![lanman1](https://avatars.discourse-cdn.com/v4/letter/l/90ced4/32.png) [@lanman1](https://wled.discourse.group/u/lanman1)\
**Post date:** [April 14, 2020, 7:03pm UTC](https://wled.discourse.group/t/platform-io/325/9 "2020-04-14T19:03:50Z")

</div>

And by the way, the issues I was having was with an 8266, not the Atom. The Atom is a separate topic.

---

<div class="post-metadata">

**Author:** ![lanman1](https://avatars.discourse-cdn.com/v4/letter/l/90ced4/32.png) [@lanman1](https://wled.discourse.group/u/lanman1)\
**Post date:** [April 14, 2020, 7:33pm UTC](https://wled.discourse.group/t/platform-io/325/10 "2020-04-14T19:33:08Z")

</div>

I’d love to see one as well. Learning curve is a little steep. I can’t even figure out how to force specify a board from within the project.

---

<div class="post-metadata">

**Author:** ![pille](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/pille/32/100_2.png) [@pille](https://wled.discourse.group/u/pille)\
**Post date:** [April 14, 2020, 11:06pm UTC](https://wled.discourse.group/t/platform-io/325/11 "2020-04-14T23:06:24Z")

</div>

for me [https://github.com/Aircoookie/WLED/blob/master/.travis.yml](https://github.com/Aircoookie/WLED/blob/master/.travis.yml) was a good starting point.

---

<div class="post-metadata">

**Author:** ![pille](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/pille/32/100_2.png) [@pille](https://wled.discourse.group/u/pille)\
**Post date:** [April 14, 2020, 11:08pm UTC](https://wled.discourse.group/t/platform-io/325/12 "2020-04-14T23:08:24Z")

</div>

@lanman1: try `platformio run -e d1_mini`

---

<div class="post-metadata">

**Author:** ![lanman1](https://avatars.discourse-cdn.com/v4/letter/l/90ced4/32.png) [@lanman1](https://wled.discourse.group/u/lanman1)\
**Post date:** [April 15, 2020, 4:46pm UTC](https://wled.discourse.group/t/platform-io/325/13 "2020-04-15T16:46:50Z")

</div>

Thanks @pille for the info. I’m still not sold on PlatformIO. Im still having an issue where I get build errors about files missing but then after 1 or 2 fails, it builds properly. Twice I’ve has to restart PlatformIO to get it to successfully build.

Any advice on making it wasy to switch back and forth on hardware platforms for the build? Just manually editing the platformio.ini for each build?

---

<div class="post-metadata">

**Author:** ![srg74](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/srg74/32/3018_2.png) [@srg74](https://wled.discourse.group/u/srg74)\
**Post date:** [April 15, 2020, 10:47pm UTC](https://wled.discourse.group/t/platform-io/325/14 "2020-04-15T22:47:43Z")

</div>

If you press platformio icon on the left side you will see list of the tasks. Choose one at the time and you don’t have edit \*.ini file 🙂 Be patient and soon you will realize that you can do a lot more with Platformio than with Arduino IDE.

---

<div class="post-metadata">

**Author:** ![lanman1](https://avatars.discourse-cdn.com/v4/letter/l/90ced4/32.png) [@lanman1](https://wled.discourse.group/u/lanman1)\
**Post date:** [April 15, 2020, 11:38pm UTC](https://wled.discourse.group/t/platform-io/325/15 "2020-04-15T23:38:05Z")

</div>

Thank you, that is very helpful. Now if I can figure out the inconsistencies in the build success/failure I’ll be set.

---

<div class="post-metadata">

**Author:** ![huggy-d1](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/huggy-d1/32/51_2.png) [@huggy-d1](https://wled.discourse.group/u/huggy-d1)\
**Post date:** [April 17, 2020, 6:08pm UTC](https://wled.discourse.group/t/platform-io/325/16 "2020-04-17T18:08:00Z")

</div>

I found out if there are any GLOBAL libraries configured, they override any project library version requirements. I removed all the global libraries and suddenly could succeed 100% with compiling using PIO and WLED.

---

<div class="post-metadata">

**Author:** ![lanman1](https://avatars.discourse-cdn.com/v4/letter/l/90ced4/32.png) [@lanman1](https://wled.discourse.group/u/lanman1)\
**Post date:** [April 20, 2020, 7:07pm UTC](https://wled.discourse.group/t/platform-io/325/17 "2020-04-20T19:07:09Z")

</div>

Thanks all. Ok, so I think I’m comfortable with PlatformIO and building for multiple boards and getting used to it. How do you all keep current with the changes to WLED-Master? Can you point PaltformIO to the Git repo and automatically update or do you just manually maintain a local project folder?

Also, for a shared folder/computer scenario, what do you keep shared and what do you keep on the local computer?

---

<div class="post-metadata">

**Author:** ![tonyno](https://yyz2.discourse-cdn.com/free1/user_avatar/wled.discourse.group/tonyno/32/242_2.png) [@tonyno](https://wled.discourse.group/u/tonyno)\
**Post date:** [April 20, 2020, 9:03pm UTC](https://wled.discourse.group/t/platform-io/325/18 "2020-04-20T21:03:53Z")

</div>

Wow. I must be looking in the wrong places. $999 per month?!

---

<div class="post-metadata">

**Author:** ![lanman1](https://avatars.discourse-cdn.com/v4/letter/l/90ced4/32.png) [@lanman1](https://wled.discourse.group/u/lanman1)\
**Post date:** [April 21, 2020, 8:22pm UTC](https://wled.discourse.group/t/platform-io/325/19 "2020-04-21T20:22:59Z")

</div>

If it helps anyone, I now have 3 computers sharing a common Onedrive shared file structure by setting the following 2 Env variables on the systems to point to local dirs.

`PLATFORMIO_CACHE_DIR`

Allows one to override [“platformio.ini” (Project Configuration File)](https://docs.platformio.org/en/latest/projectconf/index.html#projectconf) option [cache\_dir](https://docs.platformio.org/en/latest/projectconf/section_platformio.html#projectconf-pio-cache-dir).

`PLATFORMIO_BUILD_CACHE_DIR`

Allows one to override [“platformio.ini” (Project Configuration File)](https://docs.platformio.org/en/latest/projectconf/index.html#projectconf) option [build\_cache\_dir](https://docs.platformio.org/en/latest/projectconf/section_platformio.html#projectconf-pio-build-cache-dir).
