I don't really know where to post this thread, I am looking for some information about the ATMEGA168 and the way it manages software
So far my understanding is that there are two pieces of software that are specific to the Arduino world on the chip
the bootloader that comes pre-installed on the chip on most (all) arduino boards
the code that we actually write and transfer in (most cases) via the USB to serial interace
What I want to achieve is to build my own Arduino, starting on a breadboard and so, I have some questions:
can I install the bootloader on my Diecimila compatible board and then remove the ATMEGA and place it on the breadboard? Is it risky? it does not seem easy to remove, is it even possible? not recommended?
on the short term, I don't plan to have any serial connection to the breadboard, hence I am thinking about moving the ATMEGA back and forth, assuming that it is possible to move it once without screwing up everything, is there any risk for my arduino to change the chips many times a day?
last, I am also realizing that the bootloader cannot be installed without an AVR ISP, can I just buy any of them or does it need to be compatible with the ATMEGA168. Does AVR refer to the family of chip the ATMEGA168 is a member of or is there more dependencies that I am missing?
can I install the bootloader on my Diecimila compatible boar
You can install the bootloader on the chip that is on the board.
then remove the ATMEGA and place it on the breadboard?
Yes.
Is it risky?
Not particularly. You need to be careful handling the chip.
it does not seem easy to remove, is it even possible?
With a small screwdriver, lift one end of the chip a little bit. Then lift the other end, a little bit. Repeat on each end, lifting a little bit at a time. The chip will come out.
is there any risk for my arduino to change the chips many times a day?
Why not just leave the chip on the Diecimila until the code works, then move it to the breadboard?
What I want to achieve is to build my own Arduino, starting on a breadboard and so, I have some questions:
can I install the bootloader on my Diecimila compatible board and then remove the ATMEGA and place it on the breadboard? Is it risky? it does not seem easy to remove, is it even possible? not recommended?
No, you can't burn a bootloader on to a blank 168 chip mounted in a Diecimila board unless you have a hardware programmer or another arduino board loaded with the Arduino as ISP sketch. You can however wire up your blank 168 chip to a breadboard with proper support components including crystal or resonator, load the Arduino as ISP sketch into your board, wire the needed connections from your board to the breadboard, run the sketch, select the proper 168 board selection in the IDE, select burn bootloader using Arduino as ISP option and it will proceed to burn the bootloader code into your breadboard mounted blank 168 chip. You can then install the now not blank chip into your arduino board and upload the final project sketch for your project.
on the short term, I don't plan to have any serial connection to the breadboard, hence I am thinking about moving the ATMEGA back and forth, assuming that it is possible to move it once without screwing up everything, is there any risk for my arduino to change the chips many times a day?
I have done that. Many will warn that you can wear out the pins of the socket over time but I've had no problems after dozens and dozens of switch overs.
last, I am also realizing that the bootloader cannot be installed without an AVR ISP, can I just buy any of them or does it need to be compatible with the ATMEGA168. Does AVR refer to the family of chip the ATMEGA168 is a member of or is there more dependencies that I am missing?
The 168 is a member of the Atmel AVR family of chips. What chips a hardware programmer can program depends on the specific programmer used and the software being used to drive the programmer. If using the Arduino IDE to burn bootloader then it has to be one of the five programmers listed in the burn bootloader IDE menu. But keep in mind that your Arduino board itself can become a hardware ICP programmer by loading the proper sketch into it.
Thanks a lot to both of you, this is precisely the clarifications I needed, I like the Arduino as ISP option I was not aware of, this is a very elegant way to solve my problem, am gonna research on that and go shopping