I want to make a custom input device with six buttons that when pressed signal computer to run a program. I would like to do this with a very low amount of power. What options are available to me to accomplish this task? I am willing to build a custom solution if necessary.

About this project and motivation:

I have a Wacom pen tablet which is useful for input but is lacking in that it is not well suited for multiple monitors. In my case, I have six monitors and mapping the entire screen space to the tablet is unmanageable.

I would like to make a small board with six buttons on it. For each button I press I want a message to be sent to the computer which I will use to run a program that moves the mouse cursor immediately to that monitor. For example, in an arrangement of two-vertical and three-horizontal configuration of six monitors (2x3), moving from edge to edge from the bottom left screen to the top right would require that I traverse a minimum of four screens if diagonals are not considered. Whereas if I could press a button then I could immediately set the cursor position to the desired monitor.

The tablet I'm using only has four buttons, of which I would like to map to other things. Cycling through monitors with a keystroke or single button press for previous/next is confusing as I have both vertical and horizontal axis. I want to mount this device at the top of the tablet so as to keep the movement of my hand to and from the selection process as minimal as possible.


It would be nice to consider the possibility of this being a wireless solution. Either because the device is low powered enough to operate for weeks or months on a charge or the possibility of tapping into the tablet's power source (USB/battery).

  • 2
    \$\begingroup\$ Are you not able to give this device its own USB connection to the PC? Because the quick & dirty solution is to make the device be a USB human interface device (HID, a device class for things like keyboards and mice). Then it can be powered by the USB cable and ultra-low power is no longer critical. \$\endgroup\$
    – The Photon
    Sep 28 '18 at 18:01
  • 1
    \$\begingroup\$ I would be willing to do this for the first attempt to get something working. The tablet is normally powered through USB so either I would have two cables running from my tablet or preferentially I would like none and piggy back on the power provided by the WiFi accessory battery. The accessory is the "Wacom Wireless Accessory Kit". \$\endgroup\$
    – Zhro
    Sep 28 '18 at 20:10
  • 1
    \$\begingroup\$ Have you considered a mmorpg gaming mouse? You can get a mouse with a 9 button numberpad on it that you could keybind to do whatever you want. You could also get a stand alone numberpad for that matter. If you really want to build your own buttonboard I would look into the standard solution all of these custom keyboards are running on. I don't know the name of it, but it seems there is some sort of standard USB board that more or less any arrangement can run off of. \$\endgroup\$
    – K H
    Sep 28 '18 at 23:26

It would be nice to consider the possibility of this being a wireless solution. Either because the device is low powered enough to operate for weeks or months on a charge

To do this, you ideally want a short range radio scheme where the transmitter can be entirely powered off until a button is pushed, and then wake up just long enough to get a message through to a PC.

The chipsets used in wireless mice and keyboards are suitable for this - things like the nRF24 series. Because the receiver is plugged into the PC, it can always be scanning, and the transmitter can wake up, send a message, wait for confirmation, and go back to sleep. Clones/workalikes of these chips are available for around a dollar each in small quantity on modules can be wired into simple MCU boards (Arduino, etc) but you need one at each end. An alternative is that Nordic's BLE MCU's like the nRF51822, nRF52832, nRF52840 combine the radio and MCU and can also speak simple custom protocols - the nRF52840 has the particular advantage of being directly a USB device that could plug into the PC, and if desired emulate a standard keyboard. (There were originally versions of the nRF24 with a built in USB MCU specifically for the wireless mouse receiver role, but they may be more expensive to source and develop for today than a BLE MCU).

A second option would be to use Bluetooth Low Energy. If you want to use it in an ultra low power way, you would probably want to do some unusual things. For example, you could wake up on key press, and then send a unidirectional broadcast to inform custom receiver software of the event. If you want something that retries until confirmed, you could then have PC software briefly connect to the device as confirmation, allowing the device to stop broadcasting and go back to sleep.

Or you can be (or buy) a more typical bluetooth or proprietary wireless keyboard - but there's reason to believe this may consume more power than you were looking to expend. Still, something like an add on numeric keypad might be about right for your need, especially if you rig PC software to uniquely recognize it and act on those keys in a custom way.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.