Squeezebox Keyboard v2209

Iterating on the Squeezebox scooped split ergonomic keyboard. This version features a PCB instead of full hand wiring and choc mini switches

Public Chat
Similar projects worth following
The Squeezebox is an ergonomic split computer keyboard emphasizing extremely tight spacing, a deeply scooped "home corner" keywell design, component-oriented construction, and mechanical adjustments to tailor fit several dimensions.

Thanks to PCBWay for providing PCB Manufacturing services at no cost for this project!

  • Engram Layout Practice

    Peter Lyons10/22/2022 at 17:42 0 comments

    I reset my statistics on and started from scratch learning the engram layout variation I hope to use on the v2209 squeezebox. I've only got 8 letters in the practice set so far but I'm much better able to keep my fingers homed on the home corner with light contact to both the R1 and R2 home corner keys because each finger stays in its lane and the pinky never needs to reach up. Here's a few more photos I took for the reddit post so they end up in the hackaday gallery as well.

  • PCB Mount bolted on

    Peter Lyons10/13/2022 at 00:23 0 comments

    So after a few iterations I have a simple PCB mounting bracket. I bolt the PCB to it with m3 threaded inserts, then the bracket itself bolts to the slot box with m3 inserts too. Of course this approach postdates the slot box print so I had to retrofit the bolt holes with a drill which was kind of a bummer but it worked. I had to use some flathead bolts so I could countersink them, and they need one size smaller hex wrench than the rest of the keyboard, which is unfortunate. But now that they're fastened there's not normally a need to unfasten them.

    So I think the build is as done as it's going to get for now and I can move on to writing it up in a blog post. I'm also starting to learn the engram layout from scratch but it's slow going so I'm still adding home row keys.

  • PCB Mount Take 2

    Peter Lyons10/06/2022 at 21:25 0 comments

    As noted in a prior project log, I dropped half of the keyboard last week and the PCB standoffs failed. One cracked along a layer line and one had the adhesive fail. So with some suggestions from discord I've done another design of a larger mounting plate. The PCB will bolt to this with heat-set threaded inserts, and the mounting plate itself will then bolt to the wall of the slot box.

    I'm going to try to make this work without printing another slot box, so I'll have to drill 2 holes in precisely the right locations and also try to countersink them enough so the bolt head sits flush. Since the walls are only like 2.4mm thick, this could be tricky, but it's worth a shot.

  • Working but busted

    Peter Lyons10/02/2022 at 23:57 0 comments

    Here's the clamps holding the glue-up for the PCB mounting posts in place.

    Last night and today I dealt with my home-crimped RJ9 wires being terrible by splicing on store bought DuPont connectors. This is janky but works. So I was able to get both halves working in concert today. Here's both halves wired up and all keys working.

    Design problem 1: PCB Mount too fragile

    Unfortunately I knocked one half off the table and the fall caused one of the PCB mount adhesives to fail (kind of expected) and one of the mounts to actually snap the PLA along a layer line (less expected). So that means the PCB mounting mechanism is too fragile I think. I may need to bolt all the way through the case or something. Not sure yet.

    Design problem 2: DuPont and Crimping too fragile

    My DIY DuPont connector crimps are bad. Many connectors are sliding backward out of the plastic housing because the "click" locking mechanism is janky. The DuPont are neat because they are slim enough to route through the same slots used for the keywells, but I think ultimately they just aren't going to be secure and robust. It kinda makes the whole build a bummer and at least right now I don't see a way to hack around this, especially not really how to salvage the keywells I've already built and the switches that are glued into them. 

  • RJ9 and DuPont Woes

    Peter Lyons10/01/2022 at 14:23 0 comments

    So my RJ9 connectors have 4 stranded wires of pretty small guage, smaller than 24AWG I think. I tried to crimp DuPont connectors directly onto those and I was able to briefly get connectivity and both halves of the keyboard working together, but the actual connections don't have enough friction and so just fall off with the slightest movement. So it's no good. Next idea will be to use store bought DuPont innie connectors and splice those wires to the RJ9 connector wire. This is basically what I did in the previous build (which was done before I had my own crimping tool). So it'll be a bit fiddly to do all that splicing with the connector already glued into the slot box, but it should be doable.

    I'm a little nervous about gluing the PCB mounts into the slot box as once I do that, futzing with any DuPont connectors will be really tight clearance and a nuisance. Hopefully I don't need to undo the bolts so the PCB comes loose in order to sure up the connectors.

  • RJ9 and Reset

    Peter Lyons09/30/2022 at 14:26 0 comments

    Early this morning I crimped DuPont connectors onto a pair of RJ9 jacks and glued them into the left hand slot box. I also added wires with DuPont ends to my reset buttons and glued one of them in place.

    The newest revision of the slot box just came off the 3D printer late this morning with the MCU hole in the right place and the reset button hole moved to the outside wall.

    Next I have to re-install all the keywells onto the new slot boxes and dial the offsets and splays again, but we're getting close to trying out I2C and seeing if they work as a split keyboard. 

  • Both hands working

    Peter Lyons09/28/2022 at 17:45 0 comments

    So I was having issues flashing my Elite-Cs for a while but with some time away from the project and some help from discord I discovered two key problems. One of my MCUs was mounted to the wrong side of the PCB and that was screwing everything up. The other PCB seemed to have some short or problem, but once I pried the MCU out of the socket I was able to flash it properly again.

    So this necessitated 2 additional PCB build-outs. I'm now at 3 PCBs I screwed up. Since I have 10 it's no big deal and the other ones could probably be troubleshot and repaired if I had more patience but I am keen to get this keyboard working so I can really get a sense for the switches and 1x4 keywell geometry.

    So I did 2 additional rounds of dupont pin header soldering, MCU socket soldering, and diode soldering. Note to self: that order seems to be the best: first get all the pin headers on using breadboards for support, then get the MCU socket pins on, and do all the diodes last. In particular, it's way easier to do the I2C and reset pin headers before the MCU sockets are soldered on.

    So now I have all the keywells built and 2 working PCBs. I've gone through and confirmed on my test firmware that each key types the correct letter and all the wiring lines up as I like with the home made cables and pin header layout on the PCB.

    So now just in terms of completing a build it's adding some dupont wires to 2 RJ9 jacks and 2 reset buttons. Getting the wiring right for the RJ9s is always tricky as its asymmetric. But generally this should be straightforward.

    In terms of design rework, I need to move the USB cable hole about 6mm further from the corner. My CAD didn't account for socketing the MCUs. Also, this was obvious in my CAD but I didn't notice that the slot on the base plate is not long enough to fit the reset button. So I need to relocate the reset button mounting hole also. Sadly this means another slot box 3D print which is a 5+ hour print, but no easy way to hack around it.

  • More Keywell Builds

    Peter Lyons09/19/2022 at 00:15 0 comments

    Today I wired up the second thumb cluster and middle finger keywell. I got to make custom DuPont cables with nicer wire since I got a new kit from SparkFun. The insulation is thinner so they are easier to bend and also fit into the crimp tips better. Crimping is still really really fiddly. I think I crimped a bunch of them with the jaws of the crimper wrong (the tighter crimp hitting the insulation instead of the bare wire). I've also struggled with either getting the connectors into the housing or not getting a good click and lock in place so they just pull free out of the housing. Overall I wouldn't use DuPont connectors again. I still don't know of a better alternative, but this is just not good.

    One major issue I'm having is my Elite-C microcontrollers suddenly don't want to flash firmware anymore. I'm pretty sure I've flashed both of them a few times but I can't get them into bootloader mode again and so qmk can't see them to flash them. I've been stuck here a bit and am not sure what to do. I'm worried I fried them when soldering them for socketing. I'm also out of spares so I may need to order some more. I think by next session I will run out of keywell building to do and the MCU flashing issue will become a blocking issue for the build.

  • Switch prep

    Peter Lyons09/18/2022 at 00:23 0 comments

    Today I soldered switch pin extensions to the remaining switches: 4 full choc minis and 9 chopped choc minis. Then I glued them into the keywells. I have 2 custom cables already prepped and 3 more to make. Should have time to get a keywell or two done tomorrow.

  • Wiring up thumb cluster

    Peter Lyons09/14/2022 at 00:51 0 comments

    Today I wired up the first thumb cluster and built it's custom DuPont connector wire. It checks out OK on the multimeter but not on the MCU. I still can't flash my Elite-C MCUs suddenly for some reason and I'm starting to worry maybe I fried them when soldering on the diode legs to socket them. May need to bite the bullet and swap in new Elite-Cs if I can't get this working pretty soon.

View all 15 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates