Skip to the content
PCBKitNew board
2 layers111.1 × 88.9 mmSwitchableMacroKeyboard, the printed circuit board in 3D

SwitchableMacroKeyboard

kevinarne/switchableMacroKeyboard1

At the moment, the code only supports sending static strings, like "Hooray" or "Wow, that's crazy," but eventually it will also support modifier keys like shift and control.

Size
111.1 × 88.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
38
Nets
34
Pads
135
Tracks, vias
141, 0
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
21 Apr 2020
Updated
11 Jun 2021

Overview

SwitchableMacroKeyboard is an open-source printed circuit board by kevinarne, from the kevinarne/switchableMacroKeyboard repository on GitHub. It is a 2-layer board of 111.1 × 88.9 mm with 38 parts on 34 nets, routed with 141 tracks and 0 vias.

Its parts include 12 diodes, 12 switches, 6 resistors and 1 IC. It belongs with the AVR (ATmega, ATtiny) boards of this library.

README

README.md

Switchable Macro Keyboard

Many programs, such as Inkscape, have some pretty intricate keyboard shortcuts that I find challenging to use regularly, so I've made a macro keyboard that can be switched between different macro keyboards.

At the moment, the code only supports sending static strings, like "Hooray" or "Wow, that's crazy," but eventually it will also support modifier keys like shift and control.

Components

  • Arduino Pro Micro
  • 12 x Cherry MX buttons
  • 12 x diodes
  • 3D printed housing
  • 3D printed knob
  • LCD Panel
  • 7 x 10k ohm resistors
  • 1 x rotary encoder
  • Micro USB cable
  • Custom PCB (see gerber.zip)

Next Steps

  • Encapsulate keyboard logic in an object
  • Add long-press detection to keyboard and rotary encoder
  • Add screen animations
  • Create scripting language for complicated key sequences
  • Remove old LCD code

Programming

To program using the Arduino environment, make sure to set your board to Arduino Leonardo. There are several test sketches in the src/test folder that you can use to test individual components in isolation, but the main sketch is in the src/macroKeyMain folder along with the keyboards.h file that contains the different macro keyboards to be loaded.

If you simply want this to work as a macro keyboard, but with your own commands, you should only have to change the keyboards.h file and upload the code to your Arduino Pro Micro.

Note: the main sketch has no checks on any of the data in keyboards.h. Although the code may compile and upload, failure to correctly format keyboards.h can result in index out of bounds errors, causing the keyboard to stop working until power cycled.

You will need to have the following libraries installed:

  • Wire.h
  • LiquidCrystal_I2C.h
  • Keyboard.h

Parts

38
QtyValueFootprintReferences
12DDiode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12
12SW_PushkeyboardLib:cherryMXSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12
6R_USResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2, R3, R4, R5, R6
1LOGOLogo:logoG***
1ProMicrokeyboardLib:ProMicroU1
1RotaryEncoderWButtonkeyboardLib:REnc-PEC12R-BournsRE1
1thinOLEDkeyboardLib:thinOLEDG1

The 34 most common of 38 parts.

Questions

How big is the SwitchableMacroKeyboard PCB?

It measures 111.1 × 88.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the SwitchableMacroKeyboard use?

38 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the SwitchableMacroKeyboard KiCad files?

From the kevinarne/switchableMacroKeyboard repository on GitHub, at the commit this page was made from: the board is kiCad/kiCad.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the SwitchableMacroKeyboard design in my own project?

Its repository states no licence, so its author keeps all rights: ask kevinarne before reusing the design.

Similar boards

  • 2 layers85 × 115 mmOSO BOOK C1, the printed circuit board in 3D

    OSO BOOK C1

    joeycastillo/The-Open-Book

    For details on how to build, test and use Open Book, I've made documentation available here.

    38 parts8.1kCC-BY-SA-4.0
  • 2 layers38.1 × 12.7 mmVrs io 1, the printed circuit board in 3D

    Vrs io 1

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    38 parts1.2k
  • 2 layers136 × 84 mmMacropad, the printed circuit board in 3D

    Macropad

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    38 parts915
  • 2 layers126.4 × 15.2 mmV5ProbeTop, the printed circuit board in 3D

    V5ProbeTop

    Architeuthis-Flux/JumperlessV5

    The next generation jumperless breadboard

    38 parts332
  • 2 layers66 × 25.4 mmArdmover Empfangsspule Yann, the printed circuit board in 3D

    Ardmover Empfangsspule Yann

    Ardumower/ardumower

    Develop an open source robotic lawn mower (HW+SW reference platform)

    38 parts282
  • 2 layers17.8 × 17.8 mmAltmode friend, the printed circuit board in 3D

    Altmode friend

    CRImier/MyKiCad

    My KiCad boards. Can't be bothered uploading individually anymore, so here you go.

    38 parts253GPL-3.0
  • 2 layers51.4 × 61 mmWifi gb cart, the printed circuit board in 3D

    Wifi gb cart

    Staacks/wifi-game-boy-cartridge

    A WiFi cartridge for the original Game Boy.

    38 parts242
  • 2 layers125 × 97.2 mmBattoota, the printed circuit board in 3D

    Battoota

    AlaaSaadAbdo/battoota

    Keyboards

    38 parts188