What is SpaceFN and why you should give it a try
The SpaceFN concept - setting up your space key as a layer switch when held - is probably one of the most useful tweaks in the keyboard hobby. Let me explain how it works. My SpaceFN article on kbd.news made some rounds recently - quite surprisingly given the age of this concept. This piece you're reading is a condensed version of the full post. If you're left with unanswered questions, you'll most likely find the info you're looking for in the original write-up. On my imaginary top list of the most useful keyboard features, tweaks and hacks, SpaceFN would deserve a podium finish for sure. But what makes it so special? In short: SpaceFN is easy to implement, easy to learn, costs nothing, can be used with any keyboard, and can improve your productivity instantly. I will list its benefits below, but can state right at this point that the SpaceFN concept, setting up your space key as a layer switch when held, is clearly one of the most useful tweaks in the keyboard hobby....
Apr 30, 2024
I can only get one side of the ergodox to work at one time. When I plug in the left side alone to my computer, it works correctly (as the left). If I plug in the right side into the left, it doesn't even get power. If I plug in the right side alone to my computer, it works as a mirrored left (eg, the home row is FDSA, not JKL: ). If I plug the left into the right, the left doesn't get power and the right stays mirrored.
If I reflash with a precompiled kiibohd.dfu.bin from input.club I end up back at square one. If I try to build and flash new firmware, it stays in DFU mode. If I try and modify the keyboard layout, something goes wrong and it stays in DFU mode.
I'm not an idiot. I'm a software developer. I've hacked on and used tmk_keyboard extensively with custom configurations and never had a problem. I know how to flash microcontrollers. I've written TCP/IP code for an AVR to parse a JSON api and display the build status of a Bamboo CI server on a toy stoplight. None of this is new to me. But this ergodox is honestly the biggest and most expensive electronics junk project I've wasted money on.
My LCDs work. Considering both sides get power and "work" when plugged in individually, I can safely assume that my USB connectors are functional. But as a complete set, this ergodox is garbage.
Outside of what seems to be the only solution of putting this in a box and pretending this never happened, I don't know what to do except to complain about it before putting it in the box. I had high hopes.
Make sure the firmware is a similar size. And make sure you are compiling for the correct chip (mk20dx256vlh7). Also, if you can get dfu to list, USB is fine.
Second, you need to flash the left_kiibohd.dfu.bin to the left side and right_kiibohd.dfu.bin to the right side. Other than the shape, both the left and right sides are the same keyboard so you need to flash different firmware on each.
As for the right side not powering up. Just checking, is this a laptop? Some laptops do not provide as much current as the USB spec defines. Try a powered hub or a desktop computer to see if they at least turn on. The LCDs will turn on with 5 V applied to the cable, no need for any data on the USB bus.
Support wasn't very productive, since like every other person that's impatiently waiting, Massdrop does not have _ANY_ PCBs available, so I'm probably at the very end of the list after all these other nice people waiting on whoever to finish producing new boards.
You mention a "left_kiibohd.dfu.bin" and a "right_kiibohd.dfu.bin", but no where do I even see mentioned a left and right difference, outside of choosing a left KLL layout and a right KLL layout and compiling different firmware for both sides, individually. Are you sure your documentation is up to date? I'm following your instructions given in https://github.com/kiibohd/controller/wiki