Introduction: DIY Analog Dialer to USB Keyboard

About: Max Romagnoli is a programmer, developer, petrolhead, organizer, living in Italy since 1992.

I made this project just for fun, but this thing work as an normal keyboard with everything.

Have fun!


Step 1: Hardware

Analog Dial

For this project iI used this old analog dial, bought some years ago, don't know if all the dials work like this, but i think it's a common working process.
Mine dial have two buttons:

The first one (brown wire), connected to PIN 3 on the Arduino, open the connection when you start moving the dial, and close when the counting is over.

The second one (yellow wire), connected to PIN 4 on the Arduino, close and open the connection every time a number is counted.

The red wire is connected to GND on the Arduino.


IMPORTANT! This project work only with this kind of Arduino, because it have an ATMEGA32U4, who can emulate the keyboard

Step 2: Software

You can download the software from GitHub:

Upload the "dial_to_usb.ino" file to the Aurduino using the Arduino Software

Step 3: (opitonal) Test Buttons Delay

If the dial insert more or less number as normal, use the "dial_ms_test.ino" file to test the ms delay of the dialer.

Mine sometimes count double input, but they are about 1 or 2 ms, normal delay is 40 to 60 ms.

If you have a double input greater than 1 or 2 with this test, change the delay in the previous file, according with the test result.

Step 4: (optional) 3D Printed Case

3D Models by Grigori Valenti