Introduction: HID Keyboard Controller for Project Diva Aracade Future Tone

V-USB is a low speed USB library solution for AVR micro controllers. It enable us to create HID devices (Keyboard, Mouse, Gamepad etc) by using AVR micro controllers.

The HID keyboard implementation is based on HID 1.11. It support max 6 key presses at the same time. It also support key hold over time. You may hold one key down while click on a different key.

Here is how I create a HID keyboard for Project Diva Arcade Future Tone. (PD-Loader 2.0)

Step 1: Step 1: Component Preparation

AVR micro controller * 1 (ATMEGA8, 168, 328p etc. Any micro controller with 4K+ flash would be OK)

16M Crystal * 1

104 Capacitor * 1

22P Capacitor * 2

68R Resistor * 2

1.5K Resistor * 1

3.6V Zener Diode * 2

USB Male Plug * 1

Breadboard * 1

Step 2: Step 2: Build the Circuit Board

Solder these components to the breadboard. I have included the schematic for the project. There are not a lot of components to be soldered as most of the work are done by the micro controller via code.

Step 3: Step: Software Environment Preparation

The project is built on Arduino IDE.

It also utilise a modified version of UsbKeyboard project. I have renamed it as UsbKeyboardMiku.

You may download both Arduino Project and Library from my repository.

Once you have downloaded both Arduino project and the library. Put the UsbKeyboardMikyu into your library folder and open the MikuButton project in Arduino IDE.

Step 4: Step 4: Build and Upload the Arduino Project

We are really here. Just need to upload code to your AVR micro controller and we are ready to go.

If your micro controller has already got bootloader installed, you may just click on upload button to upload the code.

Or you may use a programmer to upload (e.g. UsbAsp). Just to make sure you have used external crystal and get the fuse setup correctly. (For Arduino board, no changes are required as they are already got the correct fuse setup)

Step 5: Step 5: Testing

Just plug the Usb plug into your computer and it should be recongnised as a HID keyboard.

The keys are mapped as follow.

Triangle -> 13

Square -> 12

Cross -> 11

Circle -> 10

Start -> 9

Left Slider Left -> A3

Left Slider Right -> A2

Right Slider Left -> A1

Right Slider Right -> A0