Don't use kbfirmware.com as it is outdated and does not support split keyboards. Use QMK Configurator instead.
Having the TRRS cable plugged in while flashing has zero effect on flashing. Having it plugged in will not flash both halves at the same time.
Flashing does not occur over the TRRS cable, so it does not matter if the TRRS cable is plugged in or not while flashing. Each half needs to be plugged in individually to the USB port to be flashed.
Nope, this is perfectly normal!
Here's the explanation why:
Unless you explicitly do
#define EE_HANDS in your keymap (this is not the default), QMK automatically assumes that whatever half the USB cable is plugged into is the left hand board. Even flashing the .eep files in this case does nothing, as it's ignored unless
EE_HANDS is explicitly set.
So when you plug in the right board itself, it thinks it's the left one. The reason it's flipped is because the PCB has been physically flipped compared to the actual left board.
When you plug the TRRS cable in, the right side now auto detects correctly as the right side, and the firmware also knows to flip the board.
We have a list of suggested soldering tools here: Recommended Soldering Tools
That's for use with a Tag-Connect cable to do ICSP flashing (to do reflash of bootloader).
For all of the boards made by Keebio, the band on the diode (the cathode) is always associated with the square pad. On most boards, the square pad is pointing towards the bottom. For some PCBs that support Kailh Low-Profile switches, the square pad may be pointing towards the top.
Simple rule to remember: Band = Square Pad
Resistors have no polarity, so the direction they are installed does not matter.
Only the BDN9 Rev. 2 has individually addressable per-key RGB. For all other available Keebio PCBs that have in-switch LED support, the LEDs can only be controlled as a group.
One option around this is to use a switch with clear housing like a Zealio or Alias switch and point RGB LEDs upwards through the switch.
Compatible sizes: 1.8mm, 2x3x4mm, or 3mm, note that sometimes the 3mm LEDs can interfere with the keycaps. Voltage should be around 2.7V to 3.3V. Only 2-pin LEDs will work.
2-pin "RGB" LEDs are not really RGB LEDs that are controllable. They are rainbow LEDs that just cycle through various colors on their own and color can't be specified.
Here's a link to some LEDs that will work: Chanzon 100pcs 2x3x4 LEDs
- WS2811 and variants (WS2812, WS2812B, WS2812C, etc.)
Currently, the only open-sourced PCB design made by Keebio that has been released are:
The repository for this website can be found here: Keebio Docs on GitHub, we welcome any pull requests
The default firmware uses serial communication between the two halves using a single pin of the TRRS cable. Serial communication only allow for communication between two parts, which is fine for almost all builds.
However, in the future, there might be additional parts that you can add, like a numpad, OLED screen, etc. To support this, the communication protocol would need to be switched over I2C, which can support multiple devices. Additionally, the latency between halves is lower using the I2C protocol, which can help if you are a fast typer.
To add support for I2C, all you need to do is add the 2 4.7kΩ resistors to one of the halves (other half does not need them). Also, it doesn't hurt to add these resistors if using serial communication.
tl;dr: Adding this is optional, but you might as well do it as it's only 2 more components to solder.
Most USB-C to USB-C cables should work, as long as they have the following pins in the cable:
All the USB-C to USB-C cables sold at Keebio are compatible.
Below is a schematic of how the pins are used: