Hey! I was wondering if I can burn the boot loader to any micro-controller? Does it have to be an ATMega chip, or can it be any chip. The reason I ask is, I am working on a project that needs more input and outputs than an ATMega328 has, so I was planning on buying a micro-controller with more pins, but I need to know if I can program it with the Arduino IDE.
MightyCore allows you to use some larger ATMega microcontrollers from within the Arduino IDE. The ATMEga 324/644/1284 have 32 IO lines.
If you need more than that, MegaCore lets you use the larger ATMegas, like the ones used in the Arduino Mega.
For microcontrollers not on any official board, consult the documentation for the third party hardware package you are using to add support to the ide. The avr can all be bootloaded like an atmega, but for other architectures, the hardware requirements will be different.
if I can burn the boot loader to any micro-controller?
A bootloader needs to be pretty strongly customized for the particular microcontroller that it will run on, but not extensively modified. So, for example, ATmega88, ATmega168, and ATmega328 are very similar microcontrollers, but they need separate bootloader .hex files because the bootloader is located at different memory locations, just because of the different sizes of memory. The ATmega8 is somewhat different from the ATmega88, because it's an older chip and has a slightly different UART. And so on.
A lot of the time, these differences are handled in the source code, so that (for example) Optiboot can be built for quite a few different chips. But you do have to do the special build, or find one that has already been built for you (ie MightyCore.)