My Projects

Published 2 May 2020

USB Device


Some Arduinos, eg Leonardo, can act as USB input devices for PCs etc, emulating mice, keyboards etc.

Hardware description

Where the Arduino board does the USB processing on the main chip rather than having a separate dedicated USB controller chip, it can be made to emulate USB input devices to a host PC. Also Arduinos that use an atmega8u2 or atmega16u2 chip for the USB interface (rather than the dedicated FT232RL or similar chip previously used), can have the USB driver firmware updated/modified to emulate USB HIDs too.

References and Additional Resources

Arduino librarys

PS2 keyboard to Arduino

UNO as USB keyboard (reprogramming the atmega8u2/atmega16u2 USB interface)

Programmable keyboard