Skip Navigation
Handwired Skeletyl powered by FAK
  • Thanks! Have fun tinkering once you get the boards 😁

    Btw your work on Cheapino is awesome! Made me aware of other matrix scanning methods. I've been trying to do round-robin matrix scanning on FAK and so far looks like it's working well

  • Handwired Skeletyl powered by FAK
  • Well, there are many ways to do that. It's kind of a rabbit hole on its own. For me, I prefer layers to combos to access special keys like symbols, numbers, and function keys.

    If you meant modifiers like Ctrl and Shift, I use home row mods. I also started with 40+ keys like a Piantor and swore I would never like home row mods, but ended up loving them after trying it.

    Anyway, layers feel pretty intuitive to me. What do you think is making layers not easy for you?

  • Handwired Skeletyl powered by FAK
  • Coming from daily-driving a Klor, it's a very natural transition. I can touch type on it mostly fine. Ergonomics is insane. All the keys feel much closer and way easier to reach. I miss the splay on the Klor though since I've come to like it.

  • Handwired Skeletyl powered by FAK

    !

    WeAct CH552T board, running FAK

    !

    How's my handwiring? 😅

    17
    FAK firmware adds split support, combos, media keys, and full examples

    !

    https://github.com/semickolon/fak

    FAK is a keyboard firmware for the CH55x series of very cheap chips, with the purely functional programming power of Nickel. The project aims to make keyboards much cheaper and to make configuration more declarative and fun.

    New features:

    • You can now make split keyboards with FAK!
    • Combos of up to 8 keys that get the same treatment as physical keys
    • Media keys for playback and volume control

    Most importantly, three full examples are now in the repo of varying difficulties. The beginner example demonstrates how to make a simple keyboard and keymap definition and it looks almost like JSON (but with "variables").

    The intermediate and advanced examples demonstrate how powerful Nickel can be. It features parameterization of keymaps and layouts, advanced home-row mods with eager decision, automatic generation of home-row mod behaviors based on their key position, and more. You can even bring your configs to a higher level of abstraction and be able to do something like this:

    base_layout = "WFPBJLUYSTHKXNAIRCGDM,.O"

    This, for example, defines the sequence of keys in your base layer and, since it's just a string, you can change it very easily. Somewhere along the way, this string of characters becomes kc.W, kc.F, kc.P, ... but done automatically. Abstractions like these can help make your configs more flexible and modular and they allow for code reuse across multiple keyboards and layouts (like QMK userspaces!)

    I'd love to hear what you guys think! Any feedback, suggestions, and testing is appreciated! :)

    6
    Introducing FAK - A keyboard firmware for the CH55x series
  • Thanks! No CH55x chip supports Bluetooth so it's USB only. I thought of possibly adding a Bluetooth module, but that's almost always a SoC and you're much better off using that as the main (and only) microcontroller instead.

    There's this: https://forum.arduino.cc/t/jdy-23-bluetooth-module/672581 Could work as a "dumb" BT module but even so, it can't do HID over BT directly so have to translate that to HID with another chip. Not so power efficient too.

    Basically, I've been through this path and it always led me to: just use one MCU with BT. Fortunately, CH582 is a cheap one. RISC-V with BLE. And it's been recently ported to QMK as well: https://github.com/O-H-M2/qmk_port_ch582

  • Introducing FAK - A keyboard firmware for the CH55x series
  • Also, there's a commercially available CH552T dev board for about a dollar. I actually use this for development: https://www.aliexpress.com/item/1005004141926425.html

    Even cheaper if you buy just the chip. Just add a USB connector and two capacitors then that's it. No crystal, flash, etc. needed. A CH552G goes for about 30 cents: https://www.aliexpress.com/item/1005003402478164.html

  • Introducing FAK - A keyboard firmware for the CH55x series
    github.com GitHub - semickolon/fak: F.A. Keyboard Firmware

    F.A. Keyboard Firmware. Contribute to semickolon/fak development by creating an account on GitHub.

    GitHub - semickolon/fak: F.A. Keyboard Firmware

    Hey all! I'm excited to share and announce my open-source keyboard firmware project. FAK exclusively supports very cheap CH55x chips. You can get a CH552 for half a dollar or maybe even cheaper. No need for external flash, LDOs, or oscillators. The chip's basically a whole MCU on its own.

    So far it has layers, hold-tap, and tap-dance. Split support, combos, macros, etc. and more to come. It's based on Nickel, a purely (almost) functional programming language, so FP folk can go crazy on their config and parameterize everything or whatever. But hey, you only need that kind of power if you want it. For beginners, you can start simple and it looks almost like JSON.

    Home-row mods are a first-class citizen with very customizable hold-tap behaviors. There's global quick tap from ZMK. There's hold-tap flavors too, but settable per key per behavior. There's eager decision, quick tap, and more.

    I've also been experimenting with other matrix scanning methods like the Cheapino's (forgot the name) and round-robin/charlieplexing. This means less pins required, so you can get away with a CH552T (instead of a CH558L with more pins, twice the price) and keep your build very cheap.

    Please check it out! If you have CH552 chips around, I'd appreciate your feedback. I've yet to write better docs and a website, but feel free to DM me and I'd be happy to help you get it running!

    12
    Snowy Klor Yubitsume
  • Thanks! Plate is aluminum. I brushed it with sandpaper and applied some metal polish for a shiny brushed look.

    I got the case from JLCPCB with their cheapest resin (8111X). Got it for only one dollar including shipping lol thanks to the $7 coupon you can get from sharing 3D models. Out of the box, fairly sturdy. It was semi-translucent white but a bit yellowish and ugly, so I spray painted it.

  • Snowy Klor Yubitsume

    My first true split build! I think it came out looking pretty good, besides the scuffed spray paint job in some parts. The typing sounds very marbly thanks to the mods and switches, just the way I like it.

    Switches: Akko CS Piano factory lubed

    Keycaps: Akko MDA Olivia

    Mods: Tempest tape, PE foam, EVA foam, Poron switch pads

    !

    !

    !

    5
    InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)SE
    semickolon @lemmy.world
    Posts 4
    Comments 13