Skip to content

Exergist/BigKNOB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeafCutterLabs BigKNOB

image

What Is This?

This project includes:

  1. QMK files for various keymaps for the LeafCutterLabs BigKNOB (v2) macropad controller, which includes 4 RGB LED key switches and a rotary encoder.
  2. C# source for application enabling bidirectional communication between BigKNOB and the host computer.

Jump to the latest release here.

Key Maps

Layout

image

HotkeyPad

Makes function keys F13-F24 readily accessible. Jump to the files here.

Keymap
  • Encoder
    • Single-Tap = Next Layer
    • Double-Tap = Toggle RGB LEDs On/Off
    • Press-Hold = Previous Layer
    • Clockwise Rotation = Next Layer
    • Counter-Clockwise Rotation = Previous Layer
  • Button 1:
    • Layer 0 = F13
    • Layer 1 = F17
    • Layer 2 = F21
  • Button 2:
    • Layer 0 = F14
    • Layer 1 = F18
    • Layer 2 = F22
  • Button 3:
    • Layer 0 = F15
    • Layer 1 = F19
    • Layer 2 = F23
  • Button 4:
    • Layer 0 = F16
    • Layer 1 = F20
    • Layer 2 = F24
  • RGB LED Colors:
    • Layer 0 = Red
    • Layer 1 = Green
    • Layer 2 = Blue

DisplaySwitch

Control device for the ATEN CS1824 4-port KVMP switch. Jump to the files here.

Keymap
  • Encoder
    • Single-Tap = Illuminate key corresponding to currently focused port (if available)
    • Clockwise Rotation = Volume Up
    • Counter-Clockwise Rotation = Volume Down
  • Button 1 = Switch to port 1
  • Button 2 = Switch to port 2
  • Button 3 = Switch to port 3
  • Button 4 = Switch to port 4

Raw HID Functionality

  • Move to specified layer

How to Build and Install the Firmware?

Creating the Firmware

QMK Configurator Method
  1. Load the bigKNOB default configuration in the QMK Configurator.

  2. Select the functions for the buttons and click compile.

    image
  3. Once the compiling is complete, download and save the firmware hex file.

Code-Only Method
  1. Go through The QMK Tutorial. To get started, create a new keymap project within QMK MSYS environment by running qmk new-keymap -kb [keyboard name] -km [name of project]
    • Example: qmk new-keymap -kb leafcutterlabs/bigknob -km DisplaySwitch
  2. Create the desired keyboard behavior by building content in the keymap.c file.
  3. Add (or copy from other QMK bigKNOB efforts) config.h and rules.mk files if needed (most likely YES) into the same location as the keymap.c file.
  4. When keymap.c and (if applicable) config.h and rules.mk are ready, go back to QMK MSYS and run qmk compile -j 0 -kb [keyboard name] -km [name of project].
    • Example: qmk compile -j 0 -kb leafcutterlabs/bigknob -km DisplaySwitch
  5. The outputted firmware (hex file) is located at ...qmk_firmware\.build\[keyboard_name]_[project_name].hex
    • Example: ...qmk_firmware\.build\leafcutterlabs_bigknob_DisplaySwitch.hex

Installing the Firmware

QMK Toolbox Method
  1. Download/install QMK Toolbox. Then launch the application.

  2. Install device drivers by navigating to the "Tools" tab and selecting "Install Drivers" (requires administrative priviledges).

  3. Select the desired firmware hex file, set MCU to atmega32u4, and check Auto-Flash.

    image
  4. Press the button under the bigKNOB device (may have a small hole in the case). The device should reboot and load the new firmware. Make sure to give QMK Toolbox time to complete the flashing process.

    image

    Here is example output from the QMK Toolbox after successfully flashing the bigKNOB device:

    image

Notes

  • My BigKNOB (identified as the "v2" version) was custom-ordered through LeafCutterLabs on Etsy in May 2021.
  • The keymap was optimized for use with the BigKNOB dented encoder.
  • Additional QMK resources are compiled in the QMK Syllabus.
  • A VoiceAttack plugin for communicating with BigKNOB is also available.

Acknowledgements

  • BigKNOB hardware design, original QMK source files, and steps for using the QMK Configurator and the QMK Toolbox are by Craig Gardner from LeafCutterLabs.
  • QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community (and Hasu).
  • HidLibrary is developed and maintained by Mike O'Brien and Austin Mullins (and other contributors).
  • ini-parser was developed by Ricardo Amores Hernandez (and other contributors).
  • Keymap header ASCII art by patorjk.
  • Many thanks to the following people (and probably others) from the qmk Discord for their guideance: filterpaper, drashna, Dasky, ridingquerty, Erovia, sigprof, fauxpark, bomtarnes, CovfefeMcWhiskey, trankillity, tzarc