Introduction: Macro Keypad

Hello There,

This Instructable is about the macro keypad I designed. It is built around a Raspberry Pi Pico and utilizes the adafruit_hid library (CircuitPython).

I want to apologize for my bad English.

Supplies

Basic tools:

  • soldering iron
  • a small screwdriver (depending on the screws you use)
  • a 3D printer

Electronics:

  • 22 MX Switches (I used generics from Gateron)
  • a Rasperry Pi Pico (I used a USB-C clone)
  • the PCB

Parts:

  • 22 Keycaps
  • the casing
  • 4 m2.5x10mm screws

Step 1: Get All the Parts

I designed the PCB myself, therefore you have to manufacture it yourself or find a service like JLCPCB to do it for you. The rest of the electronics can be bought almost everywhere.

To order them at JLCPCB you have to put the files in a .zip file and upload them. Their basic manufacturing settings should work fine.

Step 2: Assemble the Board

The assembly is pretty straight forward. Start with the Raspberry Pi and solder it to the PCB. The USB port should face to the edge of the PCB. After that, put all the buttons in and also solder them to the PCB.

Step 3: AssembleThe Casing

All parts can be printed. The files for the casing also uploaded on Printables as well. (So if you want, leave a like or make there). The keycaps I used were also from Printables, but most MX compatible keycaps should work. You might need to tinker with the tolerances. Regardless of what you chose, you'll need 22 of them.


I used these: https://www.printables.com/model/397305-cherry-mx-keycap-blank

The casing: https://www.printables.com/model/864562-macro-keypad


The assembly is very simple. Just place the board in the lower part and put the upper part on top. After that, just screw in the 4 screws and the assembly is done.

Step 4: Software

The software was written by a friend of mine, you can pay hima visit @ waterland.com.de .

The used library is very well documented, and the code is commented.

First, you have to install the adafruit_hid library (https://docs.circuitpython.org/projects/hid/en/latest/). After that, you can just drag and drop the code.py on there modify it to your needs.


I hope it is somewhat self-explanatory. But with a bit of tinkering you should get in up and running.

Anyway have fun

Attachments