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

  • nickwitha_k (he/him)@lemmy.sdf.org
    link
    fedilink
    arrow-up
    12
    ·
    edit-2
    11 months ago

    If I’m reading this right, you’re basically combining power, I2C (I3C - same pins), SPI, 1-wire RGB LED data (neopixel), and some extra for additional I/Os on an FPC. I like it. I had similar occur to me but never ended up developing it past “wouldn’t it be cool…”.

    Nice work. I’ll have to play around with this once I’ve got my dev boards setup.

  • Tompi@discuss.tchncs.de
    link
    fedilink
    arrow-up
    3
    ·
    11 months ago

    Nice work! I found myself ordering cables and connectors on Ali express before I had finished reading…

  • jhelvy@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    11 months ago

    So glad to see this coming along - the idea of modularizing things will make it so much easier for folks to tinker with existing boards and truly customize them to their own needs.

    • sadekbaroudi@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      I hope so! Adoption is key. I’d like to actually offer that if there is an open source board that anyone would like me to add VIK support to, and the maintainer will accept a PR for it, I’ll gladly do the work.

      • shaysub@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        11 months ago

        Can I take you up on that offer? :) I already have a board with a 12 pin fpc connector for the cirque trackpad but I suppose it mainly needs one level of redirection to support the VIK standard?

        • sadekbaroudi@lemmy.worldOP
          link
          fedilink
          arrow-up
          1
          ·
          9 months ago

          Hey @shaysub. I’m so sorry, I don’t get lemmy notifications, and didn’t see this. If you use discord, join the fingerpunch discord and message me there. My username is sadekbaroudi

          https://fingerpunch.xyz/discord

          If you don’t use discord, let me know how I can reach you directly!

  • ink_black_night@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    11 months ago

    After having a hard time trying to hand solder a fpc connector and just giving up, I would suggest a more regular pin header sort of thing, maybe with two rows? (the ones with 2.54.mm pitch), or something through hole at least.

    Otherwise, you are forcing people to either pay for assembly to jlc / pcbway and the sort or fork more money on tips, flux, braid, etc. Fpc is not handsolder friendly. That is, if you are aiming at the diy community.

    While probably not a problem for a shop, it makes it more expensive for a few units and complicates (while probably only a bit) the ordering process.

    Just my opinion after a bad soldering day.

    edit: Note that I love the idea, would help to expand keyboards a great deal and can build the community.