Beginning programming for Atmel uProcessors

arduinoatmelmicrocontroller

I'm taking the next step, going from my Netduino into the smaller microcontrollers from ATMEL (since there is no really tiny (tinier than the netduino) stuff running .NET).

Also have some experience with ATML and some (silly) assembly coding back from when I went to college. Assembly isn't my thing, my minimum requirement is C.

I'm looking at the ATTiny84 and ATTiny85 microcontrollers.

Since I don't have a Arduino Uno or whatever, I would need a programmer. The Atmel AVRISP STK500 USB ISP Programmer should do, but is there anything else I need to program the microcontrollers?

The plan is to put it in a breadboard, connect the programmer to the microscontroller and AVR Studio should do the rest?

Now there is some stuff I don't understand. Is it optional to put a bootloader on it? As I understand it you can put Arduino bootloader on both of them, making them able to run Arduino stuff which in turn could simplify the programming?

What is the process here, do I use the AVR Studio to flash both of the microcontrollers with Arduino tiny and then do the rest of the programming in Arduino?

Best Answer

Based on your intent to use AVR Studio, I will assume you are wanting to develop in a Windows environment. Most of my recommendations below are portable to unix-y systems as well.

You should do the following:

  1. Download / Install WinAVR
  2. Download Eclipse IDE for C/C++ Developers
  3. Follow instructions to install the AVR-Eclipse plugin.
  4. Make a new project targetting your desired chip and get a blinking light working. Proceed to more advanced things from there.
  5. You can use AVR Studio to target your chip with a hex file, or you can use avrdude to do it from the command line (the programmeres you suggested should both be viable in either case)

The concept of using a bootloader with an ATtiny is not a great idea, imho. You'll need additional support circuitry to do that (a USB to Serial converter and associated reset circuitry at least), and there is certainly some software complexity involved, as the ATtiny's don't generally have bootloader support built-in (no BOOTRST fuse for example). And you are typically already very space limited as it is.