Get Source Codes of Libraries that come with Arduino IDE

Sometimes, you are just curious to know where the source files of Arduino are hidden. In other words, from where does Arduino know what to do when you write Serial.print(). Or where are the source codes of various libraries like SPI or Wire are stored.

The Arduino Source Code files can be accessed by going to the directory containing your Arduino Software. On Windows, you can type Arduino in the start, right-click on Arduino and click on 'Open File Location'. If this opens a shortcut icon, you can right-click on the shortcut icon and again click on 'Open File Location'.

This will open up the folder containing the Arduino Software executable. The path on Windows typically is C:\Program Files (x86)\Arduino.

Within this folder, there are several places where you can get the library source codes. The Arduino Core files can be found at \hardware\arduino\avr\cores\arduino

The print(), HardwareSerial(), etc. functions can be found within these files.

Some other libraries like SPI, Wire, etc. can be found in \hardware\arduino\avr\libraries

Also, some other application oriented libraries can be found within \libraries

Please note that any library that you install externally, using Manage Libraries, can be found in C:\Users\YourName\Documents\Arduino\libraries

Please make any changes to the libraries at your own risk. There can be several unintended consequences, especially when changing Core files.