--- /dev/null
+MCU=atmega32u4
+DUDECPUTYPE=m32u4
+#PROGRAMMER=stk500v2 -P usb
+PROGRAMMER=usbtiny
+LOADCMD=avrdude
+LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
+CC=avr-gcc
+OBJCOPY=avr-objcopy
+CFLAGS=-g -mmcu=$(MCU) -Wall -Wstrict-prototypes -Os -mcall-prologues
+
+all: ao-blink.hex
+
+ao-blink.hex: ao-blink
+ avr-size ao-blink
+ $(OBJCOPY) -R .eeprom -O ihex ao-blink $@
+
+ao-blink: ao-blink.o
+ $(CC) $(CFLAGS) -o $@ ao-blink.o
+
+load: ao-blink.hex
+ $(LOADCMD) $(LOADARG)ao-blink.hex
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright © 2011 Keith Packard <keithp@keithp.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+#include <avr/io.h>
+#define F_CPU 16000000UL // 16 MHz
+#include <util/delay.h>
+
+#define LEDOUT PORTB7
+#define LEDPORT PORTB
+#define LEDDDR DDRB
+#define LEDDDRPIN DD6
+
+int main(void)
+{
+ LEDDDR |= (1 << LEDDDRPIN);
+
+ while (1) {
+ LEDPORT |= (1 << LEDOUT);
+ _delay_ms(200);
+ LEDPORT &= ~(1 << LEDOUT);
+ _delay_ms(200);
+ }
+}