# libraries (location)

**URL:** <https://forum.arduino.cc/t/libraries-location/379236>\
**Category:** Programming\
**Created:** [April 12, 2016, 8:46pm UTC](https://forum.arduino.cc/t/libraries-location/379236 "2016-04-12T20:46:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![BryAB](https://avatars.discourse-cdn.com/v4/letter/b/ea5d25/32.png) [@BryAB](https://forum.arduino.cc/u/BryAB)\
**Post date:** [April 12, 2016, 8:46pm UTC](https://forum.arduino.cc/t/libraries-location/379236/1 "2016-04-12T20:46:17Z")

</div>

I am new to Arduinos, and I am trying to understand where all of the libraries may be located. I notice that when I go to Sketch \> Include Library, I see a list of "Arduino libraries" and "Contributed libraries".

I recently installed the Bounce2 library (it is now in "Contributed libraries"), and a sketch, that previously failed to compile and upload, now does so and works fine.

Another sketch that contains #include\<avr/pgmspace.h\> failed to compile and upload, but evidently not because the Arduino IDE could not find the pgmspace library. It failed because of C programming errors (variable types were not named).

What confuses me is this: When I go to Sketch \> Include Library, I do not see the pgmspace library, but I assume that it must be somewhere in the IDE or else I would have seen a compiling error similar to the one that I saw before I installed the Bounce2 library in my previous sketch (i.e., cannot find file Bounce2.h).

Can someone tell me where in the IDE I can locate all of the libraries that are presently available to the IDE?

---

<div class="post-metadata">

**Author:** ![septillion](https://avatars.discourse-cdn.com/v4/letter/s/c5a1d2/32.png) [@septillion](https://forum.arduino.cc/u/septillion)\
**Post date:** [April 12, 2016, 9:00pm UTC](https://forum.arduino.cc/t/libraries-location/379236/2 "2016-04-12T21:00:17Z")

</div>

The normal libraries that come with the IDE are located in [Arduino IDE]\libraries.

If you download a library you should put it in [Sketchbook]\libraries (defaut: C:\users[you]\Documents\Arduino). If you put them in the IDE folder you lose them on a update of the IDE etc. Not what you want

Most of these libraries work (or can work) for all types of boards. They are mostly higher level libraries.

The avr/[name].h tells you it's a specific AVR library. You can't use it on a not AVR board. It's located in the hardware folder (because it's hardware dependent). So [Arduino IDE]\hardware\tools\avr\avr\include\avr It's part of the compiler Arduino is build around, AVR-GCC.

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 5, 2021, 9:50pm UTC](https://forum.arduino.cc/t/libraries-location/379236/3 "2021-05-05T21:50:20Z")

</div>


