zmkfirmware / zmk

ZMK Firmware Repository
https://zmk.dev/
MIT License
2.83k stars 2.86k forks source link

Waveshare RP2040-Zero board addition #2596

Open miketronic opened 4 weeks ago

miketronic commented 4 weeks ago

Board/Shield Check-list

This PR takes off from where glebsexy left off. I attempted to make all changes that Pete mentioned in the comments of that PR (1871).

Nick-Munnich commented 4 weeks ago

Are the outer pins of the zero footprint-compatible with the xiaos? Could you define an interconnect and GPIO nexuses for the zero?

I would also say that this is a board worth attempting to upstream to Zephyr, since waveshare already has some boards defined there.

miketronic commented 4 weeks ago

Are the outer pins of the zero footprint-compatible with the xiaos? Could you define an interconnect and GPIO nexuses for the zero?

I would also say that this is a board worth attempting to upstream to Zephyr, since waveshare already has some boards defined there.

The Xiao is even smaller, shorter by two pins on both sides and none of the pins opposite the USB port that the Zero has.

Nick-Munnich commented 4 weeks ago

The Xiao is even smaller, shorter by two pins on both sides and none of the pins opposite the USB port that the Zero has.

My question is more, if you have a keyboard designed for the Xiao RP2040, could you use the Zero with it or would the width/spacing not match up

Nick-Munnich commented 3 weeks ago

As a consequence of them being compatible I think a xiao_d gpio nexus node should be added so that the zero can be used in place of the xiao on xiao shields.

miketronic commented 3 weeks ago

Deleted the old branch and renamed the new one.

miketronic commented 3 weeks ago

As a consequence of them being compatible I think a xiao_d gpio nexus node should be added so that the zero can be used in place of the xiao on xiao shields.

Looking deeper, unfortunately they are not pin compatible unless you very specifically designed the shield with a cutout in the middle for the internals and USB connector, essentially having a "U" of the connecting pins. 5v/GND/3v3 are on opposite sides of the board for both of the MCUs. You would need to flip the Zero over and have the guts through the cutout to make it work with a Xiao designed shield, or standing off with spacers, but then the boot/reset would be covered.