Niphargus

Public

@mornepousse

Share Niphargus

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading…

README

Niphargus

The cave shrimp: blind, discreet, indestructible.
La crevette des cavernes : aveugle, discrète, indestructible.

First assembled units, September 2026. Working on battery and USB, with a few hand-fixes on the mechanics — see the bench notes.
Premiers exemplaires montés, septembre 2026. Fonctionnels sur batterie et USB, avec quelques rattrapages mécaniques à la main — voir les notes de banc.


English

Niphargus is a thin, unkillable wireless split keyboard.

  • Two self-contained halves — one ESP32-S3-WROOM-1 + nRF24L01+ and a 16340 cell each, matrix scanning in deep sleep (RTC domain), the KeSp dongle on the host side.
  • Firmware — KeSp_firmware (ESP-IDF), shared with the dongle and the other KeSp boards; keymaps are edited with KeSp_controller.
  • Wired fallback — direct USB-C plus a TRRS jack between halves: plugging it back in must be enough. A 5 V handshake on the link makes hot-plug spark-free.
  • ESD hardening throughout — TVS diodes on USB and TRRS, 100 Ω in series on every matrix line, careful ground planes. The static discharge you bring back to the keyboard will no longer crash it.
  • Sharp Memory LCD (right half) for layer and battery status: holds its image at a few µA and never flickers. Azoteq TPS43 trackpad (left half), over I²C.
  • The survival kit — an ESP32-P4 vault behind a CH334R USB hub: multi-ISO boot key, PGP token, storage. It only powers up when the keyboard is plugged in.

A complete redesign of the Rouge-Gorge (v1, 2022), a Jorne / Kyria rev2 derivative that was never built. This repository carries the full history: Rouge-Gorge → rili → Niphargus.

Status (2026-08) — v2 schematic complete and reviewed, board routed, ERC and DRC clean. Case in progress (see below). Firmware in KeSp_firmware.

Français

Niphargus est un clavier split sans fil, fin et increvable.

  • Deux moitiés autonomes — ESP32-S3-WROOM-1 + nRF24L01+ et une batterie 16340 chacune, scan de la matrice en sommeil profond (domaine RTC), dongle KeSp côté hôte.
  • Firmware — KeSp_firmware (ESP-IDF), partagé avec le dongle et les autres claviers KeSp ; la keymap se modifie avec KeSp_controller.
  • Repli filaire — USB-C direct et jack TRRS entre les moitiés : rebrancher doit suffire. Une poignée de main 5 V sur le lien évite les étincelles au branchement à chaud.
  • Robustesse ESD partout — TVS sur USB et TRRS, 100 Ω série sur chaque ligne de matrice, plans de masse soignés. La décharge que vous ramenez au clavier ne le plantera plus.
  • Écran Sharp Memory LCD (moitié droite) pour le calque et l'état des batteries : tient l'image à quelques µA sans jamais clignoter. Trackpad Azoteq TPS43 (moitié gauche), en I²C.
  • La trousse de secours — un coffre ESP32-P4 derrière un hub USB CH334R : clé bootable multi-ISO, token PGP, stockage. Il ne s'allume qu'en filaire.

Refonte complète du Rouge-Gorge (v1, 2022), un dérivé du Jorne et du Kyria rev2 resté sur le papier. Le dépôt porte tout l'historique : Rouge-Gorge → rili → Niphargus.

État (2026-08) — schéma v2 terminé et relu, carte routée, ERC et DRC au vert. Boîtier en cours (ci-dessous). Firmware dans KeSp_firmware.


Repository layout · Organisation du dépôt

PathContents
hardware/pcb/KiCad project — niphar.kicad_pro (schematic, board, footprints)
hardware/order-*.csvPart orders: TME, LCSC, AliExpress
hardware/kit-jlcpcb/Gerbers, BOM and CPL for JLCPCB
case/Case generator and CAD output
scripts/Anti-regression checks
docs/Design specs and plans

Case · Boîtier

Three parts: a CNC-machined 8.5 mm aluminium frame, sandwiched between two 2 mm polycarbonate plates, 12.5 mm overall. The 16340 cell sits beside the board, in a pocket milled into the frame itself.

Trois pièces : un cadre aluminium usiné de 8,5 mm pris entre deux plaques polycarbonate de 2 mm, 12,5 mm hors tout. La 16340 se loge à côté de la carte, dans une poche fraisée à même le cadre.

The frame outline is not computed — it is drawn. Edit case/case_outline.svg (KiCad coordinates, 1 unit = 1 mm), then run:

Le contour du cadre n'est pas calculé, il est dessiné. Éditez case/case_outline.svg (repère KiCad, 1 unité = 1 mm), puis lancez :

freecad --console case/gen_case.py

This regenerates the .FCStd, the STEP, the STL files and case_plan.svg.

Anti-regression · Anti-régression

./scripts/check.sh --fast   # schematic ERC against the committed baseline
./scripts/check.sh          # + full board DRC
./scripts/install-hooks.sh  # once per clone: pre-push runs the full check

Green means never more ERC/DRC errors or warnings than the committed baseline (.tripwire-kicad-baseline). CI is pinned to KiCad 10.0.4 with its own reference.

Vert signifie jamais plus d'erreurs ni de warnings ERC/DRC que la référence committée. La CI est épinglée sur KiCad 10.0.4 avec sa propre référence.

Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.