← Back

Icebreaker Hall Effect PCB

1. VIA Setup

Loading the VIA Definition

Download: icebreaker_HE_via_definitions.json

  1. Download the VIA definition file using the link above
  2. Connect your Icebreaker keyboard via USB
  3. Visit https://usevia.app (or download the VIA desktop app)
  4. Go to the Settings tab
  5. Enable "Show Design tab"
  6. Go to the Design tab and click "Load Draft Definition"
  7. Select the icebreaker_HE_via_definitions.json file you downloaded
  8. Your keyboard should now be recognized with all Hall Effect settings available

Note: VIA allows you to remap keys and configure Hall Effect settings in real-time.

2. Actuation Mode

Selecting Your Mode

Choose how your keys respond to presses. Three modes are available:

  • Normal: Traditional keyboard behavior with fixed actuation and release points
  • Rapid Trigger: Keys activate on downstroke and deactivate immediately on upstroke for ultra-fast response
  • Key Cancel: SOCD (Simultaneous Opposite Cardinal Directions) resolution for gaming

Recommended: Start with Normal mode and switch to Rapid Trigger for gaming.

3. Calibration

Calibrating Your Switches

Calibration ensures accurate key detection across all switches:

  1. Start Calibration: Click the "Calibration Start" button in VIA
  2. Press All Keys: Press every key on the keyboard (including encoder) until all keys turn green
  3. Save Calibration: Click "End + Save Calibration" after all keys are green

Important: Calibrate after first setup or if you experience sensitivity issues.

4. APC Settings

Actuation Point Control

Customize when keys activate and release (Normal mode only):

Actuation Threshold (10-90)

Sets how far down a key must be pressed before it registers:

  • Lower values (10-30): Very sensitive, registers near the top of the keystroke
  • Medium values (40-60): Balanced feel, similar to traditional switches
  • Higher values (70-90): Requires deeper press, prevents accidental presses

Release Threshold (10-90)

Sets how far up a key must travel before it deactivates:

  • Must be lower than Actuation Threshold
  • Creates hysteresis to prevent key chatter
  • Larger gap = more stable, smaller gap = more responsive

Example: Actuation: 50, Release: 40 = key activates halfway down, releases slightly above that point.

5. Rapid Trigger Settings

Fine-Tuning Rapid Trigger

These settings only apply when Rapid Trigger mode is active:

Rapid Trigger Deadzone (15-60)

  • Minimum key travel before rapid trigger activates
  • Prevents unintentional activations at rest position
  • Lower = more sensitive, Higher = more stable

Rapid Trigger Engage Distance (5-20)

  • How far down the key must move to activate
  • Lower values = faster activation but may cause accidental presses
  • Typical range: 5-10 for gaming, 10-15 for typing

Rapid Trigger Disengage Distance (5-20)

  • How far up the key must move to deactivate
  • Lower values = faster release for rapid tapping
  • Should match or be slightly lower than Engage Distance

For Gaming: Try Engage: 5-8, Disengage: 5-8, Deadzone: 20-30

6. Key Cancel (SOCD)

Simultaneous Opposite Cardinal Direction Resolution

Determines what happens when you press opposite direction keys simultaneously:

A&D Mode

  • Resolves conflicts between A (left) and D (right) keys
  • Last key pressed takes priority
  • Useful for FPS games and platformers

ZX Mode

  • Resolves conflicts between custom key pairs
  • Configure for specific game requirements

Note: Only enable if you need SOCD resolution for competitive gaming.

7. Custom Keycodes

Available Shortcuts

Assign these to keys for quick mode switching:

  • APCM: Toggle Actuation Point Control Mode
  • RTM: Toggle Rapid Trigger Mode
  • KCM: Toggle Key Cancel Mode
  • DEBUG0-DEBUG5: Diagnostic verbosity levels (for troubleshooting)

8. Flashing Firmware

Updating Your Keymap

  1. Use the Keymapper to customize your key layout
  2. Click "Download Firmware" to generate your custom .uf2 file
  3. Put your keyboard into bootloader mode:
    • Double-press the reset button on the PCB, OR
    • Press the firmware update key combination (if configured)
  4. A drive named "NRF52BOOT" or similar should appear on your computer
  5. Drag and drop the .uf2 file onto this drive
  6. The keyboard will automatically reboot with your new keymap

9. Using Layers

Understanding Keyboard Layers

Your keyboard supports multiple layers, similar to how Shift gives you capital letters:

  • Layer 0 (Base Layer): Your default key layout
  • Layer 1: Activated by holding the MO1 key
  • Layer 2: Activated by holding the MO2 key

Note: Encoder rotations are only supported on Layer 0 to prevent firmware issues.

10. Rotary Encoder

Using the Encoder

  • Press: The encoder button can be mapped to any function (default: Mute)
  • Rotate Clockwise: Customizable (common: Volume Up)
  • Rotate Counter-Clockwise: Customizable (common: Volume Down)

Important: Only keyboard and consumer (media) functions can be assigned to encoder rotations.

11. RGB Controls

VIA provides full RGB control through the Lighting menu:

  • Brightness: Adjust overall LED brightness
  • Effect: Choose from various lighting animations
  • Speed: Control animation speed
  • Color: Set hue and saturation

12. Troubleshooting

Common Issues

Key sensitivity issues

  • Recalibrate actuation points in the configuration software
  • Check if rapid trigger mode is enabled when you don't want it
  • Reset to default settings and test

Key not registering or double-registering

  • Ensure magnets are properly installed in the switches
  • Check for magnetic interference from nearby objects
  • Adjust the actuation point for that specific key
  • Verify the switch is fully seated on the PCB

Keyboard not responding

  • Check USB cable connection
  • Try a different USB port or cable
  • Press the reset button on the PCB

Can't enter bootloader mode

  • Double-press the reset button quickly (within 500ms)
  • If that doesn't work, hold the reset button for 5 seconds

Recommended Settings

For Typing

For Gaming (FPS)

For Gaming (Rhythm Games)

General Tips

Need More Help?

For additional support or to report issues, please refer to the project documentation or contact the development team.