
The PWM frequency is about 10 kHz and does not make a noise in the motor. The 5 K Ohm potentiometer is connected to ADC input channel 0 and is converted to 1024 (10 bit) value, this value is applied to the PWM control and produces very smooth speed control. The HEXFET type IRL1004 has extremely low on resistance (0.009 Ohm) and requires only logic level drive, in this application it does not get warm even when controlling 1 Amp motor current. according the IRL1004 data sheet it can handle much higher motor current.
DC motor speed control using PWM: [Link]

The RGBLED and mRGBLED controllers allow you to control the color of RGBLEDs. This might sound trivial, but it actually takes a lot of resources to let you be able to set an RGBLED to any color you’d like. In addition to just lighting an LED up with a given color, these boards also let you install a color or setup transition/animations effects. They are easily controller via an RS232 connection (serial port) or an SPI connection (logic level).
The boards can be built reasonably inexpensively and there are PC boards available for either model. All source code for the onboard PIC processor as well as the software for configuring and using the controllers is available. The protocol is a simple protocol well documented.
I’m currently studying timers and pwm control on AVR’s so i can build my own projects related to controlling RGB LED’s. I hope I’ll get something up soon.
RGB LED PWM Control Project: [Link] - [via]

The circuit is very simple. The RGB LED is hooked up to the PWM outputs on PORTB1 , PORTB2 and PORTB3 of the ATMega8. There is also a resistor between the LED and the ATmega8 to limit the current to 20mA. There is also a link to the datasheet of the RGB LED that is used in this project.
The code for the fading LED is written in assembler with the AVR Studio 4. In this example the LEDs will fade in and out one by one. The PWM timers of the ATMega8 are used to let the LED’s fade in and out. To use the PWM timers you first need to initialize the timers at the begin of the program code. The speed of the fading in and out can be changed with changing the clock speed of the ATM8.You can copy and paste the textfile into the AVR Studio 4.
Fading RGB LED with PWM Controll: [Link]

Adding a cheap LCD to your PC is a popular diy project for many beginners in electronics. The parallel port however, is dead. It’s obsolete. It’s big…ugly and just awful. The solution? Add a USB interface to your existing LCDs. The circuit interfaces to a standard HD44780 compatible LCD and emulates the CrystalFontz serial protocol over a virtual COM port created by the FTDI chip. This enables you to use already existing software to speak to the LCD, for example the popular program LCD Smartie. The circuit uses an AVR microcontroller, the Atiny2313, and a USB chip from FTDI. The usb chip creates a virtual COM port on the computer. It has an external EEPROM programmable via USB to store information and settings. You can for example have the chip report back the name of your project when you plug it in. Very neat.
The backlight and contrast can be controlled from the computer. They are each connected to one of the PWM outputs on the AVR. Since the CrystalFontz protocol support software control of contrast and backlight, this seemed like a nice feature to add. Only LED backlights are supported, no EL backlights. The backlight can be powered from the USB port if its current draw is less than about 420 mA. If you need more, an external supply can be connected.
LCD USB interfacing: [Link]