29 January, 2013

USB devices

So, do you want to project and build USB devices? Something like one USB scale? one LCD display? or one special type of keyboard? So do I! Lets just say that today it's not that hard - with the proper uC and library you can build simple devices in just one day without much headache (Thanks to all that hard work done by the the open source community!). Welcome to my "online procrastination USB project learning share experience" ...

Don't get too much excited thought, we will just scratch the surface here (that's why I said "simple devices"). If you want to go deep into the USB devices be prepared for some long time reading books, specs and lots and lots of coffee - the USB spec is hard core (IMHO) - actually it is one of the the most complex protocols out there and it will take a while to learn all stuff required to make pro gadgets.

So, Hey Ho, Let's Go! let's see the arsenal that will help you to create your first awesome USB gadget:

uC Library

uC Familyhex SizeUSBLicensing


ATTiny / ATMega+- 1350 bytes1.1 low speedGPL v2 or later


AVR+- 1400 bytesFully 1.1 compliant low-speedGPL v2 or commercial


Prototype Boards

Teensy 2.0 and Teensy++ 2.0

As far as I can tell the Teensy board was one of the first ATMEL based prototype boards with USB support

Arduino Mega ADK

The Arduino Mega ADK is nothing more than the Google ADK main board without that cute test board (the google ADK sold out in the first month). This board is based in the awesome work done by Oleg.

Arduino Leonardo

Arduino UNO R3

Arduino UNO R2

Arduino UNO R1

Arduino Micro

Platform USB Drivers



Reference books

  1. Online Book USB in a NutShell
  2. USB Made Simple
V-USB tutorials:
AVR ATtiny USB Tutorial Part 1Awesome tutorial.
AVR ATtiny USB Tutorial Part 2
AVR ATtiny USB Tutorial Part 3
AVR ATtiny USB Tutorial Part 4
V-USB tutorial continued: HID mouse
USB HID keyboard with V-USB
    LUFA tutorials
  1. Arduino USB Keyboard Passthrough
    USBTiny tutorials
HID/USB Keyboard Repeater with Playback Homemade Hardware Keylogger/PHUKD Hybrid Decoding the NZRI data (USB SNIFFER) Ambitious Arduino newb. Any help with USB? SIAM32 USB HC Non-return-to-zero Interesting Keyboard development "evolution": http://forum.colemak.com/viewtopic.php?id=1561 This guy started to develop one keyboard with a full arduino ADK stack and then he figured out that the max34 was kinda under used ... http://hackaday.com/2011/10/06/hardware-based-keyboard-remapping/ http://41j.com/blog/2011/10/a-programmable-keyboard-controller/ Complete keyboard, from scratch! Mechanical Keyboard Guide Mechanical Keyboard Guide https://github.com/tmk/tmk_keyboard/tree/master/keyboard USB Keyboard Sample from PJRC (using push buttons) http://www.pjrc.com/teensy/usb_keyboard.html https://github.com/gimpster/Phantom-Keyboard https://github.com/arjan/ButtonKeyboardProject Generic Keyboard Driver for atmel/avr https://github.com/rhomann/kbupgrade http://hakshop.myshopify.com/collections/gadgets/products/usb-rubber-ducky

This creature is not totally ready yet and, please, fell free to post your comments and suggestions to feed this Tamagotchi ...

No comments:

Post a Comment