Skip to main content

· 3 min read
Pete Johanson

Welcome to the second ZMK "State Of The Firmware" (SOTF)!

This update will cover all the major activity since SOTF #1, preparations for the upcoming Hacktoberfest activity, and a current open call for community feedback on a ZMK mascot.

Recent Activity

So much going on in ZMK!

New Shields

New Boards

Hacktoberfest Preparation

Hacktoberfest is a yearly celebration of open source, which encourages participation in OSS, especially from new contributors.

The ZMK contributors have been busy preparing for folks to join in on the fun by contributing to ZMK!

  • There is now a basic Contributing Guide to help newcomers get oriented, and get up to speed.
  • The Hacktoberfest issue label will help participants discover good issues to work on. (The existing good first issue label also helps with this)

We're looking forward to the launch of Hacktoberfest!

Mascot Selection Feedback

The ZMK project would like to settle on a mascot! We're soliciting community feedback as part of the process before a final mascot is selected.

The current mascots up for consideration are:

  • Griffin
  • Peregrine Falcon
  • Zapata Wren
  • Zorro (south american fox)

If you're interested in helping with the decision, head over to Issue #195 and add a reaction!

Coming Soon!

There still lots of activity in ZMK, and plenty of exciting upcoming changes.

Statistics

Some statistics of interest for ZMK:

  • GitHub
    • 115 Closed PRs
    • 64 Stars
    • 48 Forks
  • Discord Chat
    • 186 total registered
  • Website (last 30 days)
    • 7.4K page views
    • 474 new users

Thanks!

Thanks again to the numerous contributors and users who have made working on ZMK such a pleasure!

· 3 min read
Pete Johanson

Welcome to the first ZMK "State Of The Firmware"!

With interest and Discord activity growing, it seemed important to lay out the progress made recently, current major bugs/showstoppers, and planned next steps.

Recent Activity

There's been lots of various activity in ZMK land!

  • Nicell (nice!nano creator) contributed initial RGB Underglow (#64) support to ZMK.
  • Tons of documentation work.
  • Refactoring (#73, #74) of keymaps to make them simpler for users.
  • Mod-Tap Behavior (docs coming!) is much improved (#69) and usable now.
  • An initial setup.sh script was created, allowing users to quickly bootstrap a "user config" setup and push it to GitHub, where GitHub Actions will build the firmware for you.
  • Corne shield (#80) shield definition was added.
  • Initial encoder support (#61) was added.

Bugs and Showstoppers

Despite the flurry of activity, there are still some serious bugs and show stoppers that potential ZMK users should be aware of:

  • Bluetooth Related - There are several key bugs and fixes needed, including one complete show stopper:
    • Fully working split wireless is not working. In particular, both split halves can properly pair, but once they do so, pairing with the _central_ host will not work. Workaround: You can currently have both halves pair, and use USB on the central side (Left side right now for Kyria, Corne, Lily58) and receive HID events over USB. - Fixed in 8b61beb.
    • BT bond information is not currently stored to the devices, so after powering off or restarting your device, users need to re-pair
  • USB - There is one important USB related bug which is a showstopper:
    • The Zephyr USB stack does not have a built in queue for endpoint data being written. As a result, HID events sent by ZMK are sometimes dropped, or lost. - Fixed by careyk007 in #93.

Next Steps

There's plenty of places to go next! To help keep folks in the loop for what's next, I've created a Core Functionality project/kanban board in GitHub, where users should be able to get some visibility into items being focused on.

Of course, at the top of that list currently is the above bugs/showstoppers, and then from there, I hope to:

  • Work on power management.
  • Improve our documentation on various aspects of the system, mostly around:
    • End user documentation for understanding how to use ZMK, better installation docs, etc.
    • Developer focused documentation, so interested contributors can start building out more behaviors and ZMK functionality.
  • Implement true "hold" detection, useful for several behaviors such as Mod-Tap and Layer-Tap.
  • Hopefully acquire a proper and official USB Product ID for use for the project.
  • Fun things that come up along the way!

Thanks!

A big thanks for everyone who has shown interest in the project, tested things, asked questions, and contributed PRs (Nicell, CrossR, careyk007).

· One min read
Pete Johanson

This blog is a work-in-progress as I work on basic docs + blog on this nascent keyboard firmware.

As is, there are more features missing from ZMK than features it has. As always with pre-alpha software, if something breaks, you get to keep both halves! (especially if it is a split KB)