ATtiny13 – LED fading with delay function (Software PWM)

This project shows how to simply Fade-In and Fade-Out a LED by using delay function to control pulse width what is sometimes called Software PWM (Pulse Width Modulation). In our circuit a LED is connected to PB0 and it is made to Fade the LED In and Out alternately. The code is on Github, click … Read more

How to compile and burn the code to AVR chip on Linux/MacOSX/Windows ?

This is a quick tutorial for beginners that aims to show how to install tools, compile the code with avr-gcc and send it to the MCU with avrdude. It also introduce basics of automation of this task by putting the all instructions into Makefile. The example files (main.c, main.bin, main.hex, Makefile) has been packaged as … Read more

[MBAVR-1] Minimalist development board for MCU of tinyAVR family (i.e. ATtiny13, ATtiny85, etc.)

This is a quick how-to guide of making a minimalist development boards for MCU of tinyAVR family like ATiny13/25/45/85. The idea behind this project was to create an environment for rapid development. I’ve been designing many projects based on this little MCUs and I didn’t want to wire it all up any more by hand. … Read more

AVR MCU Architecture

The AVR architecture is a huge topic in itself. I will just provide a general picture of how the AVR microcontroller works. The AVR uses a Harvard architecture thus it has separate memories and buses for program and data. Instructions in the program memory are executed with a single level pipelining. While one instruction is … Read more

What is an AVR Microcontroller ?

The AVR is a modified Harvard architecture 8-bit RISC single-chip microcontroller. The AVR was developed by Atmel in 1996 and was one of the first microcontroller families to use on-chip flash memory for program storage. The AVR microcontoller is like a small computer – includes a CPU, some flash program memory, some SRAM and some … Read more