Hexpad

A small macropad with 6 switches, 6 neopixels

1 rotary encoder and 1 OLED display all encased

in a 3D printed case

Project Overview

In this project I was taking part in the Highway (Hack Club) event where I built a custom macropad 6-key macropad. I used KiCad for the custom PCB and Python to write the KMK firmware. The macropad includes 6 Cherry MX switches, 6 neopixels, 1 rotary encoder for a volume knob and 1 OLED display all encased in a 3D printed case designed in Onshape

Key Features

  • Switches – 6 Cherry MX-style switches
  • Keycaps – Blank DSA keycaps 
  • Rotary encoder –  EC11 Rotary encoders
  • OLED display – 0.91 inch OLED display
  • Neopixels – SK6812 MINI-E LEDs
  • Microcontroller – Seeed XIAO RP2040
  • Case – 3D printed case

Tools Used

Hardware: Soldering Station

Software: KiCad EDA 9.0, Onshape, VS Code

 What I Learned

Learned: KiCad Footprint and Symbol Libaries,  Basic Onshape, KMK

Reflection: Before starting this project, I thought I had an perfect understanding of keyboards. The keyboard obvious just worked like a big board of individual switches, but alas was not the case. They can just be a big board of individually wired switches, but such methods are wildly inefficent for big boards as each switch need 2 pins on a microcontroller, but for my case it worked perfectly as I only needed around 15 pins. Yet my microcontroller only had 11 pins so my antics were cut short. Due to this limitation I got around by using KMK to configure custom macros to make my limited switch pool for my pad, although I still I had to cut a Volume mute button on my rotary encoder as I ran out of pins

Next Steps / Future Improvements

  • Adding more layers for more macros/switches
  • Making more images for OLED
  • Making more neopixel modes