I've been thinking about making a new keyboard that's somewhere in between my first split ergo keyboard and my grid60. So a split (but not separated) ergonomic keyboard with staggered columns.

Basically like an Atreus, but with a few more thumb-specific buttons and 60 keys total.

In terms of the construction I'm thinking of doing more fancy stuff with the sound - so actually have a plate for this one. Foam between plate and PCB, and silicone below. Maybe a gasket-mounted plate?

This is roughly what I'm thinking for (half of) the layout. It's a little weird-looking but I quite like it.

I think I can manage to make it so that you flip the left side PCB over to make the right half. If I can get my head around it, that is.

I'm gradually getting there with my split keyboard layout. I can tell that getting everything to the connector is going to be tricky! Tonight I'm dealing with the battery/power stuff in the top left.

It's starting to be less of a mess... or at least, a more compressed mess. Power stuff is mostly done, just got to connect everything to the microcontroller module and the keyboard half connector.

Getting there with the keyboard routing, but it's getting pretty messy. I think I'll need to redraw most of the tracks to tidy it up and rearrange stuff.

Mostly done with the keyboard PCB - it's still a bit messy around the microcontroller, but I can live with that.

Oh, just realised I need to remove the ground fill under the antenna!

Aaand I think that's the layout done! I need to review it (particularly how the connector between the two halves works) but I think that's pretty good!

Good thing I checked the connector - it doesn't work out quite how I thought in my head! I thought flipping one PCB over and putting the header on the bottom instead of the top would connect pin 1 to pin 2 and vice versa.

But this paper mockup shows that pin 1 is gonna connect to pin 1, because both the PCB and the connector have been flipped so they cancel out.

It's not quite back to the drawing board - I'm pretty sure I can do my original plan which was to have the connector straddling the edge of the board. That way the connector orientation *does* flip with the board, so the pins do get swapped!

I think it's ready! I changed the connector over to an edge mounted one (which may or may not be very resilient to stress). Also took the chance to move the mounting hole close to the USB port, to hopefully strengthen that corner of the PCB.

Started designing the plate for the Schism keyboard. It's probably not necessary but I'm planning to gasket mount this, and generally do stuff to make the keyboard sound nice!

I'm getting somewhat used to the #FreeCAD way of doing things, switching between workbenches as appropriate (e.g. designing features in PartDesign, making arrays in Draft and doing boolean operations in Part.

I think it could be nice to have some of these features duplicated in other workbenches (e.g. PartDesign could do with having Draft's array tools). I'm sure there's some reason they're not, though.

If you're working in PartDesign, you shouldn't have to make use of the Part workbench's Booleans. Besides, there's a Boolean feature in PartDesign as well.

Is there any reason why you can't use PartDesign's transformation features rather than Draft Array? Besides the performance hit when dealing with high numbers of instances.

Could you explain a use case?

@normandc Does PartDesign have a way to create an array of holes based on point locations? The example is the key holes in this keyboard plate.

They're not positioned in any kind of grid, so I made a sketch with the relationships and manually positioned Draft Points on the locations in the sketch. Then made a new Body in PartDesign with the shape of the hole to cut and boolean subtracted it in Part.

Is there a nicer way to do that in PartDesign? In Solidworks I'd cut one hole and do a table driven pattern


Ah sorry, I should have inferred from your keyboard screenshot. Yeah, for your use case, that's the only way to do it. It will take someone to improve the PartDesign transformation tools to the same level. I wonder if realthunder did in his FreeCAD fork. He made a lot of improvements, like multi-bodies in the PartDesign Body container. It will trickle down to FreeCAD's main source code eventually.

Also, when missing tools in one workbench or the other, it's mainly because it hasn't been implemented yet. Most of the time it's because there's no developer to work on it.

At work up until last year, we were using Solid Edge 19, which came out back when Windows Vista was current!!! The pattern tool didn't have the table option from SolidWorks you're mentioning here. I believe the current 2021 version has it, but I haven't needed it yet.

@normandc I actually found a use for the table driven patterns at work! We had a PCB I was designing a "bed of nails" test fixture for, and the PCB designers exported a CSV of the test point locations. That meant I could use that to define the hole positions for the probes (there were about 200 so I wasn't about to do it by hand!)

Sign in to participate in the conversation

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.