Details
MT-DB-U4 Features
* ATmega32U4 USB microcontroller
* 32KB FLASH, 2.5KB SRAM, 1KB EEPROM
* 12 10-bit ADC channels (1 used by LED)
* 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 selection 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
* Measures approx. 2.1” x 0.9” (52mm x 23mm) and 0.062” (1.6mm) thick.
* LUFA USB library compatible (http://www.fourwalledcubicle.com/)
Documentation
User GuideArduino Support Features
* Arduino core and libraries ported to MattairTech USB boards
26 digital, 11 analog, 7 PWM, 5 INT, 8 PCINT, TWI, SPI, USART1, 32KB FLASH, 2.5KB SRAM, 1KB EEPROM
* 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
* Bootloader automatically jumps to sketch after it is uploaded, reset button returns to bootloader
Arduino Pin Mapping

Bitlash / DAQ
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
1
> print ar(0) // read analog input 0, returns 0 - 1023 (0V - 5V), print result
784
> 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);}}
saved
> function dimmer {if (x==0) {d=1;} else {a13=--x; snooze(2);}}
saved
> function pulseLED {if (d==0) {dimmer();} else {brighter();}
saved
> 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)
Hex Files for MT-DB-U4
Bootloader.hex Revision 111012
BootloaderDFU.hex Revision 111014
bitlashdemo_MT-DB-U4.hex Revision 111012
AVRISP-MKII.hex Revision 20110324
MT-DB-U4_Old_Demo.hex Revision 20110310
The Bootloader.hex file is a CDC bootloader compatible with Arduino and AVRDUDE
The BootloaderDFU.hex file is a DFU bootloader compatible with FLIP
The bitlashdemo_MT-DB-U4.hex file is an Arduino command shell that comes preinstalled
The AVRISP-MKII.hex file is an AVRISPmkII clone AVR ISP programmer by Dean Camera. To use, set J2 to the position opposite "ISP". This allows the ISP header to be used to program other boards. Vcc will be output to the target board, so it should not be powered. By default, AVR Studio is used. If you wish to use AVRDUDE, place the jumper between Agnd and F7 and press reset.
The MT-DB-U4_Old_Demo.hex file is an old demo program

Arduino Support / Source code
MattairTech_Arduino_1.0.1rc2.zip Revision 1.0.1rc2-1MattairTech_Arduino_1.0.1rc2.zip contains the Arduino 1.0.1rc2 and Bitlash support files.
arduino_MT-Ux_111012.zip Revision 111012arduino_MT-Ux_111012.zip contains the Arduino 0022 and Bitlash support files.
UPDATE: replace the Sd2PinMap.h file in "arduino 0022 folder/libraries/SD/utility" with Sd2PinMap.h.
UPDATE: replace the w5100.h file in "arduino 0022 folder/libraries/Ethernet/utility" with w5100.h.
Additional installation steps::
1) Put <usb_api.h> at the top of the file "arduino 0022 folder/libraries/SD/utility/SdFile.cpp"
2) Copy the entire "SD" directory from "arduino 0022 folder/libraries/" to the library folder in your user directory
The same two steps must be done for every library that references Serial.* methods.
MT-DB-U4_111014.zip Revision 111014MT-DB-U4_111014.zip contains the source code for the old demo, the DFU and CDC bootloaders, and the AVRISPmkII clone.

Drivers
MattairTech_CDC.infAn .inf 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 file supports Windows 2000, XP, Vista (32 and 64 bit) and Windows 7 (32 and 64 bit). 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). If using Windows Vista 64-bit or Windows 7 64-bit, you may need to download signed drivers from http://www.avrfreaks.net/index.php?module=Freaks%20Academy&func=viewItem&item_type=project&item_id=2196. The latest version of FLIP should not require this.

Legal
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.
Credits
Portions of this code are copyright (c) 2009-2011 Justin Mattair (www.mattairtech.com)
This code uses the LUFA USB library Copyright (C) 2011, 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-2011 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-2011 Bill Roy (bitlash.net)
They are modified from the originals by Justin Mattair and retain the original LGPL 2.1 licensing (see files).





