File Type Mode Size
.gitignore file 644 50
EC12D knob/ dir 0 0
M2.5x3.4mm spacer/ dir 0 0
README.md file 644 1720
frame builder.scad file 644 3607
macro test.ino file 644 3144
macro_7seg/ dir 0 0
macro_knob/ dir 0 0
macro_pad mounting plate/ dir 0 0
macro_pad/ dir 0 0
README.md

Macro System

This is a collection of FreeCAD, KiCad, OpenSCAD, and Arduino projects that comprise the Macro System.

frame builder.scad

The frame builder creates 3D-printable models that mount the modules and mini breadboard tray.

macro_pad

The macro_pad is a 2x2 keyboard matrix, designed originally as a prototype for a larger keyboard project. It has NKRO diodes despite being fairly pointless for a 2x2 matrix. It is designed to use ALPS-style switches, but it can be easily adapted for Cherry-style.

macro_pad mounting plate

FreeCAD project for the key switch mounting plate, which the keyswitches mount into above the PCB. It is designed for ALPS-style keyswitches, so it probably won't work with Cherry-style switches. It also doesn't have a cut-out for the macro_pad headers, so you'll probably want to fix that (I fixed it post-production with a dremel :/).

M2.5x3.4mm spacer

The spacer that goes between the macro_pad PCB and the mounting plate.

macro_knob

The macro_knob interfaces an ALPS EC12D 30-detent pushbutton rotary encoder. In addition to exposing the A, B, and D contacts, it can optionally include MOSFETs and LEDs to show the state of the A and B contacts.

EC12D knob

A FreeCAD project for a knob which fits on the EC12D encoder.

macro_7seg

The macro_7seg is a two-digit seven segment display, interfaced through two 74HC595 shift registers. It exposes the data in, shift, and latch inputs, as well as the shift-out output.

macro test.ino

An arduino project that uses all three modules. It configures the macro_pad as a USB keyboard input, and the encoder updates a value on the 7seg.

Clone: https://git.bytex64.net/macro-system.git