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
- 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
- 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
- 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
- Adafruit Industries - for their amazing work and tools that they provide for anyone to learn and enchance their skills
- Danionescu0 - for the helpful work done on parsing text files from an external storage in very short time
- Creators and contribuitors of the Bounce 2 library
- Creators and contribuitors of the Simple Rotary library
- The creator of MakeUF2-tool