Davide Gironi writes:
The PWM frequency have to be selected in the way that the switch frequency is much higher than the dynamics of the motor.
To avoid noise from the motor, the choosen PWM frequency is 20Khz. Which is a know to know frequency.
So, with this one, you can drive up to 4 motors independently controlling:
*slow start / stop
Setup parameters are contained in dcmotorpwm.h
This library was developed on Eclipse, built with avr-gcc on Atmega8 @ 8MHz.
Driving a DC motor using PWM with AVR ATmega – [Link]
For a project of mine, I need to flash several hundred of ATMegas.
I use a special programming connector, which sits on the SMD chip and connects directly to the ISP and power pins on the chip.
My first attempt to ease the flashing process was to mount the programming connector to a lever with some additional weight on it. That way, once the connector was in place, I didn’t need to hold down the connector manually during the flashing process.
The PCBs come in panels of 40 (10 x 4 PCBs per panel) with milled slots in between each PCB. So to make the positioning of the PCBs under the connector a little easier (and more repeatable), I put two metal pins (with the same diameter as the milled slots) on the base of the lever.
Flash several hundred of ATMegas using a CNC – [Link]
Stephen Wylie , “Program two ATmegas w/an Arduino & AVRDUDE without re-cabling in between!”
Those of you who have programmed an Arduino through the Arduino or AVR Studio IDE may have noticed the utility that is really doing the work: AVRDUDE (AVR Downloader/UploaDEr). This is a powerful program that can facilitate programming new sketches on top of a bootloader, load a brand new bootloader or chip image, capture the current firmware programmed on the chip, and set fuse bits (which can render your chip unusable without special tools if you’re not careful).
Make your own dual programmer in AVRDUDE – [Link]
by Francois AUGER & Philippe Fretaud:
Many previous Design Ideas [1, 2] have shown how to use the Charlieplexing technique  to drive as many LEDs as possible with a minimum number of I/O lines. This Design Idea shows how you can drive three LEDs and scan three switches with only three I/O lines instead of six. Using the same principle, it will also be possible to manage four switches and two LEDs, or five LEDs and one switch. It works well with Atmel ATmega microcontrollers including the Arduino, and could be of particular interest for any eight-pin devices, or when you’ve simply run out of I/O.
3 pins, 3 LEDs, 3 buttons – [Link]
Here’s a pool cleaner robot built on ATmega by Davide Gironi:
My replacement electronics it is based on ATmega8 micros.
The project is divided into two parts:
The timer contains the 220 AC to low voltage DC current, and it is out of water, his purpose is to start and stop the cleaning pool robot, which of course is inside the swimming pool.
ATmega based pool cleaner robot – [Link]
Dan over at HackAday documented his single chip computer project with the PCBs from DirtyPCBs:
A single AVR microcontroller (the ATmega 1284P) has been used to create a standalone computer system which runs the BASIC programming language. The 1284P runs TinyBASIC Plus, generates RCA video signals (using TVout) and reads PS/2 keyboard input. A single sided PCB was used to hold all the components meaning it is easy to manufacture the computer at home using processes such as photo-etching. Additionally, the component count is fairly low and only one IC is required (the 1284P).
Single chip AVR BASIC computer – [Link]
I recently stumbled across an interesting fact in the datasheet for the ATMEGA32u4, the microcontroller I am using for my Einstepper Project. I was surprised to find that Atmel had included a temperature sensor in the core of the device that you can read using the internal ADC. As it turns out, there are many megaAVR devices contain an internal temperature sensor. According to Atmel’s product finder, these devices are:
ATMEGA Core Temperature Sensor – [Link]
anool @ wyolum.com builds a pulse lamp controller for the parking light of his KTM bike. He writes:
My brother is a Mechanical Engineer who loves his KTM Duke 200 bike. He asked me to build this circuit : http://sunbizhosting.co.uk/~spiral/blog/?p=227 for a ‘heartbeat’ lamp controller for the parking light. A Neutral Detect (ND) signal controls the lamp pulsing. When ND is HIGH, the Lamp is fully lit. When ND goes LOW, the lamp starts pulsing.
I’m not familiar with PIC microcontrollers, and didn’t want to dabble in “C” code. I’d be comfortable with an Arduino, but even the smallest ATMega seemed too big (and overkill) for this simple requirement. How about an ATTiny ? A bit of Googling, and I found this excellent resource for running the Arduino environment on the ATTiny : http://hlt.media.mit.edu/?p=1695
p.u.l.s.e. – fader control for Motorcycle parking Lamp – [Link]
In this article, circuitstoday.com explain the basics surrounding arduino. As the title indicates, this article is for absolute beginners in the world of electronics and for people who are beginning with arduino boards.
Arduino is an electronics prototyping platform based on a micro controller. Arduino boards are usually made using Atmel’s Atmega series micro controllers or ARM micro controllers. Arduino is an open source hardware project which means the designs of board (the hardware architecture, CAD files) are available to public with open source license. Anyone can modify the hardware designs and the associated software.
What is Arduino – Introduction to Arduino for Beginners – [Link]
Davide Gironi writes:
This library is an update of the software PWM driver you can find here.
This update implements also progressive start / stop features. So, with this one, you can drive up to 4 motors independently controlling: speed, direction, slow start / stop
Driving a DC motor using software PWM with AVR ATmega – [Link]