6

I am wondering if anyone here knows where the source code for the Arduino "firmware" is available for reading? I think it must be more than the 'boot loader' but I am not sure. Thanks!

p.s. I assume this kind of question is ok here, even though it's not ok on StackOverflow?

pitosalas
  • 161
  • 1
  • 3

2 Answers2

7

The “firmware” is whatever program a microcontroller runs. On an Arduino, it is typically the program you write and upload into the microcontroller's flash memory.

If by “firmware” you mean the core library (the source code of pinMode(), digitalRead() and so on), it is here:

https://github.com/arduino/ArduinoCore-avr

If by “firmware” you mean the bootloader (the small program that runs at reset and will accept the upload of your firmware), is is here:

https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/bootloaders/optiboot

Note that this is valid for the AVR-based Arduinos. The cores and bootloaders used in other architectures are stored is separate repositories, e.g.

https://github.com/arduino/ArduinoCore-sam

djvg
  • 103
  • 4
Edgar Bonet
  • 43,033
  • 4
  • 38
  • 76
4

If you are looking for the Flash Firmware, I think the github project documentation is pretty well developed, here:

https://github.com/arduino/Arduino

This is a good introduction to build and flash your Arduino UNO:

http://angryelectron.com/arduino-firmware/

And here a good start to build you own Arduino on a breadboard:

https://www.arduino.cc/en/main/standalone

Andrew Paes
  • 428
  • 2
  • 8
  • Thanks. The arduino/arduino github repo looks like java so I think it's for their IDE. Thanks for the other links, I will followup. – pitosalas Jun 06 '17 at 18:41
  • @pitosalas: that GitHub repo also has the source of the AVR core and a few extra libraries. – Edgar Bonet Jun 06 '17 at 19:21