This is an experiment board based on the new AVR ATxmega 128A1 microcontroller from Atmel. It features some nice gimmicks like an opto coupler, a RGB LED, a microSD card slot, infra red transmitter and receiver, USB, an external SDRAM and EBI extension header as well as a rotary encoder. The board has 6mil structures and hence is not home-producible (at least for the most of us). The board aims to be a general test bed for getting familiar with the new Xmega series. It could also be used as an application board.
It started out as a community project and I am about to spread about 100 pieces of this board into the crowd. We can expect some external contributions mostly in form of example code, which is rare at the moment. Although Atmel announced the MCU well over a year ago it is now that the first models become available in small quantities. This edgy character also establishes itself when it comes to the toolchain and programming tools and costs a lot of effort.
ATxmega128a1 development board - [Link]
Since this is a well working low budget AVR ISP progammer (by Thomas Fischl), I offer a compact single-sided THT-SMD combined layout. The circuit is identical to the official programmer, so the original firmware can be used with this board. This programmer is supported by avrdude. One of the main features is that the low speed USB protocol stack is realized directly with the used AVR controller, which makes this programmer a low budget one, about 5EUR material costs. Notice however that this programmer cannot be used with 3V3 systems without an additional level shifter.
Alternative board for USBasp AVR ISP programmer - [Link]
The Scoreboard project is now finished and working!
The idea of this project is pretty simple: control a ping-pong electronic scoreboard from an Android bluetooth-enabled device. To do this, I used an ATtiny45 which main function is to display the current scores in a VGA monitor while reading from a bluetooth module UART interface waiting for “commands” that will tell it what to display. The Android device sends the commands via bluetooth, running an application specially designed for this project.
As usual, the whole project is open source, including schematics, AVR firmware and the Android application.
The Little Wire is an open source AVR programmer that’s packed full of features:
- An AVR programer
- Four digital GPIO pins
- ADC with 10 bit resolution
- Two parallel hardware PWM outputs
- An USB interface
- A SPI interface
Little Wire – minimal AVR programmer and more - [Link]
Charalampos Andrianakis writes:
Two years ago i modified a scanner replacing its mechanism and all the internal electronics with UV lamps converting it to an UV exposure box for PCB prototyping. By the need of making my life easier and not waiting for the pcb to be exposured i designed an AVR timer to automatic switch off the lamps after 1 minute of exposure which was much enough for the PCBs. Here is the circuit
This was one of my first completed projects from design to production. As you can see the scheme isn’t that good and there have been by passed some capacitors at the power supply. But the circuit works with no problem.
AVR Switch Timer - [Link]
Arup wrote a guest post about his Nokia LCD breakout board:
I designed a simple Nokia LCD Breakout board which allows you to interface any Nokia 6100 compatible display to microcontroller like PIC and AVR. The board itself provides 6.8volts for the backlight by a simple boost converter built up using a common 555 timer IC. There’s a switch to choose whether you want to work with 5V logic, or with 3.3V logic. [via]
Simple Nokia LCD breakout board - [Link]
I designed this version in the need of a thermometer for my room, built in a small pack and easy to control. The hardware is designed on a way so that the pcb can be wall mounted. At the top side of the device the PCB extents giving space for two keyhole type holes which are able to keep the device mounted on the wall. The LCD display plugs at the front side of the PCB, covering all the electronic components and giving a compact design view. The user can interact with the device using the left side switch button. The design includes a 6-pin header which gives connectivity for UART (RX,TX,GND) and for the external sensor DHT-11 (VCC,GND,DATA). Also there is an ISP-6 pin header which gives the option of on board programming. Finally there is an optional Bluetooth plug on the back side connected with AVRs UART for possible communication to other devices like mobile phones, home automation devices, pc’s or whatever you imagine.
The code is written in C and is well performed in a readable way so anybody can read and modify it. For the LCD driving i have used Peter Fleury’s library.
AVR Atmega8 and DHT-11 Thermometer V2.0 - [Link]
Measurement of light intensity is a prime necessity in several occasions. The diversity of such needs make their way to various branches of physics and engineering as well as in media. For instance, in engineering, such kinds of measurements are needed to design optimum lighting conditions of a room. In photography, light intensity measurements ensure good quality pictures by determining the right exposure. Wiring a phototransistor or a light-dependent-resistor (LDR) with an analogue LED voltmeter chip like the LM3914 or even to a microcontroller and displaying the ADC values is a pretty simple technique of measuring light intensity. The bad part of this technique is that these simple and amateur-level devices can only measure relative intensity of light and are unable to provide measurements on an absolute scale. However, with a precise knowledge of the transfer characteristic (resistance vs light intensity) of the LDR it is possible to relate the LDR output to the intensity of light in standard unit. In case the LDR characteristic is unknown or unreliable, you can still calibrate the sensor output by using a variable light source and an external reference photometer. This project is about a microcontroller based light intensity meter where an LDR light sensor is calibrated against an external photometer to obtain the intensity of incoming light in the unit of lux. The lux is the SI unitm of illuminance and luminous emittance, and measures lumens per square meter (lm/m2). The microcontroller used in this project is ATMega8L and its firmware is written using mikroElektronika’s MikroC Pro for AVR compiler.
Building a digital light meter with a calibrated LDR - [Link]
Like many people, I have fairly diverse taste in music. My media library holds tracks from Bach, Beethoven, Billy Joel, Bonobo, Brent Lamb, Brahms, Brian Hughes, and the Bee Gees (to name just the “B” section). I love variety. The trouble is, all of these different genres tend to require slightly different volume settings. Worse still, in the case of some classical music, you can get quite a wide range of volumes within a single piece (e.g. O Fortuna). So if I hook up my BlackBerry and set it to shuffle, I find myself having to continually adjust the volume knob – either because I can hardly hear the current track, or because my neighbors are about to come banging on my door.
Well, I’m not the first one to have this problem. Nor am I the only one to attempt to solve it. In fact, it’s already been solved. As you may know, there are plenty of software solutions out there for so-called volume leveling. But before the advent of the BlackBerry, or the personal computer, there was the analog compressor.
AVR Audio Compressor – digital volume leveler - [Link]
I2C (also referred as IIC or TWI) is widely used interface in embedded applications. Two wire bus initially was used by Philips and become a standard among chip vendors. I2C bus consists of two lines called Serial Data Line (SDA) and Serial Clock Line (SCL). Communication is relatively fast and short distance mainly used to communicate between sensors, RTC, EEPROM, LCD. I2C protocol allows up to 128 devices connected to those two lines where each of them has unique address. Communication between devices is master and slave based. Master generates clock signal, initiates and terminates data transfer.
Programming AVR I2C interface - [Link]