Welcome to MattairTech!

Your Shopping cart is empty.

Skip to Main Content »

ATmega32U4 USB Development Board, Arduino compatible

Availability: In stock

Only 5 left
  • Buy 5 for $15.99 each and save 12%
Accepting MC, VISA, AMEX, Discover, PayPal

Quick Overview

Updated March 25, 2016: Arduino 1.6.7 support. Download below.

Updated January 28, 2015: Drivers are now signed!

May 2, 2014: CDC Bootloaders now improved with better Arduino support (you can now ignore jumper) and bugfixes.

       The MT-DB-U4 is a development board for the Atmel ATmega32U4 USB microcontroller. The board has 40 pins in a dual inline configuration with 100 mil pin spacing and 700 mil row spacing which allows for easy mounting on a breadboard. It includes a mini USB connector, status LED, 16MHz crystal, reset button, HWB boot jumper, and ISP header pads. A bootloader comes preinstalled which allows programming of the chip over USB without an external programmer. An ISP header is available which can be used with an external programmer. This header can be reconfigured to allow the MT-DB-U4 itself to be used as an ISP programmer (hex file available on website), or to be used as a SPI master or slave. The board can be powered via USB at 5V or it can be externally powered (3V - 5.5V). All pins are routed to headers, including those used by on-board hardware. The chip can be clocked externally, and the board is compatible with HV programming. The USB connections are also routed to header pins, which allows for panel-mount USB connectors. The PCB is high-quality with ENIG (gold-plated) finish, red soldermask, and white screenprinting showing the pinout and Arduino pin numbering. There are two 3mm mounting holes (~5mm pad). It measures approximately 2.1” x 0.9” (52mm x 23mm) and is 0.062” (1.6mm) thick.

There are three bootloaders available. Please select below.
CDC:Recommended! Arduino and AVRDUDE compatible
DFU:FLIP compatible
Atmel DFU:FLIP compatible (External pullup on E2/B pin required!)
With this option, the factory default fuse and lockbit settings will be used. The Atmel bootloader does not support the LED, will not allow reading of the FLASH (other than verification), has certain lock bits set, and REQUIRES AN EXTERNAL PULLUP RESISTOR for the E2/B pin. That is, connect a resistor between VCC and either the E2/B pin or the side of the HWB jumper closest to the reset button. If you need to protect your code from being read but lack an external programmer to set the lockbits, choose the Atmel bootloader.

MT-DB-U4 Revision B

Double click on above image to view full picture

Zoom Out
Zoom In

More Views

  • MT-DB-U4 Revision B
  • MT-DB-U4 Revision B
  • Arduino Pinout
  • Connecting MT-DB-U4 to external ISP programmer (Rev A shown)
  • Using Breadboard to install headers (Rev A shown)
  • Standard Headers
  • Machined Pin Headers

* Required Fields




*   ATmega32U4 USB microcontroller
*   12 10-bit ADC channels (1 used by LED which can be disconnected)
*   Serial USART, SPI, and TWI (I2C) communications
*   4 timers with 14 PWM channels (up to 7 simultaneous)
*   Arduino compatible
*   CDC (Arduino/AVRDUDE) or DFU (FLIP) bootloader preinstalled
*   Bitlash preinstalled (Arduino command shell)
*   ISP header (program chip using external programmer)
*   16MHz crystal
*   Green Status LED
*   Reset button
*   Bootloader jumper
*   Mini USB connector
*   Powered by USB or external power supply
*   5V (USB) or 3V - 5.5V (external)
*   All pins routed to headers (including those used by on-board hardware)
*   Can be mounted on a breadboard
*   USB pins routed to header pins (for panel-mount USB connector)
*   Inductor on analog supply with separate ground pin
*   High-quality PCB with gold-plated finish
*   Two 3mm mounting holes (~5mm pad)
*   Measures approx. 2.1” x 0.9” (52mm x 23mm) and 0.062” (1.6mm) thick.
*   LUFA USB library compatible (http://www.fourwalledcubicle.com/)


   User Guide

Arduino Support Features

* Arduino core and libraries ported to MattairTech USB boards
* 26 digital, 11 analog, 7 PWM, 5 INT, 8 PCINT, TWI, SPI, USART1
* USB Serial interface replaces USART0
      - Hardware maximum speed of 8Mbps
      - Can use terminal emulator or serial monitor
      - LED blinks when data is transferred (can be disabled)
      - Uses the same methods as the original HardwareSerial.cpp (ie: Serial.println("Hello!"))
      - Based on LUFA USB library by Dean Camera (www.fourwalledcubicle.com)
      - USART1 also available; can be used at the same time
* Arduino/AVRDUDE compatible CDC bootloader preinstalled (optional)
* Bitlash Arduino command interpreter (bitlash.net) preinstalled
* All libraries included with Arduino download are now supported
* Arduino pin numbering printed on PCB (0-25)
* HID keyboard and mouse now supported
* Bootloader automatically jumps to sketch after it is uploaded, reset button returns to bootloader.
   Auto-reset to bootloader now supported as well.

Arduino Pin Mapping


Bitlash is an open source interpreted language shell and embedded programming environment. The preinstalled Bitlash firmware was compiled in the Arduino environment and supports Arduino functions (ie: dw() for digitalWrite()). A terminal emulator (ie: HyperTerm) or the Arduino serial monitor may be used.

* Up to 26 digital input/output (w/ optional pullups)
* Up to 11 10-bit analog inputs (0V-5V)
* Up to 7 8-bit PWM outputs (can be used for analog out)
* Up to 5 external pin interrupts
* Up to 2 simultaneous frequency outputs
* Pulse width measurement

The following example demonstrates data acquisition and control capabilities:

bitlash here! v2.0RC4 (c)2011 Bill Roy, bitlash.net -type HELP- 1706 bytes free
> pinmode(13,1)        // set pin 13 to be a digital output
> d13=1                // set pin 13 to high
> pinmode(12,0)        // set pin 12 to be a digital input
> d12=1                // enable internal pullup resistor for pin 12
> x=d12                // read pin 12 and store result in x
> print x              // display value of x
> print ar(0)          // read analog input 0, returns 0 - 1023 (0V - 5V), print result
> pinmode(1,1)         // set pin 1 to be a digital output
> a1=127               // set pin 1 to output a 50% duty cycle PWM (0 - 255)
> if (d12==0) {a1=(ar(0)/4);}    // set PWM output 1 to be proportional to analog input 0

The following example saves three functions to EEPROM. It is then run in the background, pulsing the LED using analog write (PWM). Note that this could also be setup to run automatically at boot, thus allowing for some autonomous operation:

bitlash here! v2.0RC4 (c)2011 Bill Roy, bitlash.net -type HELP- 1706 bytes free
> print free, " bytes free"
1702  bytes free
> pinmode(13,1)
> d13=1
> x=255;d=0;
> function brighter {if (x==255) {d=0;} else { a13=++x; snooze(2);}}
> function dimmer {if (x==0) {d=1;} else {a13=--x; snooze(2);}}
> function pulseLED {if (d==0) {dimmer();} else {brighter();}
> ls
function brighter {if (x==255) {d=0;} else { a13=++x; snooze(2);}};
function dimmer {if (x==0) {d=1;} else {a13=--x; snooze(2);}};
function pulseled {if (d==0) {dimmer();} else {brighter();};
> run pulseled
> ps
0: pulseled
> stop 0

Documentation for Bitlash is available at http://bitlash.net/wiki/docindex

Commands arg else function help if ls peep print ps return rm run stop switch while
Functions abs ar aw bc beep br bs bw constrain delay dr dw er ew free inb max millis min outb pinmode printf pulsein random shiftout sign snooze

You may also be interested in the following product(s)

ATmega32U2 USB Development Board, Arduino compatible

ATmega32U2 USB Development Board, Arduino compatible

ZeptoProg II USB AVRISP mkII compatible Programmer and Multitool ( AVR ISP / XMEGA PDI / TPI )

ZeptoProg II USB AVRISP mkII compatible Programmer and Multitool ( AVR ISP / XMEGA PDI / TPI )


Hex Files

  Bootloader.hex  Revision 140502

May 2, 2014: CDC Bootloaders now improved with better Arduino support (you can now ignore jumper) and bugfixes.
The Bootloader.hex file is a CDC bootloader compatible with Arduino and AVRDUDE

  Bootloader_no_options.hex  Revision 140502
The Bootloader_no_options.hex file is a CDC bootloader compatible with Arduino and AVRDUDE
This version does not drive the LED or support the Arduino-specific features or the convenience features (see documentation).

  BootloaderDFU.hex  Revision 130416
The BootloaderDFU.hex file is a DFU bootloader compatible with FLIP

  BootloaderDFU_no_options.hex  Revision 130416
The BootloaderDFU_no_options.hex file is a DFU bootloader compatible with FLIP
This version does not drive the LED or support the convenience features (see documentation).

  bitlashdemo_MT-DB-U4.hex  Revision 111012
The bitlashdemo_MT-DB-U4.hex file is an Arduino command shell that comes preinstalled

  AVRISP-MKII.hex  Revision 130508
The AVRISP-MKII.hex file is an AVRISPmkII programmer for AVR Studio by Dean Camera (http://www.lufa-lib.org/). Set J1 to alternate position to use ISP header as an output to your target board. MT-DB-U4 and target must have the same operating voltage. Press reset to toggle between Atmel Studio and AVRDUDE mode. A 4MHz rescue clock is on pin B5. Latest version updates support for Atmel Studio 6.1.

  MT-DB-U4_Old_Demo.hex  Revision 110310
The MT-DB-U4_Old_Demo.hex file is an old demo program

Arduino 1.6.7 Support


Please visit the link above for more information and installation instructions.

Old Arduino Support (1.0.5) / Source Code

  MattairTech_Arduino_1.0.5.1.zip  Revision

Previously, Revision was erroneously posted, but this was a development version and was incomplete (it will add MIDI support). Please use instead.

MattairTech_Arduino_1.0.5.2.zip contains the Arduino 1.0.5 core files. Version fixes the sketch not running when not connected to a USB host (ie: USB charger). 1.0.5 fixes several bugs (including BSoD's on Win7-64) and updates the Arduino core files and libraries to 1.0.5. Version 1.0.4 added HID keyboard and mouse support, added auto-reset support, updated LUFA to 130303, updated the Arduino core files and libraries to 1.0.4, updated the bootloaders, and added support for the new MT-DB-U6. Please read the files INSTALL.txt and README.txt in the root directory.

  MattairTech_CDC_Arduino_Bootloaders.zip  Revision 140502
May 2, 2014: CDC Bootloaders now improved with better Arduino support (you can now ignore jumper) and bugfixes.
MattairTech_CDC_Arduino_Bootloaders.zip contains the source code for the LUFA CDC bootloader.

  MattairTech_Arduino_1.0.1.zip  Revision 1.0.1-1
MattairTech_Arduino_1.0.1.zip contains the Arduino 1.0.1 and Bitlash support files.

  MattairTech_DFU_Bootloaders.zip  Revision 130416
MattairTech_DFU_Bootloaders.zip contains the source code for the DFU bootloader.

  MT-DB-U4_111014.zip  Revision 111014
MT-DB-U4_111014.zip contains the source code for the old demo and the AVRISPmkII clone.



Updated January 28, 2015: Drivers are now signed!
The MattairTech_CDC_Driver_Signed.zip file is required for the demo program and CDC bootloader if running Windows, when it will operate as a CDC-ACM device (virtual COM port). This driver supports XP (SP3), Vista (32 and 64 bit), Windows 7 (32 and 64 bit), and Windows 8. The old unsigned driver is available at https://www.mattairtech.com/software/MattairTech_CDC.inf. Linux does not require a download (drivers should already be installed).

The DFU Bootloader also requires a driver. This driver is included with FLIP (inside the USB folder of FLIP's directory).


This development board/kit is intended for use for FURTHER ENGINEERING, DEVELOPMENT, DEMONSTRATION, OR EVALUATION PURPOSES ONLY. It is not a finished product, and may not (yet) comply with some or any technical or legal requirements that are applicable to finished products, including, without limitation, directives regarding electromagnetic compatibility, recycling (WEEE), FCC, CE, or UL (except as may be otherwise noted on the board/kit). MattairTech LLC supplied this board/kit AS IS, without any warranties, with all faults, at the buyer's and further users' sole risk. The user assumes all responsibility and liability for proper and safe handling of the goods. Further, the user indemnifies Atmel from all claims arising from the handling or use of the goods. Due to the open construction of the product, it is the user's responsibility to take any and all appropriate precautions with regard to electrostatic discharge and any other technical or legal concerns.

The authors disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall any author be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software.


Portions of this code are copyright (c) 2009-2013 Justin Mattair (www.mattairtech.com)

This code uses the LUFA USB library Copyright (C) 2013, Dean Camera (www.fourwalledcubicle.com)
     and distributed under a modified MIT license (see files).
     The CDC and DFU bootloaders are modified versions from LUFA.

The Arduino core files are copyright (c) 2005-2013 David A. Mellis (www.arduino.cc),
     copyright (c) 2004-2010 Hernando Barragan (wiring.org.co),
     copyright (c) 2006 Nicholas Zambetti,
     and copyright (c) 2009 Brett Hagman.
     They are modified from the originals by Justin Mattair and retain the original LGPL 2.1 licensing (see files).

The Bitlash files are Copyright (C) 2008-2012 Bill Roy (bitlash.net)
     They are modified from the originals by Justin Mattair and retain the original BSD style licensing (see files).

Accepting MC, VISA, AMEX, Discover, PayPal