diff --git a/converter/x68k_usb/Makefile b/converter/x68k_usb/Makefile
index 60e9a574..fd2eb199 100644
--- a/converter/x68k_usb/Makefile
+++ b/converter/x68k_usb/Makefile
@@ -4,7 +4,7 @@
# Target file name (without extension).
-TARGET = x68k_usb_pjrc
+TARGET = x68k_usb
# Directory common source filess exist
TMK_DIR = ../../tmk_core
@@ -24,9 +24,10 @@ CONFIG_H = config_pjrc.h
# MCU name, you MUST set this to match the board you are using
# type "make clean" after changing this, so all files will be rebuilt
#MCU = at90usb162 # Teensy 1.0
-MCU = atmega32u4 # Teensy 2.0
+#MCU = atmega32u4 # Teensy 2.0
#MCU = at90usb646 # Teensy++ 1.0
#MCU = at90usb1286 # Teensy++ 2.0
+MCU = atmega32u2 # Teensy 2.0
# Processor frequency.
@@ -37,6 +38,29 @@ MCU = atmega32u4 # Teensy 2.0
F_CPU = 16000000
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+#OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
# Boot Section Size in bytes
# Teensy halfKay 512
# Atmel DFU loader 4096
@@ -85,9 +109,7 @@ AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
-#PROGRAM_CMD = $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
-#PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
-PROGRAM_CMD = dfu-programmer atmega32u4 flash $(TARGET).hex
+PROGRAM_CMD = $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
# Search Path
@@ -95,7 +117,7 @@ VPATH += $(TARGET_DIR)
VPATH += $(TMK_DIR)
-include $(TMK_DIR)/protocol/pjrc.mk
include $(TMK_DIR)/protocol.mk
+include $(TMK_DIR)/protocol/lufa.mk
include $(TMK_DIR)/common.mk
include $(TMK_DIR)/rules.mk
diff --git a/converter/x68k_usb/config_pjrc.h b/converter/x68k_usb/config_pjrc.h
index c49b4a73..77989fe3 100644
--- a/converter/x68k_usb/config_pjrc.h
+++ b/converter/x68k_usb/config_pjrc.h
@@ -21,6 +21,7 @@ along with this program. If not, see .
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6800
+#define DEVICE_VER 0x0001
#define MANUFACTURER t.m.k.
#define PRODUCT SHARP X68000 keyboard converter
#define DESCRIPTION converts SHARP X68000 keyboard protocol into USB
@@ -45,7 +46,7 @@ along with this program. If not, see .
/* USART configuration
* asynchronous, 2400baud, 8-data bit, non parity, 1-stop bit, no flow control
*/
-#ifdef __AVR_ATmega32U4__
+#if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega32U2__)
#define SERIAL_UART_BAUD 2400
#define SERIAL_UART_DATA UDR1
#define SERIAL_UART_UBRR ((F_CPU/(16UL*SERIAL_UART_BAUD))-1)