2.9 KiB
| layout | title |
|---|---|
| base | Feather Quad 2x2 Enclosure |
This is an enclosure for the Adafruit Quad 2x2 FeatherWing. It is designed to accomodate a stack of 3 boards with regular height headers, but you can easily change the height by editing the OpenSCAD file and regenerating it.
{% for asset in site.data.assets %} {% assign stlbasename = asset.stl | split: "/" | last | split: "." | first %}
{{ asset.name }}
<html> {% for image in asset.images %} {% assign basename = image | split: "/" | last | split: "." | first %} {% if basename == stlbasename %}{% endfor %}
{% comment %} Sections to consider adding:
Remixed from
How I made this
{% endcomment %}
Print Settings
Designed for 0.4mm extrusion width. Overall, this is a very forgiving print. However, a manually added support under the opening for the USB plug won't hurt.
Parts I used in my clock
For my clock design, I placed 4 displays in front, the Quad in the middle, a Feather M4 Experss and precision RTC FeatherWing in back. I also put a small lipo battery inside so the display would continue to run during short power outages. Then I used a whole pile of M2.5 screws (5mm are good) and 12mm spacers to put it together.
While I haven't put the clock code online, there's a series on my personal blog about some of the surrounding work that went into it:
- Quad CharliePlex FeatherWing hack
- Minimal Time-Zone Handling for CircuitPython
- Calibrating the DS3231 and PFC8523 RTCs
- Helpful scripts for CircuitPython & Real Time Clocks (RTCs)
Downloads
{% for asset in site.data.assets %}
{{ asset.name }}:
{{ asset.notes }}
{% if asset.flags %}
STL generated with {{ asset.flags }}
{% endif %}
{% if asset.scad %} {% assign basename = asset.scad | split: "/" | last %}
- [{{ basename }}](resources/{{ asset.scad }}) {% endif %} {% if asset.stl %} {% assign basename = asset.stl | split: "/" | last %}
- [{{ basename }}](resources/{{ asset.stl }}) {% endif %} {% if asset.svg %} {% assign basename = asset.svg | split: "/" | last %}
- [{{ basename }}](resources/{{ asset.svg }}) {% endif %} {% for download in asset.downloads %} {% assign basename = download | split: "/" | last %}
- [{{ basename }}](resources/{{ download }}) {% endfor %} {% endfor %}