Graphically Programmable Arduino Shortcut Keypad

I made a shortcut keypad which can automate anything at the press of a button! It is programmed with a drag and drop interface I created.

Similar projects worth following
The Problem:

Computers can do amazing things nowadays but we still interact with them in the same old way – with a keyboard and a mouse. This means there is no efficient way to access all the new things computers can do. The result: we waste time doing repetitive and tedious actions like navigating long menus, entering keyboard shortcuts and typing commands.

The Solution:

A shortcut keypad which can automate anything you can do with your keyboard or mouse at the press of a button! Typing text, keyboard shortcuts, repeats, delays, mouse control – any combination of these can be automated.

It is programmed with a graphical interface so you can automate in seconds without any coding. It also uses sharable automation ‘recipes’ so that anyone can share their automation on forums, by email and on websites.

Happy to open source in the future :)

Demo Vid:


1) How It works

+ The Keypad

+ The Desktop Software

2) My dream of sharable automation

3) The story of how it came to be


1) How it works:

The Keypad

The keypad contains an Arduino Pro Micro which can act as a keyboard or a mouse to control your computer. The Arduino receives strings of automation commands from the desktop software and stores them in its EEPROM memory.

When you press one of the keypad buttons, it retrieves from memory the automation command string assigned to that button and then turns it into keyboard or mouse actions which result in something happening on your computer.

The string of commands looks like this:

75013*8*911*4Hello Hackaday Readers!*5|2~73~74~`

For example, the above command string (when interpreted by the keypad) will type "Hello Hackaday Readers!", just as if you had typed it yourself.

The Desktop Software

The automation command strings are generated by some desktop Java software. However, all you have to do is drag and drop little boxes and the software does the rest for you! You can automate stuff in seconds and upload it straight to your keypad, without ever having to worry about how it actually works.

Here's what it looks like:

The automation commands in this screenshot start by pressing the windows key + r to open up the Windows run dialog. It then types out the youtube url for Never Gunna Give You Up by Mr Astley. It will then press the enter key to open up this web page in the browser and finally presses the volume up key 100 times to make sure that everyone in your house enjoys some sweet 80s pop.

2) My Dream of Sharable Automation

You know those strings of automation commands which I talked about? Well, they can be copied and pasted into emails, internet forums and websites. That means an automation recipe you create can be sent to your friend and uploaded onto their keypad in seconds.

But it doesn't stop there, I could approach software professionals (e.g. a Photoshop expert) and pay them to create a package of automation recipes which contains the best and most efficient ways to automate Photoshop. I then put all of those recipes online and then suddenly anyone with one of these shortcut keypads can access professional-level automation within seconds.

Now extend that to every piece of software that ever existed and make it work on every single keyboard ever made and you have MY DREAM!

3) The story of how it came to be:

This first started out when I didn't know how to design 3D prints, circuit boards or anything like that. So, I downloaded a 3D print file off Thingiverse and bought an Adafruit Trellis matrix keypad to make this:

I also put together some software using Processing. It was really buggy but it did the job... kinda! Here's what it looked like:

After a while, I taught myself JavaFX and started towards a slightly better version using little drag and drop boxes. Here's how it looked halfway through...

It looks pretty dodgy (and it was!) but I was just learning how to code Java at the time.

Meanwhile, I was prototyping different versions of the keypad hardware using folded aluminium.

I was a bit disappointed with all the fold marks on the casing and the proportions just didn't work. Luckily, by that point, the software was pretty much finished and here's how it looks:

The next piece of the puzzle was to get a circuit board designed and I taught myself how to do this using the Sparkfun EAGLE tutorials which are super helpful. I added a few small 3D printed parts to space the components correctly. I think it turned out really well!

Finally, I mastered (ish) 3D AutoCAD and designed a nice snug case to fit it all. Here is the end result!

I'm really happy with how this turned out. It took over a year from start to finish and there was lots of learning along the way. I've really enjoyed making it and am thinking of crowdfunding/selling...

Read more »

  • 1 × Arduino Pro Micro Made by Sparkfun
  • 12 × Cherry MX Keyswitch Delightfully clicky keys!
  • 1 × Custom PCB The first PCB I've ever designed
  • 1 × EEPROM Memory Chip To store automation recipes
  • 1 × 3D Printed Case The first proper 3D print I've designed!

  • Automating Minecraft with the Keypad!

    Robin Hartley7 days ago 0 comments

    Hey everyone, exciting times! The Amazing Shortcut Keypad seems to be doing well in the Hackaday Prize and I'm delighted at the response it has got. It's really positive to know that this is a project people are enthusiastic about so thank you ever so much for your support.

    It has been my intention to do some demo videos with different pieces of software so I thought I'd start with everyone's favourite - Minecraft!

    Here I have the keypad automatically mining whilst placing torches as it goes. It can mine forever, all with one button press! I also programme the keypad using the drag and drop software as I go so you can see how automation is created. Enjoy and I'd love to hear your thoughts.

    Peace out!


View project log

Enjoy this project?



Shulie Tornel wrote 7 days ago point

This is beautiful. Check out as an option to sell. :)

  Are you sure? yes | no

Shulie Tornel wrote 7 days ago point

What 3D printer did you use to make the case?

  Are you sure? yes | no

Robin Hartley wrote 7 days ago point

Hey thanks for the kind comments! I used a Makerbot Replicator 2 :) Thanks for pointing to Tindie, I think I will sell on there, it looks like the perfect place for a maker to start selling!

  Are you sure? yes | no

Craig Hissett wrote 03/22/2017 at 13:31 point


  Are you sure? yes | no

Robin Hartley wrote 03/22/2017 at 14:31 point

Glad you like it matey! :)

  Are you sure? yes | no

Does this project spark your interest?

Become a member to follow this project and never miss any updates