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.

Author: Objective Development Software GmbH
Rating:   [comments and votes]

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.

Author: Raphaël Assénat
Rating: not yet rated  [comments and votes]

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.

Author: Oleg Semyonov
Rating:   [comments and votes]

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.

Author: Mikkel Holm Olsen
Rating:   [comments and votes]


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.

Author: Grendel
Rating:   [comments and votes]


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.

Author: Sergey Ryumik
Rating:   [comments and votes]

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.

Author: Raphaël Assénat
Rating: not yet rated  [comments and votes]


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.

Author: Krzysiek Szczuka
Rating:   [comments and votes]

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!

Author: Yiyin Ma and Abby Lin
Rating:   [comments and votes]


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.

Author: Alex Badea
Rating:   [comments and votes]

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!

Author: Carlos Cossio
Rating: not yet rated  [comments and votes]

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.

Author: Objective Development Software GmbH
Rating:   [comments and votes]

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.

Author: Christof Rueß
Rating:   [comments and votes]

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!

Author: Mikkel Holm Olsen
Rating:   [comments and votes]

YAKE - Yet Another Keyboard Emulator

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

Author: Kamil Rezac
Rating: not yet rated  [comments and votes]

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.

Author: Fredrik Olofsson
Rating: not yet rated  [comments and votes]


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.

Author: Martin Howse
Rating:   [comments and votes]

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.

Author: Chris Lee
Rating:   [comments and votes]

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!

Author: Henrik Haftmann
Rating: not yet rated  [comments and votes]

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.

Author: Ronald Schaten
Rating: not yet rated  [comments and votes]

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.

Author: Donald P
Rating:   [comments and votes]

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.

Author: Spencer Russell
Rating: not yet rated  [comments and votes]


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.

Author: Sergey Ryumik
Rating: not yet rated  [comments and votes]

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.

Author: Raphaël Assénat
Rating: not yet rated  [comments and votes]

Intellivision to USB Converter

This converter connects a Mattel Intellivision controller to your PC.

Author: Raphaël Assénat
Rating: not yet rated  [comments and votes]


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.

Author: Flip van den Berg
Rating: not yet rated  [comments and votes]

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.

Author: Guido Socher
Rating: not yet rated  [comments and votes]

WiSHABI - Accelerometer-Based HID

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

Author: Jadon Clews
Rating:   [comments and votes]

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.

Author: Primož Kranjec
Rating:   [comments and votes]

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!

Author: IIDA Tetsushi
Rating: not yet rated  [comments and votes]


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

Author: Till Harbaum
Rating:   [comments and votes]

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.

Author: Fredrik Olofsson
Rating:   [comments and votes]


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...

Author: Sylvain Davaine
Rating:   [comments and votes]

AVR Stick - a Simple Data Logger

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

Author: SparkFun Electronics
Rating: not yet rated  [comments and votes]

Terminal Keyboard - a Serial Terminal as Keyboard

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

Author: Neil Stockbridge
Rating:   [comments and votes]

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.

Author: Chris Judevine
Rating: not yet rated  [comments and votes]

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.

Author: Paul Qureshi
Rating:   [comments and votes]


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.

Author: Paul Qureshi
Rating: not yet rated  [comments and votes]

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.

Author: Paul Qureshi
Rating: not yet rated  [comments and votes]


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.

Author: Andreas Oberdorfer
Rating: not yet rated  [comments and votes]


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.

Author: Alan Chatham
Rating: not yet rated  [comments and votes]


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.

Author: Stefan Rehm
Rating: not yet rated  [comments and votes]

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.

Author: Wojciech Zabolotny
Rating:   [comments and votes]

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.

Author: Skyler Schneider, Jack Ellsworth
Rating:   [comments and votes]

MIDI Drum Trigger

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

Author: Wojciech Zabolotny
Rating:   [comments and votes]

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.

Author: Thomas Pfeifer
Rating:   [comments and votes]

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.

Author: NOP Security
Rating:   [comments and votes]

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.

Author: Daniel Thompson
Rating: not yet rated  [comments and votes]

USB Joystick Adapter

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

Author: Andreas Paul
Rating: not yet rated  [comments and votes]

uart2kbd - Virtual Keyboard

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

Author: Sunjun Kim
Rating: not yet rated  [comments and votes]

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.

Author: Markus Schulz
Rating: not yet rated  [comments and votes]

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.

Author: Olof Holmgren
Rating: not yet rated  [comments and votes]

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.

Author: Denilson Figueiredo de Sá
Rating: not yet rated  [comments and votes]

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.

Author: Philipp Bulling
Rating: not yet rated  [comments and votes]

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!

Author: Dave Curran
Rating: not yet rated  [comments and votes]

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!

Author: Обрубов Виталий
Rating: not yet rated  [comments and votes]

RC-5 Remote

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

Author: Malte Marwedel
Rating:   [comments and votes]

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.

Author: Joonas Pihlajamaa
Rating: not yet rated  [comments and votes]

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.

Author: Anthony Van Herrewege
Rating: not yet rated  [comments and votes]


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.

Author: Henrik Haftmann
Rating: not yet rated  [comments and votes]

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!

Author: Anthony Van Herrewege
Rating: not yet rated  [comments and votes]

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