PUB! Programmable USB Button

PUB! is a Programmable USB Button on which you can program with a sequence of keystrokes. When you press the button those keystrokes are "replayed" over a USB connection

The button is programmed using an innovative and slightly quirky interface that does not require any custom software to be installed on your computer. All you need is a text editor like Notepad or gedit.


  • One-button design (a rotary encoder with a built in switch)
  • Programmed by using an ordinary text editor as a display (for example, gedit on Linux, or Notepad on Windows)
  • Up to 127 keystrokes can be recorded and played back
  • Supports a GOTO function, so you can program loops
  • Can send USB System Control codes (Power off, sleep, wake) to your PC
  • Can send USB Consumer Device functions (e.g. Mute, Play, Pause, Stop, etc.)
  • Requires NO drivers for Windows/Linux etc
  • Supports 256 x 8-bit "registers" to record state (in RAM, lost at power off)
  • Supports basic arithmetic. Add, subtract, etc
  • Supports conditional logic. For example, Compare to value, Jump on zero etc


The possibilities are fairly broad including:

  • Using a Bluetooth module to detect proximity of the button owner's mobile phone so that the USB button is only enabled when its owner is near.
  • Addition of an external EEPROM for extra keystroke capacity.


How To Use

Read more »