changelog - alliecatowo/zmk-sofle GitHub Wiki
All notable changes to the ZMK AllieCat Sofle firmware project are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Enhanced ZMK Studio integration
- Additional RGB effects
- Improved battery life optimizations
- Community keymap contributions
- Extended sleep timeout: Increased idle sleep timeout to 1 hour (3600000ms)
- Enhanced debounce timing: Improved key debounce for better reliability
- Optimized power consumption: Reduced power usage in sleep mode
- Sleep entry time increased from 30 minutes to 1 hour
- Debounce press/release timing set to 8ms for optimal responsiveness
- Power management optimizations for better battery life
// New sleep timeout configuration
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000 // 1 hour
// Enhanced debounce settings
CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=8
CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=8
- ZMK Studio support: Real-time keymap editing without firmware rebuilds
- Studio-specific firmware: Separate build target with Studio RPC support
- Live configuration: Change keymaps, RGB settings, and behaviors in real-time
- USB-UART interface: Studio communication over USB connection
- Left-half only Studio support: Only left half needs Studio firmware
- Standard firmware compatibility: Right half continues using standard firmware
-
Build configuration: Added Studio build target to
build.yaml
# New Studio build target
- board: alliecat_keeb_left
shield: nice_view
snippet: studio-rpc-usb-uart
cmake-args: -DCONFIG_ZMK_STUDIO=y -DCONFIG_ZMK_STUDIO_LOCKING=n
artifact-name: alliecat_keeb_studio_left
- Flash Studio firmware to left half only
- Use ZMK Studio web interface or desktop application
- Connect via USB for real-time editing
- Changes apply immediately without reflashing
- Improved power supply mode: Reduced overall power consumption
- RGB power management: Enhanced automatic RGB shutdown functionality
- Power efficiency: Better battery life through optimized power paths
- Power supply architecture: Modified to reduce idle power draw
- RGB auto-off logic: Fixed automatic RGB power shutdown on idle/USB disconnect
- Battery optimization: Improved power management for longer battery life
- RGB power control: Corrected RGB automatic shutdown feature
- Power consumption issues: Resolved excessive power draw in idle states
- Battery drain: Fixed rapid battery discharge problems
// Enhanced power management
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y
CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_USB=y
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n
If your keyboard was updated before October 24, 2024, please update to the latest firmware to benefit from these power optimizations.
- Split keyboard support: Full ZMK implementation for Sofle layout
- Bluetooth connectivity: 5 profile Bluetooth Low Energy support
- RGB underglow: WS2812 LED support with multiple effects
- Nice!View displays: OLED display integration for both halves
- Rotary encoder: Volume control and layer-specific functions
- Mouse support: Built-in pointing device functionality
- Custom board definition: AllieCat Sofle hardware definition
- Controllers: Nice!Nano v2 (nRF52840)
- Displays: Nice!View 128x32 OLED
- RGB: WS2812 underglow LEDs
- Encoder: EC11 rotary encoder with push button
- Battery: Li-Po battery support with charging
// Core features enabled by default
CONFIG_ZMK_SLEEP=y
CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_EC11=y
CONFIG_ZMK_EXT_POWER=y
CONFIG_ZMK_POINTING=y
CONFIG_ZMK_BACKLIGHT=y
- Dongle mode firmware: 3-piece system with wireless receiver
- Central dongle: USB-connected receiver for non-Bluetooth devices
- Peripheral firmware: Specialized firmware for keyboard halves in dongle mode
- OLED dongle display: Status display on dongle receiver
- Multi-profile support: Profile switching through dongle
-
Left peripheral:
eyeslash_sofle_peripheral_left nice_view_custom-nice_nano_v2-zmk.uf2
-
Right peripheral:
eyeslash_sofle_peripheral_right nice_view_custom-nice_nano_v2-zmk.uf2
-
Central dongle:
eyeslash_sofle_central_dongle_oled.uf2
-
Settings reset:
settings_reset-nice_nano_v2-zmk.uf2
- Gaming systems requiring low latency
- Corporate environments with Bluetooth restrictions
- Older computers without Bluetooth capability
- KVM switches and server management
- Initial design: Basic Sofle layout adaptation
- Enhanced I/O: Additional GPIO assignments for features
- Power optimization: Improved power management circuits
- Display integration: Native Nice!View support
// Current GPIO configuration
row-gpios = <&gpio0 19>, <&gpio0 8>, <&gpio0 12>, <&gpio0 11>, <&gpio1 9>
encoder-a = <&gpio1 10>
encoder-b = <&gpio1 14>
rgb-data = <&gpio1 12>
backlight = <&gpio1 13>
ext-power = <&gpio0 13>
- Comprehensive English documentation: Complete translation and expansion
- Setup guides: Detailed installation and configuration instructions
- Troubleshooting: Common issues and solutions
- Build instructions: Local and cloud build processes
- Feature documentation: RGB, encoder, mouse, and Studio guides
docs/
├── README.md # Main documentation index
├── quick-start.md # Getting started guide
├── building-firmware.md # Build instructions
├── dongle-mode.md # Dongle setup guide
├── zmk-studio.md # Studio integration
├── troubleshooting.md # Problem solving
└── [additional guides...]
-
Board definition: Uses custom
alliecat_keeb
board - Shield compatibility: Nice!View display support included
- Feature additions: Mouse, RGB, encoder support enabled by default
- Power settings: Update firmware for improved battery life
- Studio support: Flash Studio firmware for real-time editing
- Dongle mode: Separate firmware set for dongle functionality
- Studio firmware: USB connection required for Studio interface
- Dongle mode: Requires third Nice!Nano controller
- Battery monitoring: Right half battery level not always accurate
- RGB effects: Some effects may impact battery life significantly
- Use standard firmware when Studio editing not needed
- Monitor battery levels manually in dongle mode
- Adjust RGB brightness and auto-off settings for better battery life
- Improved battery reporting accuracy
- Additional RGB effects
- Enhanced Studio integration
- Community keymap templates
- Wireless dongle with display
- Advanced pointing device features
- Custom encoder behaviors
- Power profiling tools
- Multi-device seamless switching
- Advanced gesture support
- Haptic feedback integration
- Custom PCB revision
- Issues: Report bugs and request features
- Documentation: Improve and expand guides
- Keymaps: Share custom configurations
- Testing: Help validate new features
- Follow ZMK coding standards
- Test changes thoroughly
- Update documentation for new features
- Provide clear commit messages
For the latest updates, check the repository releases or monitor the ZMK Discord for community announcements.