Things needed before you learn AVR

There are several things you need to do before learning AVR. First of all, you need an AVR chip. You better choose megaAVR series, so you don’t need to worry about the lack of peripherals when required. Atmega8, Atmega16, or further mega’s will do correctly. Probably chose in DIP package as it will easily fit in breadboard for fast prototyping.  Development boards are great to work with, primarily designed for learning and prototyping.  Any Arduino board can be used with no problem, as it has all the necessary means to serve as a general-purpose dev board. Anyway, I leave this up you for a while. The next thing is the programmer. This is where you can get a headache. Really! In a few words, a programmer is a cable/device used to upload firmware (compiled program) to chip. Programmers can be connected to the computer via various ports, including parallel (LPT), serial (COM), and USB. Or there can be no programmer at all if the chip has a bootloader set up. But this will be discussed later. These were two hardware…

Continue reading

AVR at a glance

Any AVR microcontroller is an 8-bit computer in a chip designed and manufactured by ATMEL Corporation. It has some RAM and ROM (Flash) as well. There is also an EEPROM memory. Including AVR core CPU, all these are more than enough to say that it is a small computer where you can execute programs stored in Flash memory, run them while operating data in SRAM, and store some constant values in EEPROM. Compared to the actual computer that sits on your table, you can say that AVR core is a CPU like AMD or Pentium. Flash memory would be your hard drive where programs are stored; RAM is RAM nothing to add there. EEPROM can probably be compared to some media devices like CDRW. Anyway, this is only similitude in a different scale. AVR microcontrollers aren’t limited with core CPU and memory. The main thing that makes them valuable (and any other type of microcontroller) – they are rich in peripherals inside the chip. In most cases, you will find USART, I2C, SPI, ADC, Timers/Counters, and a bunch of I/O…

Continue reading

AVR tutorial. Initial word

AVR family is one of the leading 8-bit microcontrollers in its family. There are many reasons why many hobbyists chose this one among others. I don’t say that other families like PIC are worse – no way – can you find even better solutions if needed? Let’s not get into a big fight “what’s the best.” Brilliant engineers don’t fight – they choose the one that will do the job with less effort, less cost, and probably the most familiar one. Let’s stick with AVR for a while, as it is quite a favorite type among today’s hobbyists. Who doesn’t know Arduino? It is also based on AVR MCUs. So, interest in AVR is significant, demand is big, but one thing is missing – knowledge on how to program these babies effectively. You can find tons of various libraries and tutorials on how to do simple tasks like LED blinking, USART, I2C SPI communications, and other interfacing. This is great, but when your project grows into something more significant, you are stuck because simple big while() loop in the main…

Continue reading