There's quite a lot of choice for split keyboards out there - one of my favorites being the Corneish Zen by lowprokb - just two small boards, wireless interconnect. I made it a unibody design on purpose - better battery life, and only one device I have to charge and remember bringing along with me. And the fact that there is a pretty limited amount of existing designs in that style.
ZMK firmware can as of now sadly not do wired connections between two halves, so it's either wired connection and wired connection to PC (QMK firmware) or full wireless like the Zen, with ZMK.
You probably know how this kind of projects usually starts. "Hey, XY would be nice, I bet it'll be a quick and easy project". Then feature creep happens, then you're not satisfied with your work and start from scratch, and 2 years later you're like "why".
This was one of those projects. It is a slim 40%ish column staggered wireless keyboard, using a nRF52840 chip, and Kailh Choc switches. It is as slim as possible with mechanical switches, features months of battery life, and is entirely open source - electronics, case, software. For now it will only have a 3D printed case, but CNC machined aluminum is planned too.
I am typing this on the first prototype while waiting for the updated 3D-prints to arrive, but felt like sharing my work already - hope you will enjoy it!
Some wifi/ble modules come pre-certified. The holyiot 18010 (nRF52840) on the prototype comes with FCC/RoHS certs from the factory, so at least the Bluetooth part is "guaranteed" to be conform, and everything else is so simple, it won't cause any relevant EMI either way (esp. not inside a metal shell).
I think that's mostly a "I tested it with these OS so I can guarantee it works" thing - ZMK should work with pretty much anything out there as long as it can do HID over Bluetooth.
2. This one is basically limited by what a 3 position slider (usb/bt1/bt2) can do, the firmware could do up to 5. We could offer an alternative firmware where the slider can do bt1/bt2/bt3, and USB or Bluetooth is automatically determined by whether it's plugged in or not if that helps.
5. That space is needed for the battery, since the board is too slim to place it elsewhere.
Sure thing. We'll release the original firmware configuration alongside with the board, so changing the keymap and recompiling a new firmware wouldn't be a big deal, flashing is easy over USB (and once ZMK studio is ready, you will even be able to live-remap over USB/BT without a recompile/reflash).
Depends a lot. If you want it fully assembled, you have to go to larger fab houses like PCBway, and spend a few hundred bucks on a 5pc batch. If you can hand-solder some parts (in this case, the Bluetooth module and the USB connector) and design the rest around jlcpcbs libraries, you can get away with 20-30USD per unit (MOQ of 5) plus shipping/customs. Then add another 10USD for the bluetooth module and USB connector.
Oddly enough, small-batch prototyping at jlc can be cheaper than medium sized (50-150 pc) runs at other fabs.
Hope this doesn't sound like an ad, I've compared a lot of prices and nobody came close to jlcpcb, but With their limitations (limited stock, limited finish/color choices, frequently chnaging stocks and component prices) and sometimes far-from-ideal QC (some scratches can happen, in rare cases even missing components that were present in the BOM) they are not really my first choice for production runs. For prototypes or small unofficial-ish batches with a few friends though - god tier.
It's running open source ZMK firmware, which has no problems connecting to Linux devices, and if I remember correctly the "base keymap" features will all work cross-OS, and can be remapped easily with a firmware update.
Encoders are pretty nice for volume and screen brightness, and if you are working with some specific software you could in theory remap them to other random stuff like scroll through a video editor timeline. My usecase is limited to volume/screen brightness.
With ZMK firmware (that's what this board is running) latency can be seriously low in my experience - but it heavily depends on signal strength and BT chipset of the PC. My desktop has an older intel WiFi card with antennas behind the metal case, and latency is annoying. My notebook uses a ~5 years old intel wifi card, and I did not notice any delay even when playing stuff like CSGO. Probably still too slow for rythm games like osu!, but not noticeable for typing/coding/fps in my experience.
USB Bluetooth dongles fluctuate a lot too, I think it depends on the chipset used (and it's software stack).
I'm not a member of the team, but was contracted for the PCB design as an external freelancer - I have one of the PCB prototypes sitting in a shelf, and the designer has a fully functional prototype with aluminum case and keycaps already. Bit dusty, but here's my proto with a ridiculously oversized battery (that would probably run for a year or so without charging): https://mpwr.xyz/blog/2022/pcb_1.jpg
This will most likely not be the final PCB revision as we still have ideas for improvements, but it should prove that the board is more than a design study already.
I am the person who designed the PCB for the current prototype. It's running the open source ZMK firmware, and that one works flawlessly on Linux. I had a prototype connected to my notebook (T450s, Intel AC9260 wifi chip, Arch Linux) already and did not encounter any issues, and since it's open source and all configs are public, adapting the keymap to your needs and maybe get rid of some mac-specific things wouldn't be a problem.
In fact we are considering a software toggle (e.g. FN + ESC or maybe more complicated to avoid accidentally toggling it) that has a "Win/Linux" and "macOS" mode, but I didn't get around testing that yet.
PCB designer of the board here - The second switch can toggle USB/Bluetooth profile 1/Bluetooth profile 2 (3 pos slider), but the board runs the open source ZMK firmware and you can reconfigure it however you want. Auto-switching between BT and USB is not used on the current firmware (as it would make the USB slider pos quite useless), but the firmware can absolutely do it.
EDIT: You could for example reconfigure the slider to switch between BT profile 1/2/3, and have the board auto-switch to USB when plugged in. Would take ~2min for me since I know my way around ZMK, bit more if you have to dig into how ZMK works first ofc.