update some deisng parameters and add new cases

This commit is contained in:
2026-07-29 14:32:22 -07:00
parent 683697604a
commit 45a77885f9
34 changed files with 4602 additions and 79 deletions
+36 -10
View File
@@ -20,7 +20,7 @@ bundle install
Then run:
```bash
bundle exec bin/feather-case
bin/feather-case
```
The menu can create a case, reopen one for dimensional tuning after a test
@@ -38,6 +38,18 @@ Set `OPENSCAD=/path/to/openscad` or `BLENDER=/path/to/blender` when either
program is installed elsewhere. The wizard checks both tools before replacing
an existing package.
The wizard can add clearance beyond either short end of the Feather PCB for
right-angle headers, plug housings, and wire bends. Front clearance moves the
board and its standoffs away from the USB-C wall; rear clearance extends the
opposite end of the case.
USB programming access can be omitted for a closed front wall or paired with
an enclosed plug guide. The guide runs from the wall toward the connector and
automatically stops short based on the configured connector overhang and end
gap. New cases default to a 2 mm USB connector overhang, an enabled wall
opening, and an enabled guide; with the standard 2 mm front clearance the guide
has no inward length and behaves as the normal wall opening.
Each generated directory contains a dependency-free `build.rb`. After copying
that directory to another Ubuntu machine, run `ruby build.rb` to reproduce its
exports and previews. The saved generator source is used by default so a
@@ -105,10 +117,20 @@ openscad -o oled-buttons.stl \
feather_case.scad
```
The standard stack height is `wing_count * wing_pitch`. Set
`stack_height_override` to the measured distance from the Feather PCB top to
the top FeatherWing PCB when using unusual headers. It takes precedence over
the computed height.
The standard stack height is `wing_count * wing_pitch`, with a 12.25 mm default
pitch. Set `stack_height_override` to the measured distance from the top surface
of the Feather PCB to the top surface of the uppermost FeatherWing PCB when
using unusual headers. Do not include components on the Wing; profile-specific
component heights and top gaps are added separately. The measured override
takes precedence over the computed height.
For the 128×64 OLED profile, `oled_component_height` is the height of the
tallest board feature (the switch tops), while `oled_display_height` controls
the display-face reference shown in the assembly preview. The defaults are
2.4 mm and 1.5 mm above the Wing PCB, respectively. The enclosure ceiling
remains based on the taller switches plus `oled_face_gap`, placing the display
face about 1.7 mm below the lid's inner plane. The default 0.7 mm captive-button
contact extension spans most of the 0.8 mm switch-to-lid gap.
## Custom wire egress
@@ -123,11 +145,15 @@ extra_cutouts = [
];
```
Faces are `front`, `rear`, `left`, and `right`. For front/rear faces, `u` is
the global Y coordinate; for left/right faces it is global X. The Z value is
the opening centre. Shapes are `circle`, `rect`, `roundrect`, and `slot`.
Cutouts that enter the floor or lid-lip keepout raise an assertion instead of
silently weakening those features.
Faces are `front` (the USB-C short wall), `rear` (the opposite short wall),
`left` (the plain/non-JST long wall), and `right` (the JST/battery long wall).
For front/rear faces, `u` is the global Y coordinate; for left/right faces it
is global X. The wizard presents this as distance from the selected wall's
left edge while viewing it from outside. The Z value is the opening centre.
Shapes are `circle`, `rect`, `roundrect`, and `slot`. Cutouts that enter the
floor or lid-lip keepout, approach another opening too closely, or overlap the
USB opening or guide keepout raise an assertion instead of silently weakening
those features.
## Calibration