Meet Pico
Why we decided to use Raspberry Pi in our keyboards

Hello, world!

Raspberry Pi Pico was released on 21st of January 2021, by British company Raspberry Pi Foundation. This news was really encouraging for mechanical keyboards enthusiasts and other weird tinkerers around the world. Previously we have used ATmega32u4 based Pro Micro controller with only 32kb of free memory available, which wasn't enough to implement all the brilliant functions QMK has to offer. It was tough battle and it took a lot of time for us to decide which function we should add and which to remove.
Now, when the QMK has finally added support for RP2040 based controllers, we have in our use 2mb+ of free memory, this is enough for implementing everything that we want in our Dactyl Manuform keyboards.

Some cool specifications of the controller:

  • Powerful Dual-core Arm Cortex-M0+ processor, flexible clock running up to 133 MHz
  • 2MB on-board QSPI flash
  • Integrated reset button
  • Wide availability of the chip compared to ATmega, this is crucial in our times when everyone in the world concerned of chip shortage

Raspberry Pi Pico

So what have we added so far?

Full Vial support
Support of this open-source graphical interface allows easy and fast customization of a keyboard, now you don't have to know how to flash or edit C lang files to fine tune your keyboard, it's all now possible to change on the fly in a few clicks, a true game changer!
All of the following functions has been implemented for the new controller:

16 additional layers

More layers - more possibilities.
This is very convenient when using a split keyboard, where the left half are used more often with pointing device.
Fitting all useful hotkeys and macros on the left half allows us to leave our right hand (this setup is mirrored for southpaws) on the pointing device as long as we need while working, for example, in some graphical program.
Obviously, you won't use this setup for typing, but performing routine tasks without moving your hands constantly is pure joy!

Vial program

Layer use examples:

  • Separate layer for macro to automate bits of code or to answer e-mails
  • Layer to open useful apps, folders and other files
  • Next layer could be set for shortcuts for a more productive work in your program of choice
  • You could even setup a special layer for gaming
Each user are customizing layers for their own need. Most important thing is to not overdo it or too much time and energy will be used to try to recall what keys you have on a 15th layer...
Tap Dance
Now your keys have super abilities!
With this feature one can specify keys that behave differently, based on the amount of times they have been tapped, and when interrupted, they get handled before the interrupter.
For example, X, C, V keys can execute Cut, Copy and Paste functions while you hold the key for a short time - no modificators required.
Or hit the semicolon key once, send a semicolon. Hit it twice, rapidly – send a colon.
With Tap Dance there are colossal amount of possibilities, the only limitation is your fantasy.

Mouse control from the keyboard

Mouse keys are a nice feature for those who wants to rest from constant hand moving. This is great when you do some trivial stuff like web surfing, reading or watching video.

For serious work a separate pointing device this feature won't be able to replace though.

Functional RGB
Now when you press layer key a specific color will highlight this. A very useful addition that we have implemented specifically for Dactyl Manuform.

This function will help new users to easily navigate through the layers and make less mistakes.

RGB on a different layers

This feature is a chording type solution for adding custom actions. It lets you hit multiple keys at once and produce a different effect. For instance, hitting A and S within the combo term would hit ESC instead, or have it perform even more complex tasks.
The last function that we wanted to introduce is called Key Overrides. Last but not least, make no mistake this function is a powerful beast in the hands of a veteran user.
Key Overrides
Key overrides allow you to override modifier-key combinations to send a different modifier-key combination or perform completely custom actions. Don’t want shift + 1 to type ! on your computer? Use a key override to make your keyboard type something different when you press shift + 1. The general behavior is like this: If modifiers w + key x are pressed, replace these keys with modifiers y + key z in the keyboard report.

For example, when pressing Shift + BSPC it becomes Delete.
Alt + BSPC becomes ESC.
Shift + "play/pause" becomes "next track".
The difference compared to Combo is that there isn't a period of time when you need to press two keys simultaneously, you could use the keys as usual but when modificator are pressed with desired key it will turns into something custom that you want.

To be continued...

This article is brought to you by:

Author — Andrey Melnikov

Translation — Evgeny Sin