V-USB Human Interface Devices

[ HID | Interfaces | Data Acquisition | Displays | Programmers | Control | Other ]

This page lists projects implemented with V-USB. Please remember: We also want to list your project! If you don’t have a web site to publish it, you can host it in our Wiki.

HIDKeys - a USB Keyboard

HIDKeys is a USB keyboard with 17 keys. This is an example demonstrating how to implement HID class compliant USB devices. It uses the operating system built-in driver for USB keyboards and thus needs no additional software on the host. For a full-blown keyboard implementation, see the C64 Keyboard project below.

http://www.obdev.at/products/vusb/hidkeys.html
Author: Objective Development Software GmbH

SNES/NES Gamepad and Atari Joystick to USB Adapter

NES and SNES are gaming consoles. When playing NES and SNES games with an emulator, nothing is better than using the original gamepads. This project converts the NES/SNES interface to USB, emulating a USB joystick. A project update from December 2006 brought support for Atari joysticks. See the project’s News section for a link. An illustrated guide for building a controller for 4 SNES/NES gamepads can be found here and here. There are also instructions for building the adapter without a PCB.

http://www.raphnet.net/electronique/snes_nes_usb/index_en.php
Author: Raphaël Assénat

PPM RC to USB Interface

This project is a USB joystick controlled by a PPM radio remote control transmitter. There are a lot of such projects around based on different MCUs and USB drivers. But this one is Open Source. It provides very accurate PPM handling and a number of filtering options. Home constructors will like the optional servo tester mode and ADC interface instead of PPM for self-made control boxes.

http://vusb.wikidot.com/project:ppm-rc-to-usb-interface
Author: Oleg Semyonov

C64 Keyboard

This project implements a full-blown USB keyboard based on the keyboard matrix of a Commodore 64. The fun in this is that you can put a state of the art miniature PC into a C64 breadbox. Technically, it demonstrates how a real USB keyboard can be implemented with V-USB.

http://symlink.dk/electro/c64key/
Author: Mikkel Holm Olsen

3DP-Vert

For many people, Microsoft’s Sidewinder 3D Pro is the only joystick they ever want to use. Unfortunately, most modern computers don’t have a Game Port which is required to connect this joystick. 3DP-Vert allows you to connect the Sidewinder 3D Pro via USB.

http://code.google.com/p/sw3dprousb/
Author: Grendel

USBJoy

This project is primarily for Russian speaking users. It’s similar to the SNES/NES gamepad to USB adapter above, but connects to the following consoles: Dendy (Russian NES), SEGA Mega Drive-II, PlayStation and PlayStation-2. You can use these gamepads with game console emulators and computer games.

http://vusb.wikidot.com/project:usbjoy
Author: Sergey Ryumik

N64/Gamecube Adapter

This is another variation of the NES and SNES gaming console adapter. This one turns a Nintendo 64 or a Gamecube controller into a USB joystick.

http://www.raphnet.net/electronique/gc_n64_usb/index_en.php
Author: Raphaël Assénat

IRMouse

IRMouse registers as ordinary mouse to the host computer, but it’s controlled by codes of an IR remote control instead of physical movements. You can assign IR codes to x/y movements and mouse buttons.

https://github.com/ksz2k/irmouse
Author: Krzysiek Szczuka

Magnetic Mouse

This is a very interesting college project demonstrating the implementation of a drawing tablet based on hall effect sensors. Lots of background documentation!

http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2007/ayl26_ym82/ayl26_ym82/index.htm
Author: Yiyin Ma and Abby Lin

InfraHID

This project is a general IR remote control to keyboard and mouse event converter. You can assign keystrokes, mouse movements and mouse button clicks to the codes sent by an IR remote control.

https://sites.google.com/site/vamposdecampos2/infrahid
Author: Alex Badea

The Lord of the Keys - Store Passwords on SmartCards

This password database emulates a USB keyboard to send passwords to the computer. It’s the winner of a Honorable Mention Award in Circuit Cellar’s AVR design contest. An interesting mix of technologies with excellent documentation!

http://www.terra.es/personal/ccossio/atmelAVR2006.htm
Author: Carlos Cossio

EasyLogger - ATTiny45 Without Crystal

This project demonstrates how to take advantage of the internal RC oscillator of the ATTiny45 to get more free I/O pins. It’s a data logger which takes a voltage sample every second and sends it to the PC, emulating a USB keyboard where the value is typed.

http://www.obdev.at/products/vusb/easylogger.html
Author: Objective Development Software GmbH

SNES Joypad

This is another implementation of Raphaël Assénat’s idea of an SNES to USB adaptor. This one is smaller in size (eight pin AVR) and uses less components. The description is available in German only.

http://hobbyelektronik.org/wiki/index.php?title=SNES-Joypad
Author: Christof Rueß

SpiffChorder - Full PC Keyboard with only 7 Keys

Contrary to a normal (QWERTY style) keyboard, a character on a Chording Keyboard is represented by pressing multiple keys simultaneously. Good for fast one-handed typing!

http://symlink.dk/projects/spiffchorder/
Author: Mikkel Holm Olsen

YAKE - Yet Another Keyboard Emulator

This is a hardware tool for application testing. It sends predefined keystrokes to the PC with a selectable rate.

http://www.krezac.net/avr/yake-en
Author: Kamil Rezac

redKontroll - a Versatile Input Device

This is an HID compliant custom controller with 5 rotary encoders, 5 push buttons, 2 softpots and 3 capacitive touch sensors. It can be used to control sound and video software.

http://www.fredrikolofsson.com/pages/hardware.html
Author: Fredrik Olofsson

xxxxx-HID

xxxxx-HID provides a well documented USB sensor input solution, aimed primarily at artists working with audio and video and using free software such as Pure Data or SuperCollider. Six analog inputs (10 bits resolution) and four digital or pushbutton inputs are provided on a simple to etch and assemble board.

http://1010.co.uk/avrhid.html
Author: Martin Howse

rump - The Model M

The Model M was one of IBM’s most popular keyboards. Some people still prefer this it over all others, but modern PCs don’t have a PS2 connector anymore. This project shows how to replace the original controller with a USB capable circuit.

http://mg8.org/rump/
Author: Chris Lee

HandUsb - Data Glove Interface

An alternative controller for the Pinch Glove fingertip contact glove. Something as futuristic as a data glove should connect through USB, not RS232 as in the original design!

http://www-user.tu-chemnitz.de/~heha/mb-iwp/Datenhandschuh/
Author: Henrik Haftmann

Dulcimer - The Model M Again

This coincidence proves how popular the Model M still is: Another replacement electronics to give USB connectivity to IBM’s old keyboard, developed at the same time as rump (see above) and without knowing about the parallel effort. This version supports the keyboard’s LEDs as well.

http://www.schatenseite.de/dulcimer.html?L=2
Author: Ronald Schaten

Haunted USB Cable

This is something to be built during long evenings or rainy weekends in March, so that it’s ready when April 1st approaches. The device implements a keyboard and drives the user mad by sending random keystrokes from time to time.

http://imakeprojects.com/Projects/haunted-usb-cable/
Author: Donald P

AetherSense - No-Touch Joystick

This one-axis joystick is based on ultrasonic distance sensors. It has been built especially for the Aether project, a tabletop gaming system.

http://lookmanohands.org/
Author: Spencer Russell

ZX-USBJoy

With this project you can connect up to two ZX Spectrum joysticks to your computer (which runs a ZX Spectrum emulator, of course). The web site is in Russian. You need to enter 6 digits (a CAPTCHA) to download the project.

http://narod.ru/disk/1762604000/ZX_USBJoy_20071020.zip.html
Author: Sergey Ryumik

USBGame12 - an Interface for Simple Joysticks

This interface offers 12 digigal inputs presented to the operating system as USB joystick with 4 directional buttons and 8 general purpose buttons. It can be used to connect historic joysticks or for general purpose digital inputs.

http://www.raphnet.net/electronique/usb_game12/index_en.php
Author: Raphaël Assénat

Intellivision to USB Converter

This converter connects a Mattel Intellivision controller to your PC.

http://www.raphnet.net/electronique/intellivusb/index_en.php
Author: Raphaël Assénat

1-Key-Keyboard

This is the easiest way to interface a single switch to a computer. On- and off-events are translated to keystrokes of a virtual keyboard. An updated version allows up to 4 keys.

http://blog.flipwork.nl/?x=entry:entry081009-142605
Author: Flip van den Berg

Slide Show Presenter

Those old slide-projectors had a handy button with a cable where you could advance to the next slide or go one back. This project implements this type of controller for Powerpoint (and similar) presentations.

http://tuxgraphics.org/electronics/200810/avr-usb-slideshow-presenter.shtml
Author: Guido Socher

WiSHABI - Accelerometer-Based HID

WiSHABI is a wireless, single-handed, accelerometer-based, USB-HID compliant PC interface. It implements mouse and keyboard functionality.

http://vusb.wikidot.com/project:wishabi
Author: Jadon Clews

PS2USB - Sony PlayStation Adapter

No, this is not a converter for PS2 keyboards or mice. This project converts Sony PlayStation 1 or 2 controllers into a USB joystick.

http://vusb.wikidot.com/project:ps2usb
Author: Primož Kranjec

SUN Type5 Keyboard Converter

You have an old Sun Sparc Station keyboard and want to use it on your modern PC? Use this converter turn it into a standard USB keyboard!

http://gis.sakura.ne.jp/sunkey/sunkey_e.html
Author: IIDA Tetsushi

TiltStick

This is an accelerometer based joystick. It adds quite a lot of fun to games like Enigma when played on a handheld device.

http://www.harbaum.org/till/tiltstick/index.shtml
Author: Till Harbaum

redKontroll2 - Controlling Video and Audio Software

This is another HID compliant custom controller for controlling sound and video. This time with 4 potentiometers, one slider, one light sensor, 16 push buttons and one switch.

http://www.fredrikolofsson.com/pages/hardware.html
Author: Fredrik Olofsson

Chenillard

Chenillard is a device that you secretly plug into a victim’s computer. It flashes the LEDs of the computer’s keyboard in sequence. Useless, but good for April jokes...

http://vusb.wikidot.com/project:chenillard
Author: Sylvain Davaine

AVR Stick - a Simple Data Logger

This is an improved version of EasyLogger which is also available as pre-assembled unit.

http://www.sparkfun.com/commerce/product_info.php?products_id=9147
Author: SparkFun Electronics

Terminal Keyboard - a Serial Terminal as Keyboard

This device converts any serial terminal (or terminal emulator) into a USB keyboard.

http://hobby-electrons.sourceforge.net/projects/terminal-keyboard/
Author: Neil Stockbridge

NES Gamepad on ATTiny45

This is another variation of Raphaël Assénat’s SNES/NES gamepad adapter. This version is based on a small 8 pin AVR and uses the internal RC oscillator instead of a crystal.

http://www.judevine.net/content/nes-game-pad
Author: Chris Judevine

Retro Adapter V2

The Retro Adapter V2 connects almost any type of game controller to USB. It works with PCs running Windows/Linux and with Apple Macs, as well as the Sony Playstation 3.

http://denki.world3.net/retro_v2.html
Author: Paul Qureshi

SUPERPLAY

SUPERPLAY is an arcade joystick controller. It supports multiple games consoles and PC/USB, and has an expansion bus for extra modules such as an LCD display or LED lighting controller. It is follow-up to the Dreamcast USB Arcade Joystick.

http://denki.world3.net/superplay.html
Author: Paul Qureshi

Quick Launch Keys

Many keyboards now come with shortcut keys for starting a web browser or controlling volume. This project extends every keyboard by this functionality.

http://denki.world3.net/quicklaunch.html
Author: Paul Qureshi

MamePanel

This project implements a Mame panel which includes controls for Mame games by joystick and mouse, Mame and operating system user interface by Keyboard and volume control.

http://vusb.wikidot.com/project:mamepanel
Author: Andreas Oberdorfer

openchord-guitar

Instead of playing Guitar Hero / Rock Band with a controller that simply looks like a guitar, you can now play on the real deal – moving your fingers along the strings of a real guitar, making real chords, strumming with a real pick.

http://code.google.com/p/openchord-guitar/
Author: Alan Chatham

usbddr

You can have a lot of fun playing Dance Dance Revolution - until your dance pad breaks. Then it’s time to build yourself a more stable dance pad based on an ATMega8.

http://vusb.wikidot.com/project:usbddr
Author: Stefan Rehm

MIDI Expression Pedal

This pedal is not just a great USB/MIDI device, it also demonstrates how to replace potentiometers with cheap and durable capacitive sensors.

http://www.ise.pw.edu.pl/~wzab/MIDI/pedal/index.html
Author: Wojciech Zabolotny

USB Wireless Tilt Mouse

This project explores the possibilities of a mouse controlled by tilt for environments where no flat surface for a conventional mouse is available.

http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2010/ss868_jfe5/ss868_jfe5/
Author: Skyler Schneider, Jack Ellsworth

MIDI Drum Trigger

The design goals of this MIDI drum trigger are: Simple, cheap and consisting only of easily available components.

http://www.ise.pw.edu.pl/~wzab/MIDI/perkusja/index.html
Author: Wojciech Zabolotny

PPM2USB - RC Remote Control as Joystick

This device converts the PPM signal of a radio remote control transmitter to USB joystick controls so that you can fly your simulator with the real remote control. It's very similar to Oleg Semyonov's version, but requires less exotic prerequisites.

http://thomaspfeifer.net/ppm2usb_adapter_en.htm
Author: Thomas Pfeifer

UKI - USB Key Injector

If you know what a keyboard injector is: This is the Pro-Model. A keyboard injector presents itself to the computer as a keyboard. You can imagine the rest.

http://www.nopsecurity.net/UKI1.htm
Author: NOP Security

Red Feline Stompbox - USB Guitar Pedal

This is basically a one-key keyboard with a programmable state machine which allows it to offer reasonable semantic richness with only one key.

http://redfelineninja.org.uk/software/rfstompbox.html
Author: Daniel Thompson

USB Joystick Adapter

An adapter which connects two 9-pin digital joysticks as USB HID devices.

http://www.hexagons.de/index.php/USB_Joystickadapter
Author: Andreas Paul

uart2kbd - Virtual Keyboard

This is a USB keyboard without keys. Instead of pressing keys, you send it commands over a serial (UART) interface.

https://sourceforge.net/projects/uart2kbd/
Author: Sunjun Kim

Umlaut Keyboard

Some operating systems make it hard to enter Umlaut characters when a US keyboard is connected. This keyboard amends any keyboard by just the umlaut keys.

http://alpharesearch.de/?page_id=53
Author: Markus Schulz

Boxster - USB Gamepad

Boxster is a DIY HID-compliant USB gamepad. It supports up to 18 buttons and is fully plug-and-play - no drivers needed.

http://www.fulhack.org/boxster/index.html
Author: Olof Holmgren

Magnetometer Mouse

This is an absolute pointing device based on a HMC5883L magnetometer. It works similar to a compass. Control the mouse pointer by moving the sensor in the air, pointing at the desired position.

https://github.com/denilsonsa/atmega8-magnetometer-usb-mouse
Author: Denilson Figueiredo de Sá

phi-T Control

This is a foot controller for digital guitar effect software. It implements the USB MIDI class and is therefore directly recognized as MIDI device without any additional drivers.

http://philaudio.wordpress.com/projects/phi-t/phi-t-control/
Author: Philipp Bulling

ZX81 USB Keyboard

This looks like a Sinclair ZX81, but it is a real USB keyboard, just with the look and feel of a ZX81!

http://tynemouthsoftware.blogspot.co.at/2012/02/arduino-based-zx81-usb-keyboard.html
Author: Dave Curran

USB Volume Control

You're playing music on your computer and somebody wants to talk to you or a phone call comes in. In order to reduce the volume, you must first get around the screen locker, find the audio player application, ... Not anymore, with this gadget!

http://obruboff.ru/usb-volume-control/
Author: Обрубов Виталий

RC-5 Remote

This is a USB keyboard controlled by an IR remote control. The firmware understands RC-5 (Philips) remote control codes.

http://www.marwedels.de/malte/usbir/
Author: Malte Marwedel

Password Generator

You fear that people can watch you type your password? Or you always forget it? This device is a virtual keyboard which types your password automatically each time it's plugged in.

http://codeandlife.com/2012/03/03/diy-usb-password-generator/
Author: Joonas Pihlajamaa

Programming Pen

This programmer is also a keyboard: It has a single key to initiate programming while contact pins are pressed down to the PCB.

http://www.anthonyvh.com/2013/04/24/programming-pen-usb-interface/
Author: Anthony Van Herrewege

FlyStick

The FlyStick is mostly a passive device: It reflects IR light back to a camera which can then determine the position and rotation of the stick. A microcontroller with V-USB handles two joystick keys on the stick.

http://www-user.tu-chemnitz.de/~heha/mb-iwp/FlyStick/#2
Author: Henrik Haftmann

Party Pushbutton

Technically, this is a mouse with one button and no x/y controls. But the application as a party photo service makes it so useful!

http://www.anthonyvh.com/2013/09/25/party-pushbutton/
Author: Anthony Van Herrewege

[ HID | Interfaces | Data Acquisition | Displays | Programmers | Control | Other ]