102

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

top 11 comments
sorted by: hot top controversial new old
[-] nickwitha_k@lemmy.sdf.org 12 points 1 year ago* (last edited 1 year 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.

[-] sadekbaroudi@lemmy.world 4 points 1 year ago

You nailed it! Would love to see what you put together!

[-] Cris_Color@lemmy.world 4 points 1 year ago

Cool as hell, thanks for sharing!

[-] Tompi@discuss.tchncs.de 3 points 1 year ago

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

[-] jhelvy@lemmy.world 2 points 1 year 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.world 1 points 1 year 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 1 points 1 year 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.world 1 points 1 year 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 1 points 1 year ago* (last edited 1 year 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.

[-] sadekbaroudi@lemmy.world 1 points 1 year ago

(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.

this post was submitted on 02 Aug 2023
102 points (99.0% liked)

ErgoMechKeyboards

5686 readers
2 users here now

Ergonomic, split and other weird keyboards

Rules

Keep it ergo

Posts must be of/about keyboards that have a clear delineation between the left and right halves of the keyboard, column stagger, or both. This includes one-handed (one half doesn't exist, what clearer delineation is that!?)

i.e. no regular non-split¹ row-stagger and no non-split¹ ortholinear²

¹ split meaning a separation of the halves, whether fixed in place or entirely separate, both are fine.
² ortholinear meaning keys layed out in a grid

No Spam

No excessive posting/"shilling" for commercial purposes. Vendors are permitted to promote their products/services but keep it to a minimum and use the [vendor] flair. Posts that appear to be marketing without being transparent about it will be removed.

No Buy/Sell/Trade

This subreddit is not a marketplace, please post on r/mechmarket or other relevant marketplace.

Some useful links

founded 1 year ago
MODERATORS