USB Board – Hardware

The main element of the USB-Board is the AT90USB1287 from Atmel. This is a 8-bit AVR RISC-based microcontroller capable of being an USB 2.0 low-speed and full-speed On-The-Go host/device.
The other elements on the board are some resistors, capacitors, pinheaders, two pushbuttons, one 16 MHz crystal and a USB Mini-B socket.

The capacitors are mainly used as decouple capacitors and are placed fairly close to the power supply pins. The UCAP pin is also connected to capacitor as descibed in the datasheet[Link]. The two buttons are used to drive the RESET and the HWB pin. Continue reading

Programming the board

The programming of the USB Board is done through Atmel’s FLIP application[Link]. With this you can write your own hex file to the board using the USB interface. No hassle with a SPI header, just plug the device in your USB port and FLIP does the rest. Very very handy.

AVR Application Note 282[Link] describes the whole process. It basically comes down to these five steps: Continue reading

USB Board – Software

The USB Board uses the USB framework made by Dean Camera called LUFA[Link]. This is a very handy framework that you can alter very easily to your own needs and is released under the MIT license. The framework is well documented and the site provides enough examples for you to get started.

I used the Virtual Serial demo as starting point for my application. With this demo the USB board is seen by the computer as a serial port. This demo can by alter fast and provides simple read/write actions like: Continue reading