EEPROM (Electrically Erasable Programmable Read Only Memory) Is non-volatile memory, meaning it persists after power is removed. The ATmega168 microcontroller has 512 bytes of EEPROM which can be used to store system parameters and small amounts of data. This tutorial shows you how to read and write EEPROM.
Reading and writing Atmega168 EEPROM – [Link]
This project provides drivers for the Nokia 6100 LCD. The driver has only been tested with the new Epson unit from SparkFun (Chinese clone, red tab on protective cover, green PCB with brown traces). It should work with the Philips or the older Epson chips too but will inevitably need some fixes. The driver has been tested on the ATmega168 and the dsPIC33FJ128GP but has been designed to be easy to port to other architectures.
Driver for Nokia 6100 LCD - [Link]
This device monitors household power usage and logs it to an SD card. A simple analog front-end amplifies the signals from voltage and current detectors and an ATmega168 microcontroller computes the power consumption using the formula P=V*I. The voltage and current are each sampled at 9615 Hz so the integration should be fairly accurate even for highly non-sinusoidal loads such as computers or fluorescent bulbs.
An AVR-based power usage logger – [Link]
This project is an Arduino datalogging accelerometer with u-SD storage using the Will Greiman’s Fat16 library for the Arduino and based on ATMega168. The code is highly configurable: it can save raw A/D values or converted values, it allows software-defined gain, it can collect for a set time or until user input, and of course the collection interval is user-defined.
Arduino datalogging accelerometer with u-SD storage – [Link]
This easy-to-build electronic device allows you to take a screen-shot of your calculator display and show it on an NTSC or PAL television set. The TV Demonstrator can be used with the TI-82, TI-83 and TI-83+ calculators. The unit is based on ATmega168 microcontroller running at 20MHz. Check schematic and source code on the link below.
TV Demonstrator - [Link]
This project is a Led ring using 8 tiny RGB Leds controlled by a ATmega168 chip. The LEDs can light up in various effects. There are many posts covering the board design, assembly and Demo code. There is also a kit available.
RGB LED Ring - [Link]
This project shows how to build a Digital clock with 32×8 LED matrix display based on ATmega168 microcontroller. It doesn’t use a RTC timer chip but timer interrupt triggered via external crystal at 32.678kHz. It allows generating exact 1sec intervals while AVR is running with internal system clock at 8MHz.
Digital clock with 32×8 LED matrix display - [Link]
This tutorial will teach you about the 8 and 16 bit timers on an ATmega168 microcontroller. Because the ATmega168 is very similar to the ATmega48, ATmega88 and ATmega328, the examples should also work on these. For other AVR microcontrollers the general principles will apply but the specifics may vary.
Timer interrupts on an ATmega168 - [Link]
This tutorial will teach you how to use external and pin change interrupts on an AVR microcontroller. I will be using an ATmega168. The general principles apply to other AVR microcontrollers, but the specific vary greatly.
External Interrupts on an ATmega168 – [Link]




















































