A thinner, band-shaped, open-source e-paper watch. Miniaturized Watchy successor, built in
https://projecthorae.com
- Python 80.1%
- HTML 11.3%
- JavaScript 6.4%
- Shell 2%
- Dockerfile 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
Waitlist tests / waitlist-tests (push) Successful in 4m1s
Non-Pages workflows move to .forgejo/workflows; GitHub (a push mirror) keeps only Pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
| .forgejo/workflows | ||
| .github | ||
| cad | ||
| explorer | ||
| hardware | ||
| media | ||
| research | ||
| tests | ||
| waitlist | ||
| .gitignore | ||
| .nojekyll | ||
| ASSEMBLY.md | ||
| CNAME | ||
| index.html | ||
| og.png | ||
| ORDER.md | ||
| README.md | ||
| spec.py | ||
| waitlist.js | ||
Project Horae
A miniaturized successor to Watchy, the open-source ESP32 e-paper watch. It's rebuilt as thin as possible, in a slim band form factor (think Fitbit Charge, not a square).
Build log: projecthorae.com
Build one
- ORDER.md: the JLCPCB order (files and every order-form setting), the shopping list with Canadian sources, and the totals
- ASSEMBLY.md: printing, a test-print checklist, bench bring-up, assembly, the dock wiring, and the firmware rules the hardware depends on
- hardware/README.md: the board design, the pre-order review, what to verify at bring-up, and the cost
Research
- Displays: bar-shaped e-paper and memory LCD panels
- Batteries: thin LiPo, sodium-ion reality check, power budget
- Electronics: EDA tools, fabs shipping to Vancouver, key ICs
- CAD & printing: code-CAD and the headless Bambu A1 mini pipeline
- Prototype v0: breadboard kit, steps, charging
- Build plan, rev A: custom board straight away, order → solder → firmware → case → wear
3D explorer
The landing page's interactive model (explorer/) is generated from the case CAD and the KiCad board:
.venv/bin/python cad/web.py (needs Docker for KiCad and npx for gltf-transform). Re-run it after changing the CAD or the board.
Printing (Bambu A1 mini, 0.4 nozzle, one filament per job)
cad/out/plates/petg.3mf: both shells plus the dock's tray and lid, in PETG Basic or Matte. Use 0.1 mm layers and a 0.1 mm first layer (it is the skin over the watch's magnets), no supports.cad/out/plates/tpu.3mf: every seal and cushion plus the dock's grip pad, in TPU 90A (not 95A: twice as stiff) from the external spool, printed slowly. Give the bezel gasket 0.08 mm layers.- Carbon-fibre version: print
petg-cf.3mf(PETG-CF, hardened nozzle) andpetg-cf-set.3mf(the colour-matched PETG parts) instead ofpetg.3mf. - Per-part notes (orientation, layer heights, squeeze) are in
PRINTincad/horae.py, and a full.venv/bin/python cad/horae.pyrun prints them.
Adding a timeline entry
The timeline is newest first. Add a new <li class="entry"> block at the top of the <ol class="timeline"> in index.html, and put its photos in media/YYYY-MM-DD/.