https://www.reddit.com/r/olkb/comments/er0z2w/qmk_arm_or_avr/ https://beta.docs.qmk.fm/tutorial/newbs_building_firmware I don’t know if there is an actual step-by-step tutorial for new keyboard design but to be honest the “hardest” part is just setting up the pin defs.


From the comment in that reddit post: "The big thing that you'd lose right now is the split keyboard stuff, but that may not be the case for much longer." [QMK documentation](https://beta.docs.qmk.fm/using-qmk/hardware-features/feature_split_keyboard): "ARM split supports most QMK subsystems when using the 'serial' and 'serial\_usart' drivers. I2C slave is currently unsupported."


To be clear though it is still possible to utilize uart for split comms and i2c for other features like oled. I believe it is just i2c support for split in that is not currently implemented. There are practical examples already present of uart for split and i2c for other peripheral features. Just take care to mux the pins accordingly if possible. Depends on the size of your matrix and microprocessor. Edit: oh does look as if there are options for I2C split but it’s not clear to me of the potential ramifications in conjunction with other peripheral ms and whether or not it is constrained to AVR.


Have you tried the printable layout here? https://blog.splitkb.com/blog/introducing-the-kyria I loved the Fortitude60 layout but love Kyria a bit more. Exploring choc spacing is a great idea.


I'm also a kyria fan. It does have its weaknesses though: 1. Thumb clusters are rotated, which matters for chocs, 2. No options for per key RGB. Still my fav and daily though


I was planning on building a choc kyria at some point - why does the rotated thumb cluster matter for chocs?


Haven't tried it, I will take a look.


1) If you are talking about a stm32 (blue pill) then those have more memory (both ROM and RAM) available so if anything you would have less limitations compared to a 32u4 in regard to how many features you could enable. The QMK doc doesn't list any limitations for the stm32 microcontrollers: https://beta.docs.qmk.fm/developing-qmk/c-development/compatible_microcontrollers got nothing for 2 and 3 4) Beyond the QMK documentation itself here is a resource for configuring a brand new keyboard with QMk: https://matt3o.com/building-a-keyboard-firmware/


Thank you. I read somewhere that some features of QMK could not be completely supported in STM microcontroller, but they did not specify what exactly.


Qmk vs STM... You may want to prototype your firmware before committing to a specific stm32 chip. Also, with the chip shortage, you may want to make sure of availability. Choc switches spacing. If you go with MX spacing, you will be able to put any keycaps. If you go for Choc spacing you won't be able to put all keycaps on the Choc switches as some keycap sets are designed with the larger MX spacing. Some people want flexibility in selecting keycaps and don't care about the gaps between the keys. Some people care a lot about spacing and won't get a MX-spaced Choc board. Whatever you choose, if you sell extra boards, let people know of the chosen spacing... Any reason why you design your split board with the chip on board and don't go for a pro micro on board? Lots of diy boards go that way and that makes it a whole lot simpler to assemble. Soldering surface mount components takes more care and attention than just using a pre-made controller. It also makes for the possibility of going wireless with the new controllers based on the nrf52840 that are now available.


I wanted the board to be compact. Also, I pretended to only use one microcontroller with an IO expander, just like the ferris keyboard does.


I've been working on a split that uses an IO Expander, and it makes the firmware a little bit more complicated to write. I used the Ferris firmware as the basis for my handwired prototype. I published my project in a [series of blog posts starting here](http://mark-story.com/posts/view/building-a-split-keyboard-part-1) hopefully it helps :)


Compact and low profile indeed has an impact on the option for pro micros. They can make things thicker. Io expander: the gergoplex did that too. Check for chip availability on that too...


You might want to check out the Ganymede split keyboard. That's an STM32F303 surface mounted on one half with an IO expander on the other. It also runs QMK so might serve as a good starting point for design, and firmware. The person who designed it also put together a summary of their build process.


If you're going to do this you're going to want to be on on the qmk discord, I recommend asking there before you choose/ purchase your mcu Arm is better but more needs more firmware setup and you'll get help with that too


for using an STM32 controller, the only thing that doesn't really work is i2c for split communication. If you're going to use RGB, then you want to use pwm/spi for the rgb, and usart for serial. If you use the blackpill, check out my keyboard, in `handwired/tractal_manuform/5x6_right/f411`, as that has a working config, and some caveats for using that board.