Skip to content

mikepdiy/Macro-Keyboard-with-Encoders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Macro-Keyboard-with-Encoders



Introduction and background



The idea to make this macro keyboard came to me when I was learning CAD and I found myself needing to use multiple keys shortcuts that included also middle mouse button presses for orbiting around the 3D object. That was the moment when I went out to search for an accessory that can ease my life but to my surprise what was available on the market was also quite expensive to the point that I felt it was not worth it as I am not a CAD/CAM designer by trade but I wanted to learn a skill to aid my maker skill set. So what's the next thing a maker will do ? Indeed a maker will make it's own spin of an accessory.
When making this keyboard I wanted to build something that fulfilled a few requirements :
  • Easy to use for any user with out without technical knowledge
  • Easy to set and use on any common Operating System ( Windows/MacOS/Linux ... )
  • No special software required to change the key's functionality
  • Multiple key presses combined with mouse key presses on a single key
  • Multiple ways of controlling the mouse pointer
  • Open source as much as possible at least on the software side
  • Hackable for the user that wants to do that without any special tools at least for the software side
  • 3D printable case for the users that want to customize it
  • Open source STL file of the board so the users can build their own spin of the case

What does this keyboard offer ?

Hardware

  • 5 x MX Key Blue switches ( soldered to the PCB)
  • 2 x Rotary encoders with 24 positions per rotation, push button function(click) if it is pressed and a blue led illumination. Left is for horizontal mouse pointer movement and Right is vertical mouse pointer movement
  • 1 x Analog Joystick with push button function
  • Type-C USB port that works correctly with type-C to type-C cables or type-C to USB-A cables
  • Reset button on the bottom to allow quick software upgrade with drag and drop files
  • Lightweight Design

Software

  • Based on open source bootloader and libraries
  • Easy configuration by editing a text file for each individual button
  • It can act as a shortcut keyboard => no matter how long you press the button it only clicks once
  • It can act as a keyboard => as long as you keep a button pressed the programmed buttons in the configuration file will be pressed; example : in Fusion360 oribiting around a 3D object is done by holding pressed SHIFT+Mouse Middle Button and moving the mouse pointer; this can be achieved by keeping pressed one button on the macro keyboard and moving: your own mouse, the joystick on the macro keyboard or the rotary encoders
  • 2 firmware versions, one for Shortcut keyboard functionality and one for Keyboard functionality .
  • In both firmware versions the keyboard can also type text for you i.e.: in case you want to use to type frequently used phrase or passowrd (It's NOT SAFE to save your password in a shortcut keyboard and use it like this but sometimes convenience wins and the option is here but it's your choice if you want to use it or not)
  • Access to the source code that was written for the Arduino IDE but it can be used in other IDE's
  • .uf2 firmware releases with the original firmware released by me but also future updates in case there will be bugs that need to be fixed.
  • For developers, this board also comes with exposed SWD interface that can be used if you need to

Included in this Repo

  • Schematic
  • Code for Arduino
  • Bootloader
  • .step board 3D file
  • .stl 3D printable case that can be printed with FDM printers with 0.2mm layer height, 0.4mm nozzle and 30% infill using PLA

Tempted to grab one for yourself ?

I sell on Tindie

Credits for the software side