Mini XMega Experiment Board

Mini XMega Experiment Board (MXMEXB) is a very simple starter kit for developing code and making small prototypes with the Atmel ATXMega microcontroller. It is very easy to try out different various sensor, components and extensions with the integrated breadboard area.

Features

  • Atmel ATXMega32A4U microcontroller
  • USB interface for downloading user programs and for serial interface
  • Powered from USB bus protected with a fuse and a diode
  • PDI-programming and debugging interface
  • 4 push-buttons
  • 4 LEDs
  • 170 connection point breadboard for prototyping
  • I/O ports accessible through pin header connectors (excluding those connected to switches and LEDs)
  • Pre-programmed boot loader and a default test software
  • Easily reprogrammed with USB cable and the pre-programmed boot loader
  • Debugging and programming via PDI-interface with Atmel JTAGICE mkII, AVR Dragon, JTAGICE3, and AVR ONE! debugging tools.
  • Can be optionally programmed with Atmel ISP mkII In-System Programmer

Files

Document: MXMEXB Document ver2

Code snippets from the document:

#include <avr/io.h>
#define F_CPU	2.0E6	// default CPU clock frequency is 2 MHz
#include <util/delay.h>			

int main(void)
{
    PORTC.DIR = 0x0F;		// set four lower bits of PORTC to output
	
    while(1)
    {
        PORTC.OUT = 0x00;	// all leds off
        _delay_ms(200);		// 200 ms delay
        PORTC.OUT = 0x0F;	// all leds on
        _delay_ms(200);		// 200 ms delay
    }
}
/*
 *  Knight Rider light 
 *
 *  Created: 24.10.2015
 *  Author: JKo, Tietomyrsky
 */ 

#include <avr/io.h>
#define F_CPU	2.0E6  // default CPU clock frequency is 2 MHz
#include <util/delay.h>

int main(void)
{
    uint8_t leds = 0x01;        // start from right
    uint8_t i;
	
    PORTC.DIR = 0x0F;           // set four lower bits of PORTC to output
	
    while(1)
    {
        for (i=0; i<4; i++)
        {			
            leds <<= 1;             // rotate left
            PORTC.OUT = leds;       // show next figure
            _delay_ms(100);         // 100 ms delay
        }

        for (i=0; i<4; i++)
        {
            leds >>= 1;             // rotate right
            PORTC.OUT = leds;       // show next figure			
            _delay_ms(100); // 100 ms delay
        }				
    }
}