USB-Compatible Action Buttons

This simple circuit provides up to 8 buttons that can be designated to run any command when pushed. It plugs into your computer’s USB port.

Action Button Circuit Board

On Mac OS X, Windows 2000/XP/Vista, and most versions of Linux, no device drivers are required. Any HID-aware application can use these buttons.

L510 Labs has written software to perform actions on Mac OS X when any of the buttons is pressed.

Mac OS X Software Screenshot

In the screenshot above, pressing Button 8 will launch iTunes, and Button 1 opens a web browser to Button 6 runs a Python script.

Technical Details

The USB-compatible Action Button circuit is a USB-compatible device that implements the Human Interface Device specification. In its typical configuration, it provides connectors for eight user-programmable buttons. With some simple modifications, the connectors can be reconfigured as outputs with enough current to drive LEDs directly.

The circuit is based on a Microchip PIC18F4550 microcontroller and uses Microchip’s free USB stack. The entire circuit board measures only 2.1 by 1.4 inches. It’s powered by the USB bus.

The Mac OS X software shown above is available for experimentation. Download the Universal Binary (10.2 and above). It will recognize any USB "usage page 9" buttons on your system, including joysticks, but excluding keyboards and mice.

You can also download the HIDTwiddle utility and its source code to experiment with HID devices on Mac OS X. The source code for the ButtonAction utility is available upon request.


The software provided on this site is for testing purposes only. No warranties are given, not even implied warranties of merchantability or fitness for a particular purpose.

The term "USB-compatible" is used to indicate that these devices have not been rigorously tested according to the standards of the USB implementers forum. That's not to say they don't work–just that we didn't pay money for independent verification that they do.