BrianH has posted a useful Instructables project that tests the capacity of rechargeable NiMh and NiCd batteries. The circuit is based on an Atmega168, and functions by draining the AA batteries (from 1 to 3 batteries) then computes and reports the capacity in mAh. It uses a Nokia 5510 graphic LCD to report battery condition and three MOSFETs used to switch the resistive load on and off during testing.
Capacity tester for rechargeable batteries – [Link]
Many AVR microcontrollers are capable of doing Analogue to Digital Conversion. The ATmega168 has 6 ports (8 ports on the SMD packages) that can be used for analogue input. This tutorial shows you how.
Analogue to Digital Conversion on an ATmega168 – [Link]
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 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]