I went for the iris as a portable one. Small and slightly similar to the m01 with way less keys.
I did design the keyboard myself using OpenSCAD. I then lazer cut the layers and hand wired it using a teensy and some I/o expander board. The software was the hardest because I used a teensy 3 instead of the teensy 2. The 3 requires using the teensiduino which has terrible I/o expander support. Right before I got the m01 I was able to port the keyboard to the qnk firmware but it took me a week of headaches and debugging. Because all other keyboards tend to either use two teensy 3s or a teensy 2 and the I/o extension and the real-time os has some limited support for the teensy 3 processor.
The iris looks perfect. However I think I would want sometime more m01 like.
Just as a curiosity (I’ve got no experience with developing for microcontrollers) what is the io expander? Do 32u4 need them to make a keyboard?
Wow, that looks great! I like that there are fewer thumb keys than the Atreus, but they’re in a more accessible arrangement. I’m still struggling to make efficient use of the Model 01 thumb keys - I may end up ‘deprogramming’ one to cut down on mis-presses.
You don’t find the split keyboard a hassle when you’re traveling? It’s really convenient to have the one-piece Atreus, I can use it on my lap quite easily. Just wish I’d gotten a 62 key model, rather than the 42.
Maybe the IO expander is needed to manage the ‘other’ half of the split keyboard? Just guessing, but I’m pretty sure the Atreus doesn’t use one, just a microcontroller.
What is 32u4?
The IO expander allows you to connect the halves of the keyboard with only four wires. Mine (and as far as I know the ergodox) use a trrs cable (four wires) that communicate with the other half using i2c which is some communication protocol I don’t know much about.
You need some sort of controller on the other half to detect which keys are pressed. I think You can look up “keyboard matrix” on google and learn how that works. It’s a semi-complex logic of setting pins to ground and using pull-up resistors to detect current flow.
So I have a separate build that’s one piece which I use for travel. And only a crappy photo of that one. Same layout minus two keys to make the rotation nice.
And like the Atreus this doesn’t need the IO expander.
Atmel atmega32u4 is the microcontroller used by most keyboards included the m01 and the teensy 2
I’m doing the opposite, I brought my ergodox back from work to home and put my brand new model 01 at work