Fully Custom Macropad From Scratch!
by orange_lightning in Circuits > Gadgets
30 Views, 0 Favorites, 0 Comments
Fully Custom Macropad From Scratch!
This is a fully functional, custom designed macropad for personal use! Macropads are designed to speed up your workflow so you can work more efficiently. This one includes 4 customizable keys, an OLED display, a rotary encoder (basically a knob), and 7 neopixels for underglow and backlighting. The case is 3d printed and includes an acrylic layer which will need to be laser cut. I designed the case to have a built in kickstand to prop up the macropad for better ergonomics.
Supplies
Software: CAD (I used Autodesks Fusion360), KiCAD (a PCB designing software), QMK firmware (this is what we'll code the functionality with)
- 4x Cherry MX Switches
- 4x DSA Keycaps
- 5x N4148 DO-35 Diodes
- 1x 0.91" 128x32 OLED Display
- 1x XIAO RP2040
- 7x SK6812 Mini E-LEDs
- 1x Case (3 printed parts, 1 laser cut part)
- 1x custom PCB (which we're going to design together!)
Importing Necessary Packages
You'll need to import these files to KiCAD for this project, as they aren't in KiCADs built in libraries. The .sym files are for schematic symbols while the .pretty files are for footprints.
Drawing the Schematic
Open KiCAD, start a new project, and go to the Schematic editor. There, create the above schematic (feel free to modify if you want!).
Press A to place components and W to draw wires. Also note that the switches are wired in a matrix as our micro controller (the MOUDLE-SEEEDUINO-XIAO) doesn't have enough pins to wire all the switches directly.
Assign Footprints
Next we're going to assign footprints using the footprint assignment tool. Click the icon indicated above and assign each component the footprint you imported earlier (an example is shown above). Once you're done you can press apply & save schematic.
Configuring Layout of the PCB
Next, open KiCADs PCB editor. Click the update from PCB button in the upper right and arrange all components as indicated above. Right click the XIAO and select "flip side" (this puts the XIAO on the back of the board when soldering). Then, hit X on your keyboard and select the Edge.cuts layer to draw the outline of your board (this indicates the borders of it). You can use the measure tool to see how big your PCB ends up being, and can press the 3d viewer button in the top right to see a 3d visualization of the PCB.
Routing the PCB
Manually routing this board is a pain, so instead we're going to use an extension to do it for us! Go to KiCADs homepage and open the Plugin and Content Manager. Download the FreeRouting plugin. Once its been downloaded, close and reopen KiCAD. Reopen the PCB Editor where you placed your components earlier, go to Tools and then External Plugins and select FreeRouting. Press start to initiate the routing (the routing process may take some time). Once finished press apply and exit. The PCB is now finished!
3d Modeling the Case
Now its time to design the case! You can download and print the file for this one, which I designed in Fusion360, or model your own! The case I designed incorporates three separate 3d printed pieces and one laser cut acrylic piece. Don't forget to add a USB cutout if you're modeling your own!
Note: To cut the acrylic decal piece in mine you will need to create a drawing in Fusion360, export that as an SVG file, and send that to your laser cutter.
Here are the STL files:
Assembly
It's time to assemble now! Order your PCB from JLCPCB or another vender and 3d print your case. Then, solder your components to your board and place it in your case. Plug the macropad into your computer and code the macros using QMK firmware to make it fully tailored to your needs!
Have fun :)