Simplify Your 3D Printing Workflow with This DIY Macropad
Do you have a 3D printer running Klipper and want quick access to your favorite macros? Then check out this DIY macropad.
Modern 3D printer control boards, firmware, and software are amazing. With most, you can do almost everything from a smartphone or computer over your local network — the days of walking back and forth with an SD card are long gone. But there are still some functions you probably want to be able to access from the printer itself, which isn’t always easy with printers that lack physical controls. To streamline such activity, Tiny Boat Productions designed this nifty DIY macropad.
This is a physical control interface designed to sit near the 3D-printer’s controller (usually a single-board computer like a Raspberry Pi these days) and give the user quick access to a handful of specific functions. For instance, it can have a button to pause the current print job, another button to raise the nozzle slightly, and another button to load filament.
Those are just examples and it can really trigger any action, because Tiny Boat Productions designed the macropad to work with Klipper. If you aren’t already familiar, Klipper is firmware and software that has completely taken over the 3D printing industry. That’s because it is very sophisticated and powerful. Part of that power comes from its ability to run custom macro scripts. For example, I had a Klipper macro that would change the color of my enclosure lighting to match the printer’s current status. With this project, Tiny Boat Productions is giving you a way to tie your macros to physical buttons.
The key component of this macropad is a DFRobot Beetle RP2040 development board. The other components include illuminated push buttons (DFRobot models with handy connectors) and a strip of SK6812 individually addressable RGB LEDs. Those parts fit into an enclosure that is, of course, 3D-printable.
Everything else is code and Klipper has some handy utilities for purposes exactly like this. It has the ability to generate a firmware file for the development board’s Raspberry Pi RP2040 microcontroller, which will let it speak directly with the Klipper software via USB. From there, you can follow the instructions given by Tiny Boat Productions to set up a custom configuration file for Klipper. In that, you will define the button pins and LED pin, then specify their functionality. In this case, that functionality is triggering a macro in response to a button press. You can also do other neat stuff, like make the LED strip react to the printer’s status.