Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:


Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-


Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum

Nuovo progetto Lightgun

Guide, richieste e tutto ciò che c'è da sapere sui controlli del cab
Avatar utente
Nenco79
Newbie
Newbie
Messaggi: 7
Iscritto il: 04/05/2026, 8:36
Città: Ravenna
Grazie Ricevuti: 1 volta

Nuovo progetto Lightgun

Messaggio da Nenco79 »

Ho avuto questa idea, una lightgun basata su sensore IMU (accelerometro e giroscopio) con un singolo led IR come ancora.
come hardware sto usando:

XIAO ESP32S3 Sense come microcontrollore principale (25-30€ su aliexpress)
IMU LSM6DSOX settato a 833 Hz, è il cuore del puntamento (io avevo il "modulino" del kit Arduino, ma si trovano le schedine adafruit/sparkfun a pochi €)
Camera OV2640 (inclusa con il Sense)
LED IR 850 nm + filtro ottico 850 nm (che mi devono ancora arrivare)

Come funziona:
Attualmente viene visto come USB HID assoluto (mouse assoluto, compatibile quindi con giochi ed emulatori)
L'approccio è diverso dalle lightgun classiche: il puntamento è guidato dall'IMU (giroscopio + accelerometro), non dalla camera. La camera serve solo come ancora ottica lenta (30fps) per limitare il drift nel tempo.

nel firmware viene usato un MEKF (Multiplicative Extended Kalman Filter) 8x8 custom che stima:
orientazione tramite quaternione, il bias del giroscopio e l'offset camera-IMU

il cursore sempre è attivo anche quando il LED non è visibile (es. off-screen)
c'è l'off-screen detection con isteresi ai bordi
i GPIO del microcontrollore sono configurabili come tasti tastiera o pulsanti mouse
la posizione del puntatore è aggiornata 500 volte al secondo (testato), ho fatto un video a 240 fps in cui riprendo il monitor, impostato a 120 fps, dove il prototipo e la freccia del mouse partono a muoversi e cambiano direzione nello stesso frame video, quindi latenza inferiore a 4ms, l'usb comunica col pc a 1000 Hz
Video (scarica e visualizza con VLC per avanzare frame per frame
appena mi arrivano i led ed i filtrini IR faccio un po di tuning finale contro blob ambientali multipli,
valutazione del drift su sessioni lunghe (30+ min), misure di latenza end-to-end (devo capire come oltre al video)
poi farò la variante wireless Bluetooth HID con gestione della batteria, infine recoil con solenoide.

può interessare?
Avatar utente
Tox Nox Fox

BanHammer Silver Medal Helper Donatore
Moderatore
Moderatore
Messaggi: 12754
Iscritto il: 14/01/2007, 23:35
Medaglie: 4
Grazie Inviati: 247 volte
Grazie Ricevuti: 373 volte

Re: Nuovo progetto Lightgun

Messaggio da Tox Nox Fox »

Sempre interessanti sia questi Topic che il discorso Lightgun
WP.ARCADEITALIA.NET
La Guida al MameCab
Avatar utente
Gothrek

Helper
Moderatore
Moderatore
Messaggi: 6009
Iscritto il: 13/07/2017, 13:30
Medaglie: 1
Città: Roma
Grazie Inviati: 22 volte
Grazie Ricevuti: 360 volte

Re: Nuovo progetto Lightgun

Messaggio da Gothrek »

può interessare? domanda scontata...si :D

approfondiamo (che vuol dire...approfondisci) :D
Avatar utente
Alessandro Satanassi
Newbie
Newbie
Messaggi: 8
Iscritto il: 15/05/2026, 13:09
Città: Sarsina
Grazie Ricevuti: 1 volta

Re: Nuovo progetto Lightgun

Messaggio da Alessandro Satanassi »

Sarà opensource il tuo progetto ? .. se si dove trovo il repository ? ... grazie ... in futuro pensavo di aggiungere un giroscopio anche al mio progetto a cui sto lavorando (https://github.com/alessandro-satanassi ... ware-ESP32), proprio per gestire ancor meglio la perdita di visuale dei sensori
Avatar utente
Nenco79
Newbie
Newbie
Messaggi: 7
Iscritto il: 04/05/2026, 8:36
Città: Ravenna
Grazie Ricevuti: 1 volta

Re: Nuovo progetto Lightgun

Messaggio da Nenco79 »

Open source si, ma voglio lavorarci un po' prima di rendere pubblici i sorgenti, almeno testarlo, spero arrivino presto i led e i filtri IR, attualmente ogni sorgente luminosa la vede come blob da seguire, quindi l'ancoraggio si sposta e salta continuamente, senza camera invece è già piuttosto preciso, il calcolo MEKF fa un buon lavoro, si può usare tranquillamente come air mouse,
ho anche visto delle schedine con l'imu LSM6DSV sui 6€ su aliexpress che dovrebbero essere ancora piu precise, pensare che il LSM6DSV lo fanno in Italia
Avatar utente
Alessandro Satanassi
Newbie
Newbie
Messaggi: 8
Iscritto il: 15/05/2026, 13:09
Città: Sarsina
Grazie Ricevuti: 1 volta

Re: Nuovo progetto Lightgun

Messaggio da Alessandro Satanassi »

Se non sbaglio anche i primi giroscopi che montarono sui controlli della Wii, li fecero in Italia ... quando sarai pronto, fammelo sapere, grazie .. cosa usi, platformio ?
Avatar utente
Nenco79
Newbie
Newbie
Messaggi: 7
Iscritto il: 04/05/2026, 8:36
Città: Ravenna
Grazie Ricevuti: 1 volta

Re: Nuovo progetto Lightgun

Messaggio da Nenco79 »

Si platformio, si vede anche un po' dal filmatino
Avatar utente
Nenco79
Newbie
Newbie
Messaggi: 7
Iscritto il: 04/05/2026, 8:36
Città: Ravenna
Grazie Ricevuti: 1 volta

Re: Nuovo progetto Lightgun

Messaggio da Nenco79 »

Nell'attesa mi sta venendo una certa idea

Immagine

oltre ad aver aumentato drasticamente le prestazioni sfruttando le SIMD di esp32,
ora la rilevazione ODS del sensore è passata a 1,66khz, e tratta 8 campioni ogni 2ms, la rilevazione della posizione del led è passata a 50fps (limite della fotocamera)
Avatar utente
Nenco79
Newbie
Newbie
Messaggi: 7
Iscritto il: 04/05/2026, 8:36
Città: Ravenna
Grazie Ricevuti: 1 volta

Re: Nuovo progetto Lightgun

Messaggio da Nenco79 »

Eccomi, intanto che le poste decidono di rilasciare i miei led e filtri IR in ostaggio, ho preparato lo schema di un PCB dove è possibile inserire direttamente lo Xiao Sense con il mio firmware caricato, la schedina monta già:
  • il sensore con accelerometro e giroscopi, ancora più preciso di quello che sto usando attualmente
  • il circuito opzionale per pilotare direttamente un solenoide per il rinculo, con ingresso 12v dedicato, i cavi vanno stagnati sulla scheda
  • il connettore 2 pin jst per una batteria al litio, anche questa opzionale, lo Xiao può ricaricala da usb, ma i pin sono sotto, perciò la batteria si può collegare alla scheda ma per usarla vanno stagnati due cavi dai pad bucati appositi
  • i pad bucati per i collegamenti al trigger ad a tutti i tasti opzionali
  • 4 mini tasti ed un mini joystick utilizzabili senza dover stagnare niente
  • foro per far scendere verso il basso il cavo usbc collegato allo Xiao
la scheda è larga 3cm, in questo modo può rientrare nei porta Wiimote a forma di pistola, cosi da poterli riciclare per il progetto DiY, ne ho uno, perciò il prossimo passo e fare un piccolo case da stampare in 3d un modo da infilarglielo comodamente dentro.
i pcb si potrebbero vendere ad un ventina d'euro l'uno, forse poco più per rientrare delle tasse.

siccome ho parlato di batteria viene da se che ho implementato il Bluetooth, non sono molto sensibile al lag ma a me sembra più che accettabile, ovviamente il polling non è 1000hz con posizione rilevata ogni 2ms, in questo si arriva a rilevare la posizione 150 volte al secondo, esattamente come il trackpad di un buon portatile.

costruire il prototipo della scheda costa un centinaio di euro, cifra che per ora non ho voglia di spendere, prima vorrei far funzionare il sistema, farmi qualche partita ecc. spero che mi arrivi tutto prima che mi finisca la voglia.

Immagine
Immagine
Immagine
Immagine
Ultima modifica di Nenco79 il 24/05/2026, 10:55, modificato 1 volta in totale.
Avatar utente
Alessandro Satanassi
Newbie
Newbie
Messaggi: 8
Iscritto il: 15/05/2026, 13:09
Città: Sarsina
Grazie Ricevuti: 1 volta

Re: Nuovo progetto Lightgun

Messaggio da Alessandro Satanassi »

Nenco79 ha scritto: oggi, 10:27
siccome ho parlato di batteria viene da se che ho implementato il Bluetooth, non sono molto sensibile al lag ma a me sembra più che accettabile, ovviamente il polling non è 1000hz con posizione rilevata ogni 2ms, in questo si arriva a rilevare la posizione 150 volte al secondo, esattamente come il trackpad di un buon portatile.
A 150 hz, ovvero a circa 7ms, non si percepisce alcun Lag, se col bluetooth hai ottenuto tali velocità di trasmissione dei pacchetti ed è costante, vai liscio, funzionerà benissimo
Avatar utente
Nenco79
Newbie
Newbie
Messaggi: 7
Iscritto il: 04/05/2026, 8:36
Città: Ravenna
Grazie Ricevuti: 1 volta

Re: Nuovo progetto Lightgun

Messaggio da Nenco79 »

Alessandro Satanassi ha scritto: oggi, 10:42 A 150 hz, ovvero a circa 7ms, non si percepisce alcun Lag
dovrebbero essere 7.5ms (6x1,25) è il minimo impostabile, poi bisogna vedere se l'os da retta ed il driver da retta (windows 11 e drivers intel lo fanno), in condizioni ideali sono quindi 133hz. probabilmente il picco di 150hz è dato dal jitter
Rispondi

Torna a “Controlli (joystick, pulsanti, trackball, spinner, volanti, ecc...)”