Note

This post is a thought. It's a short note that I make about someone else's content online. Learn more about the process thoughts

Here's my thought on πŸ’­ Pinout and Schematic - nice!nano


Pinout for nice!nano boards. Note that P0.15 means gpio port 0 pin 15, they can be referenced in zmk when setting column and row pins.


#include <dt-bindings/zmk/matrix_transform.h>

/ {
    chosen {
        zmk,kscan = &default_kscan;
        zmk,matrix_transform = &default_transform;
        /delete-property/ zephyr,console;
        /delete-property/ zephyr,shell-uart;
    };

    default_kscan: kscan {
        compatible = "zmk,kscan-gpio-matrix";
        label = "default_kscan";
        diode-direction = "col2row";

        col-gpios
            = <&gpio0 31 GPIO_ACTIVE_HIGH>
            , <&gpio0 29 GPIO_ACTIVE_HIGH>
            , <&gpio0 2 GPIO_ACTIVE_HIGH>
            ;

        row-gpios
            = <&gpio1 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
            , <&gpio1 13 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
            , <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
            ;
    };

    default_transform: matrix_transform {
        compatible = "zmk,matrix-transform";
        columns = <3>;
        rows = <3>;
        map = <
            RC(0,0) RC(0,1) RC(0,2)
            RC(1,0) RC(1,1) RC(1,2)
            RC(2,0) RC(2,1) RC(2,2)
        >;
    };
};

This post was a thought by Waylon Walker see all my thoughts at https://waylonwalker.com/thoughts