Hey all! I’ve been working on a new standard for interconnecting a main keyboard pcb to modules.
What does this mean? If a keyboard pcb supports the interface via a connector and some basic wiring, it will allow you to use the available open source modules.
I designed an open source keyboard called vulpes minora to prove out the concept, along with 4 modules that you can connect to it. Even before officially announcing it, there are have been 3 keyboards that have adopted it, along with 2 modules developed (Great work by zzeneg , Ariamelon, and Ben!)
Here is a link to see the full list of supported keyboards and modules.
The VIK repository is here, and it highlights how it works, how to implement support for it (for both a keyboard and a module), along with working examples.
https://github.com/sadekbaroudi/vik
If more people adopt it, more people will be incentivized to make modules, and we’ll all benefit from it. No more days of “hey, check out this cirque trackpad, let’s figure out a way to hack it onto existing boards!”. Instead, it will be “Hey, we should design a VIK module that supports this new cool thing!”. Then people will be able to just swap in the new thing, write some basic firmware, and fold it into their existing keyboards.
Thinking out loud here, but if it starts to get popular, we could even work with the QMK folk to potentially create some standardized way of supporting modules (from a firmware perspective) in a more streamlined way.
Anyway, questions and feedback very much welcome.
If you’d like to discuss it in more depth, please feel free to join the fingerpunch discord server, and chat me up (sadekbaroudi) in the #vik channel.
https://fingerpunch.xyz/discord
There was a recent article published on kbd.news if anyone wants to look through that as well
(sorry for the delayed response, I don’t have notifications set up for lemmy)
Yeah, I realize that hand soldering fpc is not easy. However, the alternatives were much more bulky connectors. I actually did add a footprint in VIK that allows you to use a 2 row pin header, as you had described! It’s in the repository, though the README doesn’t highlight it at all!
The footprints are here: https://github.com/sadekbaroudi/vik/blob/master/kicad/vik.pretty/vik-keyboard-throughole.kicad_mod https://github.com/sadekbaroudi/vik/blob/master/kicad/vik.pretty/vik-module-throughole.kicad_mod
With these, you can use a very commonly available, like this one: https://a.co/d/glcPKeg
If you search for “fpc 12 pin 0.5mm breakout”, you’ll find a bunch of these same ones.
So, adding support for a board using these shouldn’t be too bad! Also, I just made a new controller that has a VIK connector built in, so you can make any pro micro compatible keyboard VIK enabled :)
https://github.com/sadekbaroudi/svlinky
[Ad] I also sell these on the fingerpunch site now, though it’s open source, so you can fab them yourself as well.