Hi there
I'm really new to micro-controllers. what are the various ways that I can program an ATmega328p?
Do I necessarily need an arduino board to program an ATmega328p?
Hi there
I'm really new to micro-controllers. what are the various ways that I can program an ATmega328p?
Do I necessarily need an arduino board to program an ATmega328p?
Hello carl_gem
First of all, good questions, To program an ATmega328p using Arduino IDE, a knowledge of C is needed, Most people will get an Arduino Uno 3 to start. But since this is open hardware, there are many clones to look at adding features like wireless, LED's, switches, and other sensors. For a small list, see arduino Clones? The only downside is soldering which can be a change to some. What do they have in common? Most of them use the ATmega328p chip. If you are just starting, the chip is really cheap! But you have nothing to use with it
What to know about it:
Before anyone says "But I do this another way", I have chosen what I think is a simpler less confusing way.
For references:
To buy: https://www.sparkfun.com/products/9061
Other choices (remember avoid square) https://www.sparkfun.com/categories/21
To use another Arduino to program How to use Arduino as AVR Programmer (for ATMega328p)
To breadboard (simple) and play with from PC using AVRDUDE avr - Programming a ATmega328P on a breadboard - programmer cannot connect - Electrical Engineering Stack Exchange
Tutorial of programming in C Video: Learning to program for the ATmega328p Part I | Hackaday
Clem
Please mark "correct" if this answers your questions as this help others too. If you have other related questions post here. Otherwise kindly open a new question. Enjoy the process and have fun.
Editted per Peter Oakes correction
Hello carl_gem
First of all, good questions, To program an ATmega328p using Arduino IDE, a knowledge of C is needed, Most people will get an Arduino Uno 3 to start. But since this is open hardware, there are many clones to look at adding features like wireless, LED's, switches, and other sensors. For a small list, see arduino Clones? The only downside is soldering which can be a change to some. What do they have in common? Most of them use the ATmega328p chip. If you are just starting, the chip is really cheap! But you have nothing to use with it
What to know about it:
Before anyone says "But I do this another way", I have chosen what I think is a simpler less confusing way.
For references:
To buy: https://www.sparkfun.com/products/9061
Other choices (remember avoid square) https://www.sparkfun.com/categories/21
To use another Arduino to program How to use Arduino as AVR Programmer (for ATMega328p)
To breadboard (simple) and play with from PC using AVRDUDE avr - Programming a ATmega328P on a breadboard - programmer cannot connect - Electrical Engineering Stack Exchange
Tutorial of programming in C Video: Learning to program for the ATmega328p Part I | Hackaday
Clem
Please mark "correct" if this answers your questions as this help others too. If you have other related questions post here. Otherwise kindly open a new question. Enjoy the process and have fun.
Editted per Peter Oakes correction
The Crystal/resonator needs to be the speed you want to run at, not 32K which is often used for Time keeping rather than time base for some MPU's (Specifically the ATMEGA 328 does not use a 32K crystal)
so the crystals would be 8, 12, 16, or 20Mhz depending on the voltage your running the MPU at (8Mhz is low volts/power, 20Mhz you will be at the full 5V and higher power)
otherwise a great response
Hi clem57 Good answer, but not understand about 32K Crystal, i'm checking the datasheet of the ATMEGA328 and supports up to 20 MHz and apparently the 32K of flash memory.
Hi, I use the 328 in a lot of applications, because of its size, speed, and on board resources make it a very versatile solution to many situations. I buy Arduino platforms for doing a good deal of the prototyping because they come with built in serial to USB making a simple place to have debug information output. I skip using the Arduino interface for most of my work, because it doesn't do a good job of managing interrupts the way I want. I use a programmer that I purchased through the Atmel site. Either the AVR Mark2 or the JTAG. The mark2 is my workhorse for programming in circuit both the application code and the EEPROM.
Jack