Preface This hotkey keyboard is a respoe to Maker's Muses macro keyboard and is featured in my own video on my YouTube channel. I fit just wanted to help with his Arduino code, but ended up drawing the keyboard from scratch because I wanted to use mechanical Cherry MX switches. The design however is heavily derived from Maker's Muses original design. Specificatio Dimeio: 103.6x103.6x39.7mm Switch type: Cherry MX Microcontroller: Arduino Pro Micro Cable: Detachable via USB type B Lighting: Single Color LED I want these prints but I don't have a printer to print these files! There are companies out there that can print files for you. I've never used those services but that might be an option to look in to. Bill of Materials 1x Arduino Pro Micro 9x Cherry MX Switch 1x Micro USB Cable 1x Female USB Type B connector for PCB 1x min. 95x64mm PCB prototyping board (can be cut to size with saw/utility knife) wires (I like multi-strand wires because they are more flexible) 4x M3x6mm screws (I used hexagon socket screws of the standard DIN 912) 4x M3x0.5mm washe 8x 3(dia.)x1mm magnets Optional: 4x single color LED with appropriate resisto Male/Female Pin heade Male/Female Dupont crimp connecto PCB Layout Before you start, you should be aware that there are little jumper pads on one corner of the Arduino micro, as seen in the following picture: When you connect these pads, the Arduino will run at 5V and if you don't, the Arduino will run at 3.3V with a decreased clock speed. Both voltage modes will be fine for this project, but if you want to implement LEDs like I did, then the resistance needed for the LEDs depends on the voltage level of the Arduino. This is how I soldered everything together. I know it's not the best solder job in the world. You don't have to point that out to me ;) Here I've marked the pin numbe, marked the ground wire (gray) and added some dimeio. The standard pin distance is 2.54mm. That's why I used that as the base length for most of the dimeio. If something is missing, just leave a comment. Arduino Code I go over the code and explain how it works in my video, starting at 7:00 minutes. Some more in-depth details can be found as comments within the code itself. The Arduino code (with the ending .ino) always has to be in a folder of the same name as the code itself. So if you try to run the code for the fit time and you haven't manually put it in such folder, this message will pop up: You can just hit OK and the folder will be created automatically. Unfortunately, the Arduino keyboard library only works properly on systems with english keyboard layouts. If your computer expects a keyboard with a different layout, some keys will be switched. German keyboards will for example have y and z switched, as well as some special. This can be pretty annoying and the only real solution is to rewrite the library. However, there are two workarounds for this:1: Use the key that is switched itead. In the case with y and z you could just send z if you want to type y.2: Change your system's keyboard language to English: AutoHotkey scripts I don't really want to focus on AutoHotkey scripts in this posts, but I can skim over the basics: AutoHotkey is a program that is able to perform a certain action whenever a certain keyboard button or key combination is pressed. The nice thing about AutoHotkey is, that it can do basically everything. I've put a very basic script that liste to the key combinatio "Shift F11" and "Shift F12" in the download directory to perform some basic tasks. These key combinatio can be sent by our hotkey keyboard which expands the possibilities of the hotkey keyboard by a lot. However, you will need to download and run both AutoHotkey and the .ahk script at the same time for this to work.