Surface Macro-Keys Project

Francisco Nicolau
Nico’s 3DPrinting Projects
3 min readFeb 25, 2020

Arduino Powered Peripheral for Digital Art

Project Description

A big hobby of mine is digital painting and, to do this, you typically need a digital drawing tablet. For this I use my surface pro 4, however, I felt the need to have a few physical buttons available for shortcuts. With the aid of 3D printing and an Arduino microcontroller, I was able to create a small custom keyboard that mimics the type of interface you would find in a Cintiq tablet.

Cintiq (pictured here for reference)

Process

I began by scouring the web for similar projects and was pleased to find that some people had already accomplished a similar type of board with a small micro-controller and a few switches. This made the whole process a whole lot easier since I could look at these projects for reference on the hardware and schematics.

So after looking around and doing some more research, I got an Arduino Pro Micro (ATmega32U4), specifically for its small form-factor, 12 IO ports and its ability to simulate keypresses which was exactly what I needed. I also got 8 small switches, resistors, and a breadboard to prototype the wiring.

Finished 3D Model (in Fusion 360)

After that was settled it was a matter of starting the design for the case and the buttons, I wanted this to be custom-fitted to a surface so it was important to get a good reference and measurements before 3d printing. Luckily I found a 3d model of my exact tablet online and with some quick measurements, I was able to size it up properly and start building my own model around this, making sure to not cover any of the tablet’s ports or buttons.

It was, of course, a process of trial and error. Designing the model in Fusion 360, slicing it and printing, fitting on the tablet and readjusting the model, but I ended up with something that was both aesthetically pleasing and functional!

After that, all that was left to figure out was the spacing inside making sure to leave room for the wires and convenient spaces to put the buttons and the micro-USB port.

Initial Print Testing
Fitting and Component Positioning
Wiring the Final Version

Final Iteration

Here it is ready to use after some finishing.

Final Version

--

--

Francisco Nicolau
Nico’s 3DPrinting Projects

I’m a CS Master’s student interested in using all sorts of technology as a medium to challenge myself and express creativity.