Skip to content

firmware

flo edited this page May 31, 2024 · 6 revisions

Firmware

Chew is running on QMK.

You can see my keymap here and use it to create yours.

Flashing

To flash your controllers, you need QMK. So follow the QMK setup tutorial.
Then open a terminal and move to the chew default keymap folder.

  cd ~/qmk_firmware/keyboards/chew/keymaps/default
  cd ~/qmk_firmware/keyboards/chew_mono/keymaps/default

To compile and flash, use the command:

  qmk compile && qmk flash

If it's the first time you're flashing your controller, hold down the boot button and plug in the usb cable.
Otherwise, press the reset button twice.

The controller should appear in your file explorer.
Click on it when the QMK command is waiting for the access.

Split version

Handedness

The left side is automatically detected.
However, to distinguish who's the master/slave side, you have two options with both pros and cons:

SPLIT_USB_DETECT

(This is the default method)
QMK detects automatically which controller is the master on boot (the one which is plugged-in).

Caveat:

On cold computer boot, the keyboard start could fail even if the watchdog is enabled (it is enabled by default).
In this case, you can increase the split timeout value:

// Default 2000
#define SPLIT_USB_TIMEOUT 8000

Try to find a value which works for you.
Unfortunately, due to this, you may not be able to access the bios.

VBUS

This method uses a pin which is active only on one side.
The master role is static.

Add these lines in your config.h :

#undef SPLIT_USB_DETECT
// On the left --
#define USB_VBUS_PIN GP10
// Or on the right --
// #define USB_VBUS_PIN GP12
  
Caveat:

This method works as well, however you won't be able to use your keyboard with the slave plugged-in.

Clone this wiki locally