How to CREATE YOUR CUSTOM KEYPAD DIY
by Alvaro Rosati in Circuits > Arduino
6892 Views, 11 Favorites, 0 Comments
How to CREATE YOUR CUSTOM KEYPAD DIY
A COMPLETE DIY PROJECT THAT YOU CAN CREATE AT HOME!
Guide source:
Alvaro Rosati - Create Your Custom Keypad DIY (google.com)
Supplies
With prolonged use of the PC, I've started to experience discomfort in my left hand due to the awkward position on the keyboard. I have a tendon in my pinky that easily inflames when I do intensive typing work. Being passionate about 3D printing, DIY, and electronics, I've searched for a ready-made DIY project for an ergonomic keyboard, but I haven't found anything completely functional with a comprehensive guide in all its parts. With this step-by-step guide, you'll discover how to create one of the best Keypads possible at home with a common 3D printer.
If you prefer a pre-assembled product, I recommend searching on Google for something ready for purchase. There are companies that offer products of the highest quality, and the benefits of purchasing directly from the manufacturer are significant, including a product assembled by professionals, specialized technical support, spare parts, and continuous updates.
However, if you wish to embark on a fun and intense DIY experience, putting your skills to the test and learning more about the electronic DIY world, follow this step-by-step guide. By the end, you will have built an object of excellent quality, with full compatibility with both PC and consoles, ideal for games like Warzone, Fortnite, World of Warcraft, as well as for video editing, audio, graphics, and 3D modeling software.
With this custom DIY Keypad, you'll be able to store macros, remap keys, calibrate the dead zone of the analog joystick, and much more. Additionally, you can download firmware and software available for free online. Alternatively, if you have the skills, I could write your personal code using the Arduino language.
If you have ideas for improvements and can write code, every suggestion is welcomed!
THE DIY PROJECT
This project represents a personal interpretation and is not compatible with any purchasable physical models. The informational content of this tutorial is available for free. If you wish to create your custom Keypad, you can download the entire DIY project with all the necessary content below. This contribution will help keep the website updated, propose new projects, and updates.
❗ Terms of Use and Limitations
[PLEASE READ CAREFULLY]
This document is a free editorial product created to provide a step-by-step guide for the creation of a custom DIY Keypad. The project is intended for personal use only in a domestic and non-commercial context. The user is authorized to use the tutorial guide and its related contents exclusively for personal and non-commercial purposes. By "personal use," it is meant the authorization to use the tutorial and all related materials for personal learning, experimentation, and enjoyment, but not for profit or commercial distribution purposes. It is prohibited to use the information in the guide for the creation of commercial works; however, it is allowed to use the information in the guide for the creation of a custom DIY Keypad for personal use as described above. Therefore, the author solely authorizes the free consultation of this document and sharing through the link with proper source citation. All other uses are limited by the distribution license.
This step-by-step guide is distributed under an exclusive personal use license; any other use is prohibited.
Ciò implica che:
- Prohibition of Sharing Guide DIY Contents:
The downloadable contents of this DIY guide cannot be shared, resold, or transferred to third parties.
- Prohibition of Publication of Derivative Works:
Publishing or distributing any modified, altered, redesigned, or derived version of the guide and downloadable contents of this project, including the guide itself, is prohibited.
- Limitations on Guide Contents:
The contents of the DIY guide cannot be used for the production of objects for physical sale.
- ✔️ Sharing the Guide on Other Channels:
Sharing the guide is allowed on other websites as long as the source is cited.
- ✔️ Exclusive Personal Use:
Authorized solely for personal learning, experimentation, and enjoyment, excluding profit or commercial distribution. Any other commercial use or distribution is strictly prohibited.
Please note that the subject of the license and its limitations is understood as the entirety of the information in this guide and the necessary contents for the creation of the Custom DIY Keypad.
RESPONSIBILITY
The author of this step-by-step guide is not liable for damages to property or persons resulting from improper use of the information provided and all downloadable contents.
DISCLAIMER
All downloadable contents of the project are incompatible with any purchasable physical models. The physical object is not for sale, and no custom items are made to order.
Third-Party Mentions: Recognition and respect for the intellectual property rights of mentioned entities. All trademarks belong to their respective owners. Some information collected on this web page is in the public domain and available online, with copyright belonging to the respective authors.
ACCEPTANCE OF TERMS
By continuing to read this guide, the user implicitly accepts all the conditions and limitations described above.
PREPARATION
NECESSARY
- Set of Countersunk Head Screws (M1.4 X 10 not included)
- Set of Round Head Screws
- Injection Molded Data Set
- Square nuts DIN562 M3X5.5X2
- 1 meter x 5mm PET Protective Braid
- 1 kit of silicone feet K1204 (Ø12mm) ( Ø12mm)
- Heat Shrink Tubing
- Teensy 2.0 ++
- Joystick Module XY kY-023
- 18 Omron D2F-01, or, D2FC-01; D2FC-F-7N switches.
- 1 two-position switch (toggle switch) 8x8 self-locking with cap
- 1 multidirectional switch
- 5 10-pin 2.54mm/0.1 pitch terminal blocks
- 2 5mm Colored LED Diodes
- 2 220 Ohm Resistors
- Copper Plate OR Stripboard
- 0.5mm alarm cable, or, AWG24 wires (not much cable needed)
P.S. You can also use an Ethernet network cable, but consider that the wires are thinner and may break during assembly.
️ TOOLS
- 3D Printer
- Soldering Iron
- Heat Gun
- Nail Files
- Wire Cutters
- Screwdrivers
- Metal Drilling Bits from 1mm to 3mm
- Patience (lots of it)
DOWNLOAD THE CONTENTS OF THE DIY PROJECT
By making a donation via PayPal, you will be redirected directly to the download page of the archive containing all the project contents.
DO NOT CLOSE THE PAYPAL PAGE BEFORE THE AUTOMATIC DOWNLOAD STARTS
THE PASSWORD IS VISIBLE IN THE DOWNLOADED FILE NAME: Stl-files_PW_password.rar
UPDATE 21 march 2021: The project contents have been updated to a better and more ergonomic version than shown in the photos, but the construction process is identical
PRINT THE STL FILES
In general, I recommend following the suggested printing settings, but feel free to adjust them based on your specific 3D printer.
Ensure that the print bed is well leveled; all parts are designed for a perfect fit, and the microswitches must fit perfectly. A reduced tolerance has been provided to avoid annoying noises during use.
FDM Printing
Recommended Settings:
- Use a layer thickness of 0.15 mm.
- Increase the thickness of the inner walls to 5 layers.
- Set the infill to 100%.
- The maximum recommended print speed is 60 mm/s.
- Use a high temperature to ensure good layer fusion (PLA prints at 235°C).
I advise against printing the structure in PETG due to its tendency to warp or in TPU as the structure will be too soft;
In both cases, you may encounter difficulties in sanding, assembly, and finishing.
The recommended materials for rigid parts are: PLA, SPLA, and ABS, for the wrist rest also TPU.
To achieve a good finish, follow these tips:
- If you want to sand the print without painting it with a different color from the printing material, use fine 400 grit sandpaper and water. Dry thoroughly and, finally, to restore the original color, spray a slow-drying matte clear coat. The lines will disappear, and the surface will look almost injection-molded plastic.
- For finishing the wrist rest and levers, perform a very fine sanding and use a weather-resistant spray, like the one used for car bodywork, to reduce scratches. If you want to finish the wrist rest with padding and fabric, use the 3D model available in the PALMREST folder of the STL archive.
Resin Printing:
If you prefer to print everything in resin, you will need to widen the data provisions for injection and glue them with resin or two-component adhesive; I suggest gluing them with the screw inserted so as not to block the thread; you can follow the rest of the guide normally.
If you want to make the MAIN BASE in METAL:
- The plate must have a thickness of 2 mm (same measurements as the STL file).
- If you want to make the base manually with a power tool, use the Main-Base-Cut.PDF file and print it in actual size.
- If you want to make the base with a CNC pantograph, use the Main-Base-Cut.SVG file with a scale of 1:1. (If your CNC machine uses DXF files, you will need to convert the Main-Base-Cut.SVG file with your preferred software).
FASTENING NUTS
HOW TO INTERPRET THE MEASUREMENTS?
With the letter M, a triangular metric thread ISO is meant, a standard for many applications. In this project, screws and nuts with this type of threading have been used. To facilitate the understanding of the measurements, I have indicated the SCREWS with M and the NUTS without M.
SCREWS:
Screws are indicated with the letter M followed by a number. For example, with M2.5x3, it refers to screws, where 2.5 indicates the diameter in millimeters including the threading, and 3 indicates the length in millimeters. For screws with a round head, the indicated length excludes the head, while for screws with a countersunk head, the length also includes the head, as it penetrates into the hole. The choice between a round head or a countersunk head depends on the description and photos in the guide.
INJECTION NUTS:
Injection nuts are indicated without the letter M. For example, with 4.2x5 without M, it refers to nuts, where 4.2 indicates the outer diameter in millimeters (OD) and 5 indicates the length in millimeters (L). The internal measurements (ID) of the nuts depend on the external measurements:
- For M2.5 screws, use nuts with OD=3.5 L=4/5 (measurements are indicated in the PDF).
- For M3 screws, use nuts with OD=4.2 L=3//5 (measurements are indicated in the PDF).
SQUARE NUTS:
Square nuts are indicated with the abbreviation "SQR NUT" followed by the measurements. For example, SQR NUT 5.5x2, where 5.5 is the measurement in millimeters of each side of the square and 2 is the thickness in millimeters. The internal measurement (ID) of the square nut is M3, meaning it can accommodate a screw with a nominal diameter of 3 millimeters.
All the described measurements are available in the attached documents. Screws and nuts are indicated together, and where the nut is not indicated, it means that the screw should be screwed directly into the plastic.
Injection Nut
Square Nut
Using a soldering iron or a pyrography tool, heat the injection nuts and insert them into the corresponding holes applying slight pressure. Make sure not to use temperatures that are too high, otherwise, you risk excessively enlarging the hole; 250°C should be sufficient.
If excessive dilation occurs, correct the error using two-component epoxy glue or putty.
Insert the square snap-in nuts M3 5.5x5.5x2 into their respective slots in the bases.
In the STL archive, there is a PDF file with the dimensions of the nuts and screws used. Some of these dimensions are indicated in the captions.
GLUE THE SILICONE FEET
Secure the rings of the feet to the base using glue; I recommend using PVA glue.
Insert the adhesive silicone feet into their respective slots.
ASSEMBLE THE BASES
Secure the two parts composing the thumb base with countersunk head screws. Then, attach all finger bases to the main base using round head screws.
ASSEMBLE THE MICROSWITCHES
Insert the microswitches while respecting the orientation shown in the photos to ensure proper contact with the finger levers.
For the electrical connections, use a black wire for the ground (GND) and solder the wire connecting all the common (C) pins. Leave about 20 cm of wire outward for connections to the GND board.
Use four separate wires with different colors for the normally open (NO) pins. Leave about 20 cm of wire outward for connections to the microcontroller. Make sure to use the same wire color for all fingers to avoid confusion with connections.
ASSEMBLE THE LED DIODES
WIRING DIAGRAM⚡
Bend the LED diode cathodes into an L shape and solder them together, fixing them at a relative distance to match the holes in the orange box.
Next, solder a 220 Ohm resistor for each anode as indicated in the diagram.
Solder two wires of different colors to the two resistors and a black wire to the junction of the LED diode cathodes. This wire will be connected later to the GND.
Finally, protect the exposed parts with heat shrink tubing.
ASSEMBLE THE JOYSTICK AND SWITCHES
Use colored wires as desired for the Joystick, the Multidirectional Switch, and the Button.
Next, test the switch outputs (up, down, right, left, and button) with a multimeter and note the correspondence with the wire colors. If available, consult the datasheets for further details.
Remember that the center pin of the toggle switch corresponds to GND.
Glue the toggle switch to the base of the orange box using hot glue or another type of glue. Absolutely avoid using cyanoacrylate glue, as this type of glue can damage the electrical circuits.
PREPARE THE TEENSY 2.0++
Insert the terminal blocks onto the Teensy 2.0++ and solder the pins following the orientation shown in the photos. Keep the board against a flat surface during soldering to ensure that the terminal blocks are well aligned.
For the GND terminal block, you can use a stripboard or a copper board to be cut and drilled as indicated in the photos. Make sure to take measurements from the "main-base.pdf" document provided in the archive. Then, solder all the pins together. This terminal block will be used to connect all the negative wires from the various switches.
ASSEMBLE THE TOWERS AND LEVERS
Insert the wires into the PET protective braid, previously finished at the ends with a soldering iron or a lighter.
Close the towers with the screws indicated in the image, making sure to also insert the PET protective braid inside. For the index tower, assemble the additional button first and then proceed with closing the tower as described above.
Apply about 15 mm of heat shrink tubing to the end of the protective braid towards the Teensy board.
Uniform the holes of the levers using a 1.5 mm diameter drill bit and file the side parts near the holes.
Ensure that the levers can move freely in their housing without friction. Perform tests to understand how much filing is needed, as this depends on the quality of the 3D print.
Assemble all levers into their respective housings and use the screws indicated in the image caption, or refer to the "NutScrewSizes.pdf" document in the archive.
ASSEMBLE THE JOYSTICK
Carefully file the housing for the multidirectional switch so that it is not overly tight. If you need to remove the switch later, it may be difficult to pull it out.
Next, insert the multidirectional switch and the analog joystick into their respective housings as shown in the photos.
Organize the wires and insert the PET protective braid.
Close with the cap using the indicated screws.
Finally, insert the snap-in lever for the multidirectional switch.
ASSEMBLE THE TOWERS AND THE JOYSTICK TO THE BASES
Attach the bases to the main base by inserting the screws through the slots.
Next, attach the joystick and the thumb mini-tower in the same manner.
CONNECT THE ELECTRONICS
Group the cables and cut them near the end of the base, following what is shown in the photos.
Next, prepare the ends of the wires by stripping about 4 mm of wire and applying a bit of solder to make the connection more secure in the terminal block.
Insert the bistable switch and secure it with some hot glue, being careful not to use too much to avoid melting the PLA.
Finally, connect the GND board with the M1.4X5 screws.
Connect the USB cable and use the terminal block to secure the Teensy to the base.
Next, connect the indicator LEDs to the profile and close the perimeter base with the indicated screws. Make sure to carefully organize and check the wiring and the correct housing of the cables coming from the towers.
CHECK CONNECTIONS
Connect the keypad to a USB port on the PC and check if the electronics work. At this time, it is not possible to fully use the keypad before flashing the Teensy 2.0++ board. However, it is important to check for inputs and if the lights turn on.
ASSEMBLE THE WRIST REST
Prepare a two-component adhesive base (epoxy glue or millechiodi are excellent for PLA).
Glue the feet by inserting them into the cross-shaped housings and secure the parts with a clamp until the glue dries.
Next, insert the injection nuts and proceed to assemble them on the base using the screws indicated in the caption.didascalia.
THERE ARE 3 MODELS OF WRIST RESTS AVAILABLE
DOWNLOAD/INSTALL FIRMWARE AND SOFTWARE
Please note:
The keypad works correctly with all firmware and software versions available for free download from the internet at the time of writing this guide, including Software versions v0.22.0 and Firmware v57. With future firmware updates, there should be no issues; however, it's always possible to downgrade to previous versions.
Additionally, it has also been successfully tested with the reWASD software (which will not be covered in this guide).
Dove trovare i file?
You can download the files mentioned above for free, or the latest updates directly from the DOWNLOADS section , here you will find useful tutorials regarding various installation methods for both software and firmware..
To install the firmware, you need to download the Teensy Loader Program (provided with the firmware).
How to flash? The operation is very simple and fast!
- Launch the Teensy Loader Program;
- Import the firmfw-56.hex file (or later) into the loader;
- Activate Program Mode by pressing RESET on the Teensy 2.0++ board;
- Start the upload by clicking on PROGRAM;
- Click on REBOOT;
- Close the loader;
- Disconnect the Keypad;
- Reconnect the Keypad, which will be recognized by Windows.
- Launch the v0.22.0 software or later versions to start using your Keypad!
For more details, follow the operational guide by PJRC here, or, watch the video