Author Topic: First build from scratch. Need help  (Read 1068 times)

0 Members and 1 Guest are viewing this topic.

Offline ERROR7734

  • Thread Starter
  • Posts: 1
First build from scratch. Need help
« on: Sun, 11 October 2015, 09:00:13 »
Hey Guys,

I am planning my first self build keypad. I thought of a simple cuboid corpus, with cherry mx switches and self wiring everything instead of using a pcb. We have everything for soldering at home, so that won't be a problem. The swicthes will be in a quadratic or rectangular matrix(not sure how many yet).

But now to my questions:
1. I think I need some kind of plate to solder the switches in, am I right?
2. what kind of mircocontroller should I use? (considering I am able to programm in C, C++ and some other languages and the next points)
3. I would like to be able to switch between multiple profiles, wheere some profiles should be able to send like "normal raw input"(keycodes for example) where other profiles should be able to sned more specific signals like "start that exe","shutdown",.. (I think for these things I also need a driver/programm installed on the PC? The profiles should be saved on the keypad, so I would need some self written/modified firmware?
4. Lighting. I am not sure yet if I want/need it to be completly backlit, but I surely need at least a few lights (ON/OF, current profile). How should I implement them?


I hope you guys can enlighten me a and maybe I can show you the result of your help in a few weeks :) Thanks in advance for anyone considering to help me out here :)

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: First build from scratch. Need help
« Reply #1 on: Sun, 11 October 2015, 09:32:40 »
Welcome to Geekhack!

1) A plate holds the switches in place so you can handwire your switch matrix to the controller so it's harder than a PCB, but not hard.

The hard part will be finding one with your layout, unless you have a laser cutter or CNC as one off designs are expensive.

If you're a bit crazy and have lots of time on your hands it's possible to build a numberpad from hot glue using matrix keycaps to get the spacing, but I've done it and it's hard to recommend.

2) I'd go with an ATMega32u4.  These are widely used so definitely up to the task, and if you get bored/frustrated writing your own firmware you can always use one that's already available.

The most common recommendation is the Teensy 2.0 as it's tiny and easy to flash pre-made firmwares (you still get to customise your layout etc) but if you're new to the game an Arduino Micro might suit you better as it uses their friendly editor/development environment.  These are harder to flash premade firmware to though.

Or the cheapest option is called a Pro Micro which lacks both the friendly flasher and the development environment, but is essentially the same.  Might have a few less pins... (I've never used one of these)

3) Custom boards are usually programmable including layers, so each key will do whatever you want and you can swap between layers to do different things.

Running programs and system commands can be done through macros (e.g. one key types "Win+r" to get you the run box, then types the exe path, then enter to run it)

The alternative would be to write your own driver to handle the keyboard input and extras, or configure your firmware to have a standard HID keyboard endpoint as well as another endpoint which sends commands to your custom program.  (Please don't ask for more details, I haven't done USB driver development since uni 9 years ago!)

4) A couple of LEDs would be fine to handwire, a full board would not be fun.  They're easiest used with each one on it's own pin pin on the microcontroller wired up with an appropriate resistor as in the hundreds of "button and LED" tutorials found online.


A few weeks is a very short deadline but depending what you're planning and where you are it might be possible - I wish you luck :)
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod