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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy