Promethium51 Keyboard Build Log
Design Goals
These are my design goals. Now I must say not everything is working perfectly for now.
Trackpoint click doesn't work over Bluetooth yet. Bluetooth in general is working decently when connection is really good, i.e. when used on top of a laptop. But, if signal is weak, the keyboard might hang after a few keystrokes.
I haven't verified battery indicator is working correctly.
Trackpoint is usable but a little flaky when using interrupts. Using busywait appears to fix the problem which indicates problem with interrupt version of PS2 support in QMK, but using busywait introduces all sort of other problems. Using USART is not an option as the clock pin is not broken out by the Adafruit controller.
Attachable palm rest is still under development.
Opensourcing the design is not done yet, will do that after some cleanups. Firmware is already part of QMK.Component Diagram
Cross-sectional diagram of some of the components. The sandwich layers from top to bottom:
- faceplate: acrylic mirror, 3mm
- switch plate: aluminum plate, 1.5mm
- middle case: acrylic, 5mm
- middle plate: aluminum plate, 1.5mm
- bottom case: acrylic, 3mm
- bottom plate: aluminum plate, 1.5mmThe Adafruit 32u4 works in 3.3V, but Trackpoint module and LED strip operate in 5V. So, we need these guys in red to convert voltages.
The right one is the Sparkfun 5V Step-Up breakout board, this will convert 3.3V and make 5V available to us. The left one is the Sparkfun Logic Level Converter.
The power lines are connected using thicker 26AWG magnet wire. I probably need to use thinner wires. 26AWG is too rigid that when something connected to it is loose, the wires would exert too much force on the solder connection points, making connection unreliable and harder to troubleshoot.These diodes are there to connect Trackpoint buttons and make the buttons available to the matrix. Diodes are required because the buttons are also connected to the Trackpoint module (they also need another set of diodes there).
This is useful for faux clicky, and to make middle button act as a layer switcher, which is realistic considering the usage pattern of the Trackpoint middle button.
One diode is connected to the wrong pin, it should have been pin 6, not 5.The middle plate and a bunch of SK6812 mini RGB LED strip attached to it. Holes are there to allow Cherry switches to protrude, so we can have LEDs sit nearer to the switch and reduce overall height.
Some of you might notice that I have the switches put sideways. I arranged it that way so I don't have to connect more than 50 sets of pads. Now I can simply cut those in fours, and connect only about 15 of them. In other words I'm trading correct orientation of switches for my sanity 😅.
These LED strips are of 60 LEDs/m variety. They don't align perfectly with switches, but I don't mind. I wish they would make LED strips with the same spacing as keyboard keys.Cables with male headers are used to connect components on switch plate and to those attached to middle plate. These cables are relatively huge, but I found magnet wires too fragile for this purpose. I need something that will last more than a few times of connection-disconnection routine.
These three cable are used to connect to the RGB LED strip. Later, I will add another pair for the piezo buzzer.