Hoping for guidance on custom split QMK using Blackpill

Hi all,

I’m hoping for some troubleshooting tips. I have a self-build split keyboard using Blackpills.

If I flash either side with ‘SPLIT_KEYBOARD = no’ in my rules.mk, then both sides work fine (but both working as the left side). If however I set ‘SPLIT_KEYBOARD = yes’, then both sides stop working.

It’s driving me insane!

These are the relevant details of rules.mk:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">MCU = STM32F401
</span><span style="color:#323232;">BOOTLOADER = stm32-dfu
</span><span style="color:#323232;">SPLIT_KEYBOARD = yes
</span><span style="color:#323232;">SERIAL_DRIVER = usart
</span>

And config.h:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">#pragma once
</span><span style="color:#323232;">#define HAL_USE_SERIAL TRUE
</span><span style="color:#323232;">#define SOFT_SERIAL_PIN A12
</span><span style="color:#323232;">#define MASTER_LEFT
</span><span style="color:#323232;">#define MATRIX_ROWS 6
</span><span style="color:#323232;">#define MATRIX_COLS 6
</span><span style="color:#323232;">#define SERIAL_USART_DRIVER SD1
</span><span style="color:#323232;">#define SERIAL_USART_TX_PAL_MODE 7
</span>

And halconf.h:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">#pragma once
</span><span style="color:#323232;">#define SERIAL_USB_BUFFERS_SIZE 256
</span><span style="color:#323232;">#include_next 
</span>

And mcuconf.h:

<pre style="background-color:#ffffff;">
<span style="color:#323232;">#pragma once
</span><span style="color:#323232;">#include_next 
</span><span style="color:#323232;">#undef STM32_SERIAL_USE_USART1
</span><span style="color:#323232;">#define STM32_SERIAL_USE_USART1 TRUE
</span>

Please help! I’ve been at this for three days.

Tompi,

Hi. Im pretty sure you cant use pa11 or pa12, as they Are used for usb…

Check this: www.reddit.com/r/olkb/s/CqDGqABzg3

Nibodhika,

Like I said last time:

I have a crkbd but never heard of Blackpill, is that one of the ones that’s already defined in qmk? If not you need to create the mapping from layout to pins, I have no idea how that is done though.

If it’s defined have you flashed both halves? Before using it? I imagine so otherwise the right side wouldn’t work at all, but just in case.

At least for crkbd the keymap is defined as if it was a single thing, so you don’t need to specify split keyboard, the mapping of pins to keys should take care of that, but the crkbd is always split so that might be the reason you need to define that in your keyboard.

I know it’s a bit inconvenient, but have you tried setting it to not split and flash the right hand size with a MASTER_RIGHT config defined?

nydas,
@nydas@lemmy.world avatar

Blackpill is defined within qmk already. You can do a search in the repo for STM32F401 and see a number of keyboards that use it. From this, you can also see which are split keyboards. The M60 Split is a good example which uses a SPLIT_HAND_PIN to define left and right. The Phoenix is another. This also uses the SPLIT_HAND_PIN. Given that, I’ve tried updating, but no luck. If SPLIT_KEYBOARD = yes then nothing works. If SPLIT_KEYBOARD = no then they work but they both come through as the left side (even if SPLIT_HAND_PIN B9 is set, and B9 is connected to GND or not).

Morphit,
@Morphit@feddit.uk avatar

Are you tying B9 high? By default, Gnd is right, Vcc is left. Unless there are pull-ups, both sides will act as slaves.

You can try just flipping that with #define SPLIT_HAND_PIN_LOW_IS_LEFT

See the docs at: github.com/qmk/…/feature_split_keyboard.md#handed…

  • All
  • Subscribed
  • Moderated
  • Favorites
  • ergomechkeyboards@lemmy.world
  • fightinggames
  • All magazines