If there is an AVCC or AGND or similar, connect them to VCC (for AVCC) and GND (for AGND). Look for the pinout and use this to connect VCC and GND to a 5V supply(this can be an Arduino). Open up the datasheet of the MCU to program (links on the second step). So, first, set your MCU into a breadboard. For the ones without bootloader, continue reading directly, for the rest, go to the next step. It will be different if you want to program MCUs without bootloaders or if you want to program ones with bootloader. (Optional, but recommend) Step 2: Setting Up the Software Some really cool idea on that you want to do after reading this. See the next step for how to install it right.Ĩ.
(I think you have one, otherwise you couldn't read this :))ĥ. You can also solder on a perfboard or a custom PCB, but that is up to you and will not be covered here.Ĥ. An USB Serial converter or an RS232 UART converter (only needed for programming MCUs with bootloader).ģ. This instructable will use an Arduino as ISP, but I will add a category on how you can use other ISP programmers at the end of the instructable.Ģ. Now you know what MCUs you will be able to program with this. So, here is a list of working MCUs, sorted by type and number: Name: = ATmega: ATmega8 ATmega8u2 ATmega16 ATmega32 ATmega32u4 ATmega48 ATmega64 ATmega88P ATmega128 ATmega128rfa1 ATmega165 ATmega165P ATmega168 ATmega169 ATmega324P ATmega328P ATmega640 ATmega644 ATmega644P ATmega645 ATmega1280 ATmega1281 ATmega1284P ATmega2560 ATmega2561 ATmega3290P ATmega8515 ATmega8535 = ATtiny: ATtiny26 ATtiny45 ATtiny85 ATtiny2313 = Others: AT90CAN128 AT90CAN32 AT90CAN64 AT90USB1286 AT90USB1287 AT90USB162 AT90USB646 AT90USB647 To find out that type of upload you should use, go to the AVR developers page and look that stands there. Click "Apply Values" and then you can see what type and speed of crystal to use in the drop down menu further up on the page. Then copy the number that stands instead of fuse into the fields at the bottom of the page. There will then stand _fuses= fuse and _fuses= fuse. The frequency for each MCU can be found by choosing your MCU here, opening up the boards.txt file and then searching for your MCU. Now you know something about that this is about, but you wonder what MCUs exact can I program using this instructable? First of all, only ATmegas, AT90s or ATtinys. Step 1: A List of That Atmels Can Be Programmed With This and That Is Needed
Also almost all pictures do NOT belong to me. Let's get started! IMPORTANT: I give no warranty in any way for anything in this instructable. I want to say a big thank you to Mark Sproul for the modified core files at. I just saw that some MCUs use the ArduinoISP as default and some use the USBtinyISP as default. If you can't figure out what to use instead of the and, I don't want an email from you. If you have any problems, feel free to post a comment or drop me an email (jandalheimerde). At the end I'm going to give some ideas on what you can to with your new knowledge earned from this.Īs a little side note I want to say something I'm just 14 years old, so please, if something is not as good as if an 40 year old engineer had done it, have mercy, write a comment about it and I will try to fix it. I'm also going to show you how to program the different MCUs and how to connect them to do so. So, this instructable is going to show how to use the core files available from. Just don't use the Arduino language and use things like bits and ports what you can't understand. So, what to do? Where are two alternatives:ġ. Or you need peripherals like CAN or similar what the normal Arduino supported MCUs don't have. But you don't want to use a 28 pin monster. You want to program in the Arduino language because of the simplicy. This is my first instructable, so I hope someone can do anything good with it.