Simitecno

Software Development & Technical Assistance · giu 2026 → oggi

Il software che ho costruito in Simitecno

12 sistemi per microscopi digitali 3D, metrologia e cobot. Apri un modulo per vedere numeri, immagini e la mappa di come funziona. I clienti dell’azienda restano anonimi.

Ispezione AI delle punte sonda

Trova offline le punte sonda difettose dopo aver imparato solo dalle punte buone.

  • Python
  • PyTorch
  • DINOv2
  • OpenCV
  • PyQt5
  • openpyxl
  • 23 / 24difetti reali fermati sui lotti del cliente
  • 11 / 14difetti fermati alla cieca, a modello congelato
  • −37%punte buone scartate, a parità di difetti trovati (8,5% → 5,4%)

Un produttore di probe card controllava a occhio migliaia di punte sonda microscopiche, quasi senza pezzi difettosi da cui imparare. Ho costruito un rilevatore di punte a regole e una memoria DINOv2 congelata delle sole punte buone, che dà un punteggio a ogni punta e mostra dove è diversa, e l'ho consegnato come app desktop offline con mappe del difetto e report Excel. Sui lotti del cliente ha fermato alla cieca 11 difetti su 14 a modello congelato, poi 23 su 24 dopo aver aggiunto quel lotto, scartando il 37% in meno di punte buone a parità di difetti trovati.

Ogni punta confrontata con una memoria di punte buone

Un'app offline che trova ogni punta sonda nella foto al microscopio, la confronta con una memoria congelata di punte buone e mostra dove è diversa.

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Persone
  • Logica
  • AI
  • Uscita

Ingresso

Immagini al microscopio

Foto intere 2040×1530 con più punte orientate in modi diversi, oppure i ritagli del cliente con una punta ciascuno.

  • HIROX

Passa a Rilevatore di punte, Memoria punte buone

Metrologia delle microsezioni PCB

Misura le microsezioni PCB in circa un secondo per immagine, con ogni lettura riconducibile ai pixel.

  • Python
  • OpenCV
  • NumPy
  • ReportLab
  • Gradio
  • pytest
  • 13 / 13barre di scala lette in automatico
  • ~1 sper immagine, su un portatile
  • 1.0–3.8%di scarto dalle misure manuali del cliente

Un gruppo dell'aerospazio e difesa misurava a mano le microsezioni dei PCB, cliccando ogni strato di rame, parete metallizzata e via su ogni immagine, e non avrebbe accettato un modello a scatola nera. Ho costruito una visione classica e spiegabile che calibra ogni immagine dalla sua barra di scala, segmenta gli strati e misura rame, dielettrico, metallizzazioni, riempimento dei via, cap e wrap, e risponde «non calibrato» invece di tirare a indovinare. Sulle 13 immagini del cliente ha letto tutte le barre di scala in circa un secondo per immagine, con scarti dell'1,0–3,8% dalle sue misure manuali, e sto estendendo lo stesso metodo agli strati di isolamento attorno ai conduttori dei cavi.

Dalla barra di scala stampata ai micrometri

Visione classica e spiegabile che calibra ogni immagine dalla sua barra di scala e misura ogni strato di rame e dielettrico, oppure dice che non può.

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Logica
  • Uscita

Ingresso

Immagine al microscopio

Un file, uno scatto dal microscopio o l'ultima cattura. Prima si tolgono le linee e le frecce colorate disegnate sopra.

  • HIROX

Passa a Lettore di scala, Segmentazione strati, Strati del cavo

Piattaforma di controllo del microscopio

Permette a robot e PC di comandare in sicurezza un microscopio digitale 3D, con misure a ricetta.

  • Python
  • ctypes
  • Win32
  • Gradio
  • Flask
  • OpenCV
  • SQLite
  • PowerShell
  • 536funzioni di test
  • 25+rilasci con un clic distribuiti sui PC aziendali
  • 6guasti risolti installando il software del produttore su un portatile

I microscopi digitali 3D HIROX che distribuiamo si potevano usare solo a mano dal software Windows del produttore, quindi non potevano entrare in celle di ispezione automatiche. Ho ricostruito l'interfaccia del produttore da header ed esempi, l'ho racchiusa in un nucleo di controllo sicuro (catalogo comandi chiuso, un comando alla volta, registro a prova di manomissione, blocco dopo un guasto) e ho aggiunto un portale operatore, un'API REST protetta da token e un layer di visione a ricette. Le funzioni base sono validate sul microscopio vero e la piattaforma arriva sui PC del laboratorio come rilascio con un clic, con gli strumenti di misura e di riconoscimento delle specie come schede al suo interno.

Un solo nucleo sicuro tra la rete e il microscopio

Tocca un blocco per vedere cosa fa.

  • Logica
  • AI
  • Infrastruttura
  • Ingresso
  • Persone

Il cuore del sistema

Nucleo di controllo

Ogni richiesta di persone, celle e PC arriva al microscopio HIROX attraverso questo nucleo: catalogo comandi chiuso, un solo worker FIFO, mutex Windows contro una seconda istanza, registro con catena di hash, blocco dopo un timeout.

Collegato a Bridge DLL, Ricette di visione, Piano comandi, API REST

Controllo esterno del cobot COMAU

Un servizio di controllo sicuro a quattro strati per un cobot che offriva solo un SDK grezzo.

  • Python
  • FastAPI
  • SSE
  • React
  • TypeScript
  • Tailwind
  • pytest
  • 1,449 / 1,451comandi registrati come riusciti su un socket morto, prima della correzione
  • 9,736disconnessioni del watchdog ricondotte a una sola causa
  • 376funzioni di test, molte contro un finto controller

Il cobot COMAU MyCo che usiamo in due celle non offriva ROS, Modbus o REST: solo un protocollo testuale proprietario su TCP, tramite un SDK Python di un unico file. Ho costruito un servizio a quattro strati (bridge sull'SDK, middleware di sicurezza, task manager, FastAPI con telemetria dal vivo), una dashboard operatore in React e un finto controller che parla il protocollo vero, così i guasti del campo si riproducono nei test. Ha riprodotto il robot che «si staccava» — 1.449 comandi su 1.451 registrati come riusciti su un socket morto — e le correzioni, compreso uno stop che ferma davvero il braccio, sono state verificate sul robot.

Quattro strati tra un clic e il braccio

Un servizio a quattro strati che trasforma un SDK grezzo del produttore in un'API REST sicura, con un finto controller che riproduce i guasti del campo nei test.

Tocca un blocco per vedere cosa fa.

  • Persone
  • Ingresso
  • Infrastruttura
  • Logica

Persone

Dashboard operatore

React: jog cartesiano e drag pad, sequenze a blocchi, punti insegnati, pannello forza, banner di E-stop e riarmo.

  • React
  • TypeScript
  • Tailwind

Passa a Strato FastAPI

La dashboard in simulazione (modalità MOCK): nessun robot reale si muove

Cella cobot per chip microfluidici

Cella cobot guidata dalla camera che registra i chip microfluidici e ne fora i porti, chiavi in mano.

  • Python
  • FastAPI
  • React
  • TypeScript
  • OpenCV
  • NumPy
  • build123d
  • 0 / 217falsi accettati nel riconoscimento automatico dei pezzi, banco sintetico
  • 628test superati, 0 falliti
  • 10documenti di governance: IP, privacy, rischio uomo-chiave, brevetti, vendita

Un ente pubblico di ricerca forava a mano i porti di ingresso e uscita dei chip microfluidici in PDMS, e Simitecno gli ha venduto una cella chiavi in mano: cobot, smart camera, punzone, PC e software con licenza. Sopra il motore robot condiviso ho costruito l'applicazione dei chip: marker della camera registrati sul robot con un fit ai minimi quadrati il cui residuo blocca ogni lavorazione fuori tolleranza, un planner di foratura, il riconoscimento dei pezzi guidato dal layout CSV della lastra e un controllo di licenza che non interrompe mai un movimento in corso. Il cliente ha firmato dopo una demo dal vivo del clic sul marker e la foratura da 4 mm funziona sull'hardware; il riconoscimento automatico arriva a 0 falsi accettati su 217 pezzi sintetici e va ancora provato sul banco reale.

Una cella che vede il chip prima di forarlo

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Logica
  • Infrastruttura
  • Uscita
  • Persone

Il cuore del sistema

Cella cobot per chip microfluidici

Una cella chiavi in mano in cui una smart camera registra ogni chip sul robot e un cobot ne fora i porti di ingresso e uscita.

Collegato a Layout CSV lastra, Riconoscimento pezzi, Gate di registrazione, Planner di foratura, Motore robot, Cobot e punzone, Operatore, Smart camera

Ispezione difetti degli utensili

Trova graffi e intaccature sugli utensili di precisione dopo aver imparato solo dai pezzi buoni.

  • Python
  • PyTorch
  • DINOv2
  • timm
  • Streamlit
  • FastAPI
  • React
  • 16 / 16difetti trovati sulla vista principale della fresa, 22 pezzi buoni su 22 passati
  • 0 / 20difetti dei coltelli sfuggiti
  • 27% → 5%falsi positivi sui coltelli tenuti da parte

Un produttore di utensili da taglio voleva il controllo automatico dei taglienti al microscopio HIROX, ma i pezzi difettosi erano pochi e tutti diversi: all'inizio c'erano due pezzi fisici e circa 200 foto della stessa fresa. Ho provato la visione classica, pianificato un binario PatchCore e costruito una demo con un modello visione-linguaggio, poi ho scelto una memoria DINOv2 delle sole foto buone per vista, senza addestramento, con mappe di calore, area del difetto in mm² e una soglia calcolata solo sui pezzi buoni. Sui campioni del cliente ha trovato 16 difetti su 16 nella vista principale della fresa e non ne ha persi nessuno sui 20 dei coltelli, una prima validazione su pochi campioni, e l'approccio è stato riusato in altri tre progetti di ispezione.

Imparare il tagliente solo dai pezzi buoni

Una memoria DINOv2 congelata di foto buone per ogni vista che valuta ogni nuovo tagliente, disegna una mappa di calore e misura il difetto in mm².

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Logica
  • AI
  • Dati
  • Uscita

Ingresso

Foto al microscopio

Scatti HIROX in cartelle per lato e posizione, buoni e difettosi; le posizioni nuove entrano in automatico.

  • HIROX

Passa a Riconoscimento vista

Riconoscimento degli invertebrati fluviali

Riconosce gli invertebrati fluviali da una foto, senza addestramento, e dichiara quando non è sicuro.

  • Python
  • PyTorch
  • DINOv2
  • Gradio
  • SAM
  • Playwright
  • 76.2%identificati fino alla specie su un test cieco di 80 foto
  • +11.3 ptsda più dati reali, la leva che ha reso di più
  • 0.52 sper foto su CPU

Le agenzie ambientali valutano la qualità dei fiumi contando gli invertebrati acquatici che i biologi identificano al microscopio, e Simitecno voleva mostrare a un'agenzia ambientale cosa può fare un microscopio con l'AI, senza avere nessun suo campione. Ho costruito un riconoscitore DINOv2 senza addestramento su 320 foto pubbliche con licenza tracciata, che si ferma all'ordine tassonomico quando due specie sono troppo vicine, più un controllo di integrità e un'app Gradio con report PDF e CSV. Su 80 foto mai viste ha riconosciuto fino alla specie il 76,2% e si è fermato in sicurezza all'ordine per un altro 20%, in circa mezzo secondo per foto su CPU; è un dimostratore costruito su foto da internet, non un prodotto validato.

Da una foto dell'esemplare a un nome prudente

Un riconoscitore senza addestramento che dà il nome a un invertebrato fluviale da una foto e si ferma all'ordine quando due specie sono troppo vicine.

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Dati
  • AI
  • Logica
  • Uscita

Ingresso

Foto pubbliche

320 foto GBIF, solo CC0 o CC-BY, ognuna con licenza, autore e ID nel manifest: 40 per taxon, 8 taxa.

  • GBIF API

Passa a Banchi di memoria, Set cieco

Controllo del fuoco al microscopio

Scarta le foto sfocate dei pin al microscopio, senza lasciarne passare nessuna come nitida.

  • Python
  • PyTorch
  • MobileNetV2
  • OpenCV
  • PyQt5
  • openpyxl
  • 22% → 0foto sfocate passate come nitide su un set di validazione congelato (0 su 41)
  • 43 / 43falsi ‘a fuoco’ fermati dal veto di nitidezza
  • 0 / 89decisioni cambiate dal refactor con TDD

Lo stesso produttore di probe card doveva scartare le foto al microscopio dei pin fuori fuoco, con una regola rigida: nessuna foto sfocata può passare come nitida, mentre un modello precedente ne lasciava passare circa una su cinque. Ho scelto la CNN sulle foto sfocate fatte passare invece che sull'accuracy, ho aggiunto un veto di nitidezza indipendente dalla rete e una revisione dell'operatore, e ho spostato la decisione in una funzione pura e testata. Sul set di validazione congelato le foto sfocate passate come nitide sono scese dal 22% a 0 su 41 con un'accuracy quasi uguale, e l'analisi per famiglia di immagini ha indicato il passo successivo: ispezionare ogni punta a piena risoluzione.

Due giudici indipendenti prima di ogni ‘a fuoco’

Una CNN e un veto di nitidezza indipendente devono essere d'accordo prima che una foto dei pin passi come nitida; tutto ciò che è dubbio va all'operatore.

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • AI
  • Logica
  • Uscita
  • Persone

Ingresso

Foto dei pin

Una foto al microscopio da 2040 × 1530 con 6–9 pin, di famiglie di prodotto diverse.

Passa a CNN del fuoco, Veto di nitidezza

Radar delle gare pubbliche

Ogni notte trova le poche gare pubbliche giuste e propone azioni che una persona approva.

  • Python
  • FastAPI
  • SQLite
  • APScheduler
  • React
  • Codex CLI
  • 157 → 14gare reali nel primo recupero di 90 giorni, poi in shortlist
  • 8 → 0falsi positivi in shortlist dopo la correzione della lista di esclusione
  • 674test superati all'ultimo run registrato

Il team commerciale di Simitecno cercava le gare pubbliche a mano, e quelle giuste sono poche: i codici d'acquisto dei microscopi raccolgono anche microscopi chirurgici, microscopi elettronici e sequenziatori. Ho specificato una pipeline notturna che raccoglie i dati ufficiali delle gare europee e italiane, valuta ogni bando con un'ontologia di dominio e l'evidenza testuale, chiama un LLM solo dietro un filtro privacy e ogni mattina propone al massimo cinque azioni che una persona deve approvare. Il primo recupero di 90 giorni ha trovato 157 gare reali e ne ha messe 14 in shortlist, e correggere una lista di esclusione che non veniva mai importata ha portato i falsi positivi in shortlist da 8 a 0.

Un turno di notte che finisce in cinque proposte

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Dati
  • Logica
  • AI
  • Persone
ogni notte alle 05:30

Il cuore del sistema

Radar delle gare pubbliche

Ogni notte raccoglie le gare ufficiali europee e italiane, le valuta con un'ontologia di dominio e al mattino propone al team commerciale al massimo cinque azioni da approvare.

Secondo cervello aziendale

Lettori AI in parallelo hanno trasformato un archivio di 52.800 file in conoscenza con fonte.

  • Python
  • Claude Code
  • Obsidian
  • graphify
  • PyMuPDF
  • python-docx
  • pywin32
  • 52,839file scansionati, in sola lettura
  • 10,281fatti, ognuno con la sua fonte
  • 1,574 / 3,102documenti in coda letti fino in fondo in modo dimostrato, contati su disco

Il know-how di Simitecno stava in un archivio di produzione di circa 52.800 file che nessuno riusciva a interrogare, con dati personali e prezzi mescolati al resto. Ho progettato una pipeline in sola lettura che estrae il testo da ogni formato, classifica la privacy prima di qualsiasi lettura AI e affida lotti di lettura ad agenti AI in parallelo con un contratto rigido, con controlli che dimostrano che ogni documento è stato letto fino in fondo invece di fidarsi degli agenti. Ha prodotto 10.281 fatti con fonte e un vault Obsidian di 4.236 pagine con zero link rotti, con la lettura integrale dimostrata per 1.574 documenti su 3.102 in coda, e poi ho reso la pipeline un kit riusabile con un solo file di configurazione.

Un cervello collegato al suo archivio

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Logica
  • AI
  • Dati
  • Uscita

Il cuore del sistema

Secondo cervello aziendale

Ogni fatto che l'azienda conosce, con il file da cui viene. Gli agenti leggono in parallelo, i controlli verificano il lavoro e il cervello tiene solo ciò che è dimostrato.

Collegato a Archivio aziendale, Estrazione e privacy, Lotti di lettura, Agenti lettori, Controlli di verifica, Schede di fatti, Vault Obsidian, Stato copertura

Motore video per la fiera

Un motore guidato dai dati che ha prodotto 33 video per gli schermi dello stand in fiera.

  • HyperFrames
  • JavaScript
  • HTML
  • Python
  • NumPy
  • SciPy
  • ffmpeg
  • 33video 1080p: 8 aree di business e 25 settori di mercato, ognuno con musica, muto e copertina
  • 240 → 30 fpsrender ad alto frame rate, fuso per un vero motion blur
  • −14 LUFSloudness audio su ogni master

Per la fiera BIMU della macchina utensile a Milano, gli schermi dello stand dovevano mostrare senza operatore le aree di business e i mercati di Simitecno, con i colori del marchio, e rigenerarsi ogni volta che cambiano testi o numeri. Ho costruito un motore in cui ogni video è un file JSON reso da template HTML su una partitura fissa a 120 BPM, con otto stili visivi, musica originale sintetizzata in Python sulla stessa linea del tempo, render a 240 fps fuso per un vero motion blur e loudness a −14 LUFS. Ha consegnato 33 video di circa 50 secondi, ognuno con master con musica, master muto e copertina, uniti senza ricodifica in una sequenza di 27 minuti per lo stand.

Una sola linea del tempo per immagine e suono

Ogni video è un file JSON reso da template HTML su una partitura fissa a 120 BPM, con musica originale sintetizzata sulla stessa linea del tempo.

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Dati
  • Logica
  • Infrastruttura
  • Uscita
Contenuti
Tempi e stile
Immagine e suono
Master
Stand

Ingresso

Dati del video

Un file JSON per video: gancio, tre carte sul problema, svolta, media del software vero, numeri veri, invito all'azione, stile e variante.

  • JSON

Passa a Costruttore partitura

Numeri veri dal file dati del video, a schermo

Linea pilota fuel cell: modulo SOFC

Ho definito la cella SOFC di una gara fuel cell: dieci stazioni, opzioni computate, un anello di retroazione.

  • Python
  • python-docx
  • openpyxl
  • Matplotlib
  • Claude Code
  • 10stazioni definite, dalla preparazione degli slurry alla tracciabilità
  • 30opzioni commerciali confrontate e computate, tre per stazione
  • 11figure generate da codice

Un raggruppamento di tre aziende partecipava alla gara di un ente di ricerca per una linea pilota fuel cell, e l'allegato del modulo SOFC toccava a me, da consegnare in pochi giorni. La bozza trattava la SOFC come la linea PEM, che è lineare, e duplicava forni che spettano al modulo termico condiviso. Ho ridisegnato i confini e definito dieci stazioni attorno a un carrier multi-pass, più un anello in cui una stazione di visione misura il ritiro reale di ogni pezzo dopo la cottura e la passata di stampa successiva viene compensata. Ho consegnato un allegato di 23 capitoli, un foglio di computo con tre opzioni commerciali per stazione e 11 figure.

Cuoci, misura, compensa, stampa di nuovo

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Logica
  • Infrastruttura
  • Dati
  • Uscita
un giro = una passata di stampa

Il cuore del sistema

Modulo SOFC della linea pilota

Dieci stazioni attorno a un carrier multi-pass: dopo ogni cottura una stazione di visione misura il ritiro reale del pezzo e la passata di stampa successiva viene compensata.