Skip to content

Latest commit

 

History

History
196 lines (138 loc) · 8.55 KB

README.md

File metadata and controls

196 lines (138 loc) · 8.55 KB

Yampad logo QMK

The Yampad project repository

Status GitHub Issues GitHub Pull Requests License


The Yampad project is an open-source, QMK (Quantum Mechanical Keyboard Firmware) powered, hot-swappable, RGB-backlighted, OLED featured, mechanical numpad. This repository will be used to share information about the project and instruction on how to use and assemble the Yampad.

Yampad PCB

Designer's bio: Mattia Dal Ben (aka u/TiaMaT102) obtained a master's degree in Electrical Engineering with a specialization in Computer Science at the University of Udine. Currently works as a Software Engineer in R&D department for a big IoT and Embedded Computers company.

Table of contents

Rationale

Yampad v2

The Yampad is a Macropad/Numpad which uses Cherry MX style mechanical switches laid out in the usual numeric pad layout. The only difference comes from the bottom row, which uses a 4 keys configuration, thus enabling the use of the macropad as a nav cluster.

The name comes from the acronym: Yet Another Mechanical numPAD, referring to the disruptive and innovative nature of the project.

The main goal of this project is to have a cheap, easy-to-build, feature-rich numpad which is completely open source.

Features:

  • Cheap to build: the PCB can be manufactured for less than 1$ per piece.
  • Easy to source components.
  • Easy to build.
  • Hot swappable keys using Kailh PCB sockets.
  • Arduino Pro Micro powered.
  • QMK compatible.
  • RGB backlighting support (optional).
  • OLED 0.91" screen (optional).
  • Completely open-source.

Useful links

Default Layout

Layer 1 Yampad Layer 2 Yampad Layer 3 Yampad

Bill of materials

Qty Item Notes
1 Arduino Pro Micro (ATmega32u4) a.k.a. SparkFun Pro Micro
18 Cherry MX compatible swtiches
18 SOD-123 1N4148/1N4148W diodes
18 Kailh PCB sockets CPG151101S11
9 WS2812B RGB LEDs
9 SMD 0805 100nF capacitors
1 I2C 0.91" 128*32 OLED Display Module The ones using SSD1306 driver IC over I2C
1 6mm*6mm button switch
1 YamPAD PCB Order from PCBWay
5 M3 screws

Assembly guide

There's no wrong order for the YamPAD assembly with the exception of the Arduino/OLED/ResetButton. Here I will suggest an order because I found more comfortable to solder the components this way.

  1. Start with soldering the WS2812 LEDs. Start by applying solder to a pad, then heat it up while adding the component, finally solder the remaining pads.
  2. Now add the 0805 100nF caps. Use the same technique as before.
  3. Add the 1N4148 diodes.
  4. Add the CPG151101S11 Kailh PCB sockets.
  5. Add the reset 6mm button switch.
  6. Add some electrical tape just to be sure.
  7. Add the Arduino Pro Micro bottom side up.
  8. Add the OLED screen
  9. Move to the firmware section and you should be set!

Assembly details

Step 1: WS2812 assembly

The LEDs have a direction, this is indicated by a small cut out corner showing a triangle on the LED itself that must align with a corner indicated on the PCB as a visible corner angle. Top left on images below.

Step 1-a Step 1-b Step 1-c

Step 2: Capacitors assembly

Step 2-a Step 2-b

Step 3: Diodes assembly

The diodes have a direction, the side indicated by the line on the diode must align to the closed side of the shape on the PCB. Left on the three images below.

Step 3-a Step 3-b Step 3-c

Step 4: Kailh PCB sockets assembly

Step 4-a Step 4-b

Step 5: Reset switch

Step 5

Step 6: Electrical tape

Step 6

Step 7: Arduino assembly

Step 7-a Step 7-b

Firmware

The firmware is available through QMK firmware repository. Make example for this keyboard (after setting up your build environment):

make yampad:default

Example of flashing this keyboard:

make yampad:default:flash

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.

Pre-built

I also added a pre-built .HEX file in the 'firmware/' folder here to test the electronics.

Via Support

I also added a porting to via .HEX file in the 'firmware/via_support' folder here to load use .json file in via apps.

Stacked Acrylic Case

Yampad Acrylic Case Yampad Acrylic Case

Yampad Acrylic Case

Acrylic case image gallery here.

Donations

If you've read this far and found something useful, please consider donating to help me maintain and further develop this project.

Donate button