this post was submitted on 28 Jul 2023
1 points (60.0% liked)

ErgoMechKeyboards

5824 readers
2 users here now

Ergonomic, split and other weird keyboards

Rules

Keep it ergo

Posts must be of/about keyboards that have a clear delineation between the left and right halves of the keyboard, column stagger, or both. This includes one-handed (one half doesn't exist, what clearer delineation is that!?)

i.e. no regular non-split¹ row-stagger and no non-split¹ ortholinear²

¹ split meaning a separation of the halves, whether fixed in place or entirely separate, both are fine.
² ortholinear meaning keys layed out in a grid

No Spam

No excessive posting/"shilling" for commercial purposes. Vendors are permitted to promote their products/services but keep it to a minimum and use the [vendor] flair. Posts that appear to be marketing without being transparent about it will be removed.

No Buy/Sell/Trade

This subreddit is not a marketplace, please post on r/mechmarket or other relevant marketplace.

Some useful links

founded 1 year ago
MODERATORS
 

Hey all.

I am currently prototyping a keyboard with the Seeedstudio Xiao BLE (nrf52840). I configured the shield config correctly & got it working. However, my RGB won’t turn on (followed the ZMK documentation on RGB underglow)

Does anybody have a pointer to a project that got RGB working with Seeedstudio Xiao BLE & RGB?

top 4 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 1 year ago (1 children)

I have successfully driven a chain of RGBs from a Xiao controller, although not running ZMK. One thing you could do is write a little Arduino program to just drive the RGBs, and that will let you isolate whether it's the hardware or ZMK.

One easy thing to check on the hardware side: Are you running the power to the RGBs at 5v or 3.3V? The logic voltage of the Xiao is 3.3v, so you either need to power the RGBs from the 3.3v pin (out of spec but it will work fine, probably) or if you are powering the RGBs from 5v then you need to shift the voltage level of the data pin up from 3.3v to something closer to 5v. The RGBs compare the voltage on the data line to their power voltage to decide what's a 1 vs 0 on the data line. 3.3v is low enough below 5v that the RGBs will interpret the digital signal as entirely 0s

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

I am using this trick to convert the logic input to 5V, so that should work. Super hacky, but as far as I checked, every piece of this hack is entirely in spec for the components used.

I'll check with a simple Arduino program first I guess

UPDATE: Arduino program works, so it is not a hardware issue (lucky me)

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

Are you feeding the leds with 5v or 3.3v? I've had issues with 5v and no shift registers as the led won't pickup the high state of the leddata without a shift register.

https://github.com/WainingForests/zmk-config-xiao/tree/Xiao_rgb I have successfully done LEDS just fine. Per key is a misnomer though. ZMK doesn't allow individually addressing each key. Instead, you'll be using underglow to apply effects to the whole "chain."

[–] [email protected] 1 points 1 year ago

See my other response for how I am driving the LEDs :) (Works fine with an Arduino program so that is not the issue here)

It seems to me that I get this line wrong: NRF_PSEL(SPIM_MOSI, 0, 16). I would read this as "Set pin P0.16 as SPI MOSI", however I cannot find a pin P0.16 exposed on the Xiao BLE https://wiki.seeedstudio.com/XIAO_BLE/

Can you give me a pointer where I am wrong?

(my RGB pin is P1.11 / D6, so I would've assumed that I should change this to NRF_PSEL(SPIM_MOSI, 1, 11), I know that the use of low frequency pins is discouraged by ZMK docs)

load more comments
view more: next ›