# Hardware di Pulcino

CAD parametrico originale OpenSCAD, unità mm, quote in `pulcino_params.scad`.
La cinematica è definita in [SPEC.md](../SPEC.md): sei MG90S, nessun ginocchio,
interasse anca–caviglia 68 mm, piedi 76 × 44 mm, altezza nominale 182 mm.

## Generare gli STL

Installa OpenSCAD, poi dalla radice del repository:

```sh
bash hardware/render.sh hardware/stl
npm run build
```

La build genera anche gli STL scaricabili in `dist/stl/`. Le parti `staffa_anca`,
`gamba` e `piede` sono sinistre; i file con suffisso `_dx` sono specchiati.
Stampa un corpo, un coperchio, un frontalino e una parte per lato di ciascun tipo.
Non stampare due copie sinistre. I viewer procedurali illustrano la cinematica;
per la produzione usa gli STL generati, non la geometria del viewer.

## Stampa e montaggio

PLA, ugello 0,4 mm, layer 0,2 mm, due pareti, infill gyroid 10–15%, quattro
strati superiori e inferiori. Corpo aperto verso l'alto; coperchio e piede piatti;
staffa e gamba sul fianco interno. Controlla gli sbalzi nello slicer e aggiungi
supporti locali alle linguette se necessari. Il frontalino ha una flangia:
controlla il contatto sul piatto e usa supporti dove richiesto.

Le sedi ricevono le squadrette originali MG90S, non una spline stampata.
Usa viti M2 per le alette e M3 come perni controlaterali, con rondelle;
i perni devono ruotare senza bloccare la forcella. Porta tutti i servo a 90°
PRIMA di avvitare le squadrette. Verifica a mano l'intera corsa senza alimentazione.

Quote MG90S, portabatterie e moduli variano tra fornitori. Misura i tuoi componenti,
regola i parametri e stampa prima una sede di prova. Il fondo del corpo scende
sotto il piano cinematico z=0 per contenere i servo roll; questo non cambia
l'interasse dei giunti. La suola arriva a z=-110 mm. Geometrie e alloggiamenti
sono un prototipo da verificare con stampa e assemblaggio fisico: non è ancora
stata dimostrata l'assenza di interferenze per ogni combinazione degli angoli.

Hardware sotto CERN-OHL-P-2.0; vedi [LICENSE](../LICENSE).

Su macOS, se Qt segnala «requires neon», usa `OPENSCAD_ROSETTA=1 npm run build`
(con Rosetta disponibile). Il workflow Linux non richiede questa opzione.
