About Arduino framework

Hi everyone,

I am new with platformio and I am trying to figure out how structure it has. Arduino framework is unique for each project? or, Is the same framework used for all project that is created? I have esp32 project with arduino framework and arduino framework was changed in some way and it works for one project. I want to use those libraries external library in my project. Is it possible to do that? Could you help me?

yes, it is downloaded into your projects hidden .pio dir

What about buil-in libraries? They are stored in //.platformio/packages path.

The Arduino framework is stored in <home folder>/.platformio/packages/framework-arduinoespressif32 by default. If you modify files in there, it will affect all projects that use the same package.

There are situations in which there will be multiple framework-arduinoespressif32@x.y.z folders, containing different versions of the framework if required by projects that pin the platform or package to specific versions.

To modify the package source to a different one per-project, you can use platform_packages with symlink://<path> or a Github link, to point to a purpose-modified package.

1 Like

If it’s matter of a library version changing on you, for good or bad, you can control in platformio.ini the version of the framework and the version of each library you use.

Generally speaking it’s not a good practice to change yourself files under ~/.platformio since they are managed by platformio. If you want to make modification to a standard library, you can bring it to your project and make the changes there.