Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Where can I get the IDE for ATMega328P?


I will start using the Baby Orangutan ATMega328P for a school project in the next 2 - 3 days.

I used the Arduino over the last 2 months.

Is there an IDE for the 328P that I can use? Where can I download it from? Should I use this IDE or should I stick with the Arduino IDE?

Also, where can I get an explanation of the different pins on the 328P and how to use them? For example, if I need to connect an I2C device to the 328P, which pins should I be using on the 328P?

I need to connect a servo to the 328P and run it under water (will be enclosing it in a floating device) and measure the temperature of the water.

What kind of temperature can I use here? Is there code available for using this temperature sensor with the 328P


The standard IDE for programming AVRs is called AVR Studio and was created by Atmel, but it only works under Windows. We don’t have a recommended IDE for Linux or Mac, but you can still compile and program your Orangutan using GNU make, avr-gcc, and avrdude.

Do you have our USB AVR programmer? If so, I recommend reading the programmer’s user’s guide because it talks about how to set up your system to program Orangutans in Linux, Windows, (and Mac). If you have a different programmer, you can still read the guide and learn a lot of useful information.

After you’ve gotten your Baby Orangutan to blink its LED by compiling and loading the BlinkLED example program on to it, you should install our AVR C/C++ library so you can do advanced things without writing a lot of low-level code. See the library’s user’s guide for information on how to install it and compile example programs. The easiest way to get started is to compile a simple example program in the library and then start modifying it to make it do what you want.

Alternatively, you could program the Baby Orangutan using the Arduino IDE, but it’s not as good for a few reasons. Also, since you’re a student, you should enjoy learning new things, such as AVR Studio! :slight_smile:

For documentation of the different pins on the 328P, see the AVR Pin Assignment Table Sorted by Pin section of the Baby O user guide and also look at the ATmega328p datasheet. To find out how to use the pins, you should first check to see if our library supports what you want to do. Our library has an OrangutanServos module for sending servo pulses, so you can just read the documentation of that module to do your servo control. Our library does NOT have an I2C module, so you should read the ATmega328p datasheet and search around on Google. Any Arduino or Orangutan code is likely to work on the Baby-O with little modification. Here are some resources for I2C:


You forgot to mention the name of the temperature sensor you were asking about. We do sell an I2C temperature sensor and have provided example code for using it on Orangutans, see this link again: pololu.com/docs/0J33/3
If you have an Analog temperature sensor you can just connect it to a free analog input and use the Pololu AVR Library to read the voltage on the pin.