ATMEGA32U4
Many hackers wish to produce a USB device that presents itself as a HID joypad, keyboard, or mouse to a PC or Pi to provide interesting interactions and I/O opportunities in a "standardised" manner. The Arduino Micro and more recently the Leonardo use a micro with an inbuilt USB peripheral device that can be repurposed directly. Previously the Arduino boards used a second small micro or dedicated USB chip (essentially another micro) to perform the USB-serial task but the cost of this additional device was high (often more than the micro itself) and that essential USB device feature soon found itself integrated into a number of Atmel chips. This was an opportunity for the Arduino project to divorce itself from a massive dependence on FTDI (in good time for #FTDIGATE !!) and for hackers to get involved with the delights of the at90usb82, atmega16u2, etc. as secondary processors for USB comms.
Time rolls on and the excitement of the brilliant but non-open Minimus project dies down to find a number of crazy-cheap options where the USB chip is the main chip. The Atmega32U4 can be found on the Arduino Micro (currently for about £20) but also on the wonderful Teensy 2.0 and some really cheap little boards from China that at £4 each are cheaper than buying just the chip from here in the UK (in reasonable quantities). Myself (Michael E) and Spencer have ordered some of these bonkers-cheap units for initial testing and evaluation.
Info Dump
- http://www.atmel.com/devices/atmega32u4.aspx
- full datasheet: http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf
- short summary: http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Summary.pdf
- 10x board for £40: http://www.ebay.co.uk/itm/10x-Arduino-Pro-Micro-Leonardo-compatible-ATMEGA-32U4-5v-NEW-TESTED-UK-Stock-/161766720163?ssPageName=ADME:L:OU:GB:3160
- 1x board for £6
Initial Works
- board inspection: -
- what is included other than the MCU and a 16MHz crystal?
- what is missing other than the ICSP header?
- programming the board as an Arduino with Arduino IDE
- programming with dfu-programmer and avr-gcc, avr-libc, etc.
Michael's USB-HID Work
Origins: -
- Minimus
- LUFA
- Teensy and Teensyduino
- KADE
- UnoJoy