But first, layout.

A project log for Aerodox

[WIP] Keyboard based on Ergodox. But wireless?

simon-merrettSimon Merrett 05/12/2020 at 02:180 Comments

Just some snapshots really. I've been hunting down 3D files for key switches and keycaps, as I think on a project like this the kicad 3D viewer could be really helpful for identifying clashes.

First of all, I measured the dimensions of the key layout on the original ErgoDox. The 19.05mm grid was in use there, so the main dimensions I needed to be careful of were the thumb cluster (at  25 degree rotation) and the staggering between the individual columns. I then sketched a 4.6mm dia. circle in FreeCAD Sketcher: 

And exported to DXF. I had been hopeful that sketch points would appear on a DXF but I had to draw lines of some description to get it to export. Nevermind - the circles came in useful for lining up the key switch footprints over the correct position. That's why I needed at least 4.6mm circle diameter - to be able to see the footprint central locating hole concentricity with the drawing. I imported the DXF to the pcbnew drawing layer and started laying the switches out.

Two things were helpful here. In FreeCAD, I had rounded all dimensions (including the 19.05mm grid) to the nearest 0.1mm. Although I run a teeny risk of mechanical clashes (max error is 0.05mm, so unlikely) it means I can put the 0.1mm grid on kicad and be guaranteed to line my switch up with the guide circle. Obviously works with any reasonably fine grid spacing. The second thing in kicad was to start with the thumb cluster and use the Ctrl+m command to do a specified move. In this case, it was the 25 degree rotation for the thumb cluster switches. It's nicer than entering edit mode on each switch (press e) because it remembers the last transformation you did and keeps it in the relevant field(s). So you just press Ctrl+m and then Enter to accept.

Placing the switches goes quite quickly thanks to the alignment circles. 

One nice thing about a grid-based part layout is that it makes it easier to check you have placed the parts in the correct places:

Anyway, I'll leave it here for this session. We can see the form appearing: