I2C (read as I Squared C) bus first introduced by Philips in 1980, because of its simplicity and flexibility the I2C bus has become one of the most important microcontroller bus system used for interfacing various IC-devices with the microcontroller. The I2C bus use only 2 bidirectional data lines for communicating with the microcontroller and the I2C protocol specification can support up to 128 devices attached to the same bus. Today many I2C IC-devices available on the market such as Serial EEPROM, I/O Expander, Real-Time Clock, Digital to Analog Converter, Analog to Digital Converter, Temperature Sensor and many more.
How to use I2C-bus on the Atmel AVR Microcontroller – [Link]
Would be interesting if we could make our microcontroller to sing for us not just beeping or blinking; this project is all about using the powerful AVR ATmega168 16-bit PWM feature to produce accurate musical notes such as playing the child’s favorite Twinkle-Twinkle Little Star song or we could say beeping with style. The principal we learned here could be applied to other AVR microcontroller families that support 16-bit PWM.
AVR Twinkle Twinkle Using PWM Project – [Link]
Sometimes we need our microcontroller to interact with more human readable information. It will be better for us if we could make it display the words not just blinking the LED. Today most modern gadget such as mobile phone and PDA, use LCD (Liquid Crystal Display) for interacting with us. In this project we will learn how to use the 2×16 LCD for displaying the room’s temperature.
Actually driving the LCD hardware directly is a complex task, but luckily we don’t have to do that; in the market they have already put it together in one package the LCD display hardware and the microcontroller that control it, so our task will be easier now as we only talk to the build in microcontroller inside. The most famous on the market is the 2×16 LCD with LED backlight using Hitachi HD44780U or the equivalent microcontroller, this 80 pins microcontroller is a special dot matrix LCD driver controller with low power consumption and able to use 4-bit data or 8-bit data interface; my suggestion is to have this HD44780U datasheet near you as we walk through this project.
AVR LCD Thermometer Using ADC and PWM Project – [Link]
It’s interesting to explore what we can do with this tiny 8 pins; 8-bit microcontroller. The ATtiny13 is the smallest and cheapest Atmel AVR 8-bit microcontroller families but yet, it’s loaded with sophisticated peripherals such as two 8-bit PWM channels and 4 channels 10-bit ADC. Although the memory is quite small; 1 K flash, 64 SRAM and 64 EEPROM but this more the adequate for most PWM and ADC application, if you need more memory, bellow is the list of other Atmel AVR 8 pins microcontrollers which have compatible pins with ATtiny13 microcontroller.
Controlling DC motor with AVR ATtiny13 PWM and ADC Project – [Link]
PWM is used in many industrial mostly for controlling the motor speed. The PWM is used because it’s the most efficient method comparing to the analog one. That’s why most of the modern microcontrollers today have this features build in. How does this PWM works will be described on the following circuits:
Introduction to AVR Microcontroller Pulse Width Modulation (PWM) – [Link]
Optoisolated USBASP – excellent AVR microcontrollers programmer. It can program avr’s supplied from 1.8V to 6V, and with difference of potentials beetwin programmer and avr, at 2.5kV. I used very fast optocouplers on lines MOSI, MISO, and SCK – the 6N317 (up to 10mbits) and one standard PC817 optocoupler on RST line. You must connect supply and gnd from your avr to programmer…
2,5KV optoisolated USBASP, 1.8V-6V – [Link]
One of a kind, portable AVR programmer! Helps wherever you need to update the device firmware, where target device is in a hard-to-reach location and you can’t (or don’t want to) bring your laptop with a bunch of wires with you. Trivially easy to use, super cheap to make, super small, super fast, uses SD cards…
µProg – tiny, fast, portable AVR programmer with SD - [Link]
KarlP from the website “False and misleading information” has written this AVR code library for the MRF24J40 802.15.4 radio chip.
The MRF24J40 operates in the 2.4 GHz band and supports ZigBee™, MiWi™ protocols and proprietary protocols. It interfaces with an MCU via a four-wire SPI interface.
Updated MRF24J40 library code - [Link]
This microcontroller project is another version of a persistence of vision or POV toy. It has 8 LEDs and it is powered by ATtiny2313 (AVR microcontroller by Atmel) operating at 2 x AA batteries. This is a tiny toy and it can be carried easily inside your pockets.
tinyPOV – Yet Another AVR POV Project – [Link]
I had done a project where the AVR is powered via the main 110Vac line, So I had to find a solution to be able to test my code in real life, I had look to many thing and found very cool opto-isolator, “you must check the datasheet IL717″
AVR ISP Galvanic Isolation - [Link]