Macred: a Macro Keyboard for the Spacemouse
by RadCreator in Workshop > 3D Design
53 Views, 1 Favorites, 0 Comments
Macred: a Macro Keyboard for the Spacemouse






This guide walks you through building a unique, customizable macro keyboard tailored for CAD workflows using a Spacemouse. This project combines metalwork, 3D printing, soldering, and a bit of coding—perfect for makers looking to enhance their workspace with something both functional and satisfying to build.
Both versions of the Spacemouse (wired & wireless) fit in this keyboard.
If there is an demand for a version with no sheetmetal parts I will consider doing so. Maybe these parts could be printed with a different color to add to the design.
I hope you enjoy this project as much as I did!
Bram Diepenbrock
Supplies
Required tools:
- 3D printer + fillament (preferably PLA or PETG)
- Soldering iron
- Hotglue gun
- Small gauge wires
- Computer
- Metalworking access
- Laser or waterjet cutter
- Metal brake (for bending sheet metal)
Electrical parts list:
- 9 x low profile mechanical switches (I recommend Kailh low profile choc brown)
- 9 x keycaps
- Arduino Pro Micro (usb-c version)
- 0.96 inch screen Adafruit SSD1306
- temperature and humidity sensor BMP280 (optional)
Mechanical parts list:
- M3 bolts and nuts
- 4x Sheet metal parts (see technical drawing)
- Soft thin foam (for palm rest)
- Fabric or faux leather (for palm rest finish)
Getting All the Parts

Before starting this project I recommend you order the parts needed. Depending where you buy them from it might take a while before they arrive.
This keyboard contains 4 sheetmetal parts. These parts can be fabricated however you like. Personally I hydrocut them and bend them at work. If you do not have access to such facilities consider outsourcing this part of the project. You will need to press fit the palm base together, consider getting 2 of this sheetmetal part if you're not sure if you will get a favorable result on the first try. I tried to make the technical drawing as generic as possible.
Printing
On Printables you will find my latest version of the Macred.
There are 4 parts that you'll need to print:
- Main body
- Screen holder
- Bottom cover
- Palmrest base
For the main body you have to make sure you set the layer height small to increase the quality of the print. The small inclines will make the layers really visible when the height is set too high. Organic supports around the openings are recommended.
The other parts can be printed as normal.
Bread Board Time

Before soldering, test the hardware on a breadboard by connecting the components according to the schematic The BMP280 sensor is optional. You can find the code in my Github repository.
Upload the Arduino code using the Arduino IDE and follow this SparkFun guide for setting up the Arduino Pro Micro.
The firmware includes:
- Two macro profiles toggleable by pressing two keys simultaneously.
- An editable structure in the functions:
- void sendKeyPressProfile0()
- void sendKeyPressProfile1()
- You can customize key combinations in int getKeyStatus().
- Bonus: a built-in Pong game!
Refer to Arduino Keyboard Library for all the keybinds.
If you don't want to include the BMP280 you can comment out the sensor in the code.
After you have confirmed it works it is time to put everything together!
Piecing the Main Body Together

With the 3D printed parts, sheet metal pieces, and electronics ready, it's time to assemble. There is an distance sensor located in the right hand side of the body, currently the placement prevents it from working properly. Thus I didn't include it in the files or documentation.
Switches and Wiring:
- Plan your wire lengths carefully.
- Press-fit the mechanical switches into the designated sheet metal parts.
- Solder the signal wires to each switch.
- Use a shared ground wire for all switches.
- Important: Route all wires through the designated holes—this is crucial for proper fit during final assembly.
Screen & Sensor:
- The BMP280 sensor sits freely inside the main body with the sensing side facing the vent (right side).
- Mount the OLED screen into the screen holder, which slots securely into the printed frame.
That should be it for the electrical part.
Palm Rest


The palm rest is designed for comfort and aesthetics. Here's how to build it:
- Cut a piece of fabric large enough to wrap around the palm rest base.
- Cut a piece of foam that fits only the top surface.
- Wrap the fabric around the base with the foam inside, then hot glue it along the edges and bottom.
- Use temporary tape to hold the fabric in place while gluing.
- Carefully press-fit the entire assembly into the sheet metal palm rest base.
- Tip: Gently unbend the sides if needed, then use a soft mallet to snap it into place.
I am not a carpenter but I am happy with the result!
Done!
That’s it! You now have a macro keyboard designed to complement your CAD Spacemouse. It's functional, programmable, and stylish—and you built it yourself.
If you'd like to share your build or see how others have customized theirs, drop a comment or visit the GitHub repository.