- You will need to sign up for a GitHub account, and fork this repository so you can edit it.
- Navigate to the Actions tab and click the "I understand my workflows, go ahead and run them" button to enable builds.
- Edit config/murphpad.conf to enable/disable features. Edit config/murphpad.keymap to change the keymap. Lastly, make sure the build.yaml file has your board in the "boards" list.
- After committing your changes, your firmware will begin compiling. Assuming there are no typos or other problems, it will eventually be downloadable from the Actions tab.
- Flash the firmware that matches the board you're using, e.g.
murphpad-nice_nano_v2-zmk.uf2
for a nice!nano v2.
Carefully double-check the last changes you made. ZMK syntax is very different from QMK syntax. Note that when editing keymaps, each ZMK code is generally preceded by a reference categorizing what that code does.
For example: the letter "Z" is categorized as a key press. To add the letter "Z" to a keymap, it must be written &kp Z
.
A few more examples below:
QMK | ZMK |
---|---|
KC_A |
&kp A |
QK_REBOOT |
&sys_reset |
LT(1, KC_SPACE) |
< 1 SPACE |
There are many, many more differences. Don't forget to check the ZMK docs.
Double-check the features in the config/murphpad.conf file.
And double-check the Kconfig file in the build results to make sure what you've enabled is really enabled. As of mid-July 2022, there are also some issues regarding default board/shield configurations taking precedence over user configurations.
There is a known issue with OLEDs not being re-initialized after power off; please check that pull request for any updates and/or possible workarounds.
Try the following:
- Wait at least one minute and press the physical reset button on the board once.
- If
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=y
is set in config/murphpad.conf, turn on RGB. Then try step 1. - Add
&ext_power EP_ON
to your keymap and press the key to make sure external power is on. Then try step 2.
Since the RGB LEDs and the OLED are powered by the same pin (VCC
), both will be turned off if power is cut to that pin. There are two ways to resolve this:
Set CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n
in config/murphpad.conf.
This configuration setting will allow you to turn the RGB LEDs off without cutting power. It is the default in this repository.
If the board powering your MurphPad has an alternate power pin (often labeled RAW
), connecting VCC
on the OLED to it will prevent the display from being affected when board VCC
is toggled off.
Later revisions of the MurphPad add jumpers to simplify this process for boards with alternate power pins in the same place as nice!nano RAW
, but this can be done on all known versions.
RAW
pin does not always deliver consistent voltage. This can result in the OLED turning off immediately after boot, or failing to turn on. Unfortunately, the only guaranteed fix is to add a battery; occasionally it will work after a reset as described in step 1.
Instructions for MurphPad v3.1
- Disconnect OLED
VCC
from LED8 by cutting the trace on the PCB. - Solder a wire connecting from the
RAW
pin on the PCB to the OLEDVCC
pin.- @tokolist demonstrates an elegant solution by wiring
RAW
to the unused LED strip connection, but the wire can be connected directly.
- @tokolist demonstrates an elegant solution by wiring
5V
and OLED VCC
, and rewire the strip to board VCC
.
Instructions for MurphPad Rev2 v1.2
- Disconnect OLED
VCC
from LED8 by cutting the J1 jumper. - Connect OLED
VCC
to boardRAW
by closing the J2 jumper.
If you don't remember which profile on the MurphPad was used to connect to a specific device, this may mean cycling through each (&bt BT_PRV
/&bt BT_NXT
) and clearing them (&bt BT_CLR
) one by one. See ZMK's documentation for more info.
As a last resort, try flashing the settings_reset
firmware for your board; this will force-clear everything.
- ZMK's troubleshooting page
- Stop by #keyboard-help in MechWild's Discord
- Ask the ZMK experts in ZMK's Discord