How to find library sources (windows)

According to SPI library source code thread I can go to the parent folder to find library sources. i must have moved my "library folder" at some point because my arduino/libraries folder is empty.

I'm looking for the library source so i can figure out how the library is "supposed" to be used.

did you look in Documents/Arduino/libraries?

Yep, there is a readme file in there, the folder is empty aside from that file.

Pretty sure the files are someplace, but I'm new to the IDE, so would like to be sure the sources are easy to find for other new users too.

Did you want the built-in libraries or third-party libraries that you installed?

I think you will find the built-in libraries in:
C:\Program Files (x86)\Arduino\libraries

If you want third-party libraries and they aren't in "Documents/Arduino/libraries" your sketch folder may be in a non-standard place. See the "Preferences..." dialog in the IDE for the location of your sketch folder. The third-party libraries should be in a "libraries" subfolder of your sketch folder.

I have no idea where the IDE is installed. I may installed it via the Microsoft app store, in which case it's probably in an archive. Is that possible? I searched, no folder called Arduino anyplace.

Yeah i am running the windows store version 1.8.51 so all bets will be off on this point I guess i need to re-install? is that correct?

The SPI library is a "platform bundled library". It is installed as a part of the Arduino boards platforms that add support for specific boards to the Arduino development software. The reason it is bundled with the platform instead of being installed globally like most Arduino libraries is that the low level implementation code of the library is very architecture specific. Because the API is standardized, it seems like you are always using the same SPI library, but in reality you might have a completely different library when compiling for one board or another.

Try this:

  1. Select File > Preferences from the Arduino IDE menus.
  2. Check the box next to "Show verbose output during: compilation".
  3. Click the OK button.
  4. Compile any sketch that uses the SPI library.

After the compilation finishes, examine the contents of the black console pane at the bottom of the Arduino IDE window. There, you will see something like this:

Using library SPI at version 1.0 in folder: C:\Users\zapho\Documents\ArduinoData\packages\arduino\hardware\avr\1.8.4\libraries\SPI 

That is the location of the source code.

The library source code will either be there or else in the src subfolder.


Another technique you can use is to open one of the example sketches of the library you are interested in and then select Sketch > Shown sketch folder. That will open the folder containing the example sketch in your file browser. From there, just navigate up to the root of the library.


The Microsoft store version is installed under C:\Program Files\WindowsApps. I forget the exact name of the folder, but it will have "Arduino" in it. That folder is hidden by default, so you need to configure your file browser to show hidden files.

Thanks, that did help I suspected the tool was keeping the files under the documents folder in my case it was specifically
C:\Users\zapho\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2\libraries\SPI . Thanks.

I deleted all of my "Microsoft Store" version of the IDE. If you also have the installed version- not from the MS store- you then have two copies of the libraries depending on which IDE's library manager that you installed them from.

I can't think of a single reason to install the IDE from the Microsoft Store.