Center LEDs and custom 3D printed magnetic separation hall effect switches FTW!
Ok ok. I haven’t tried HE switches yet.
Watch a review of my keyboard 😄: https://youtu.be/iv6Rh8UNWlI
OK, I watched it. Best part was when Chyrosran tore into the horrendous QMK and VIA softwares. The keeb is an engineering marvel. I am definitely jealous, because I have plans of my own for a custom keeb and caps. I was not going to go 3D printed though. And I had not considered HE switches, and now I am intrigued. The look of the final product was maybe not so much for me, but that hardly detracts from the amazing work you did. What software did you use to design and program the PCB?
I used kicad and wrote the firmware in Rust from scratch 👍
What challenges did you run into with the firmware? Oh, and where did you have the PCB made?
Challenges with the firmware: Mostly just learning embedded rust. It’s a bit different from regular rust because your don’t have access to
std
(which means noVec
!).I remember having the hardest time just organizing the code. As in, I wanted to divide everything up into logical segments like, “LEDs”, “multiplexers”, “infrared”, etc and rust makes it kinda hard to do that without making everything it’s own little crate. Specifically, if you want your code to be device-agnostic. If you only care about your one board then it’s easy and doesn’t matter so much 🤷
I got the boards made at JLCPCB because they’re the cheapest and seemed good enough 🤷
Hi, I don’t have a mechanical keyboard, but they seem very interesting.
I found some information about north-facing LEDs (they face up) and apparently there are also south-facing ones, which I guess means the opposite. What does center facing mean?
What are the advantages of Hall effect switches? I didn’t know that they’re used outside joysticks. What kinds of switches would you recommend for starting out/different price points?
What problems did you face with Rust? I love the language, but haven’t really used it for that. I did do a bit of bare metal stuff, but that was some time ago. So most of my firmware experience is in C++.
Anything else that would be good to know?
Via is trash for any deep customisation, I massively prefer vial although you have to recompile the firmware for it. Vial does look like ass mind you