Main > Lightguns

GUN4IR - The Ultimate 4 Points Lightgun System

(1/139) > >>

JayBee:

GUN4IRThe Ultimate 4 Points Lightgun System
But why yet another IR points system??
Because it's not a standard IR system! The main goal of this system is to have a more affordable and highly customizable system, that keeps the experience as close as possible as the arcade experience.
It has many advantages over other modern lightgun solutions:

  Perfect line of sight accuracy! Thanks to the 4 leds of this system and a tons of advanced math that does auto calibration in realtime, you get a perfect line of sight accuracy all the time!
  Ultra low latency! This system use a fast IR camera, and the firmware is heavily optimized, reducing the total processing latency to around 4ms. Lowest latency of all modern IR systems!
  No calibration everytime you play! You have to do the calibration only once to setup your camera and led points. After that, it will work with perfect accuracy no matter the angle/distance from the screen!
  No need for special software! Everything is handled by the arduino, making it plug and play with any system that supports a mouse/keyboard or a controller. No extra software needed (the GUI is optional).
  No extra processing! There is no processing needed on your gaming platform, no cpu overhead, nothing added to the game screen. You can use your games as usual!
  USB and Bluetooth HID compatible! Since it's using standard HID mouse, gamepad and bluetooth, it's compatible with everything that supports a usb/bt mouse & gamepad!
  Reduced minimum distance! This system allow you to play closer to the screen than most other modern system, and even more if you add a fully supported wide lens to the camera!
  Full offscreen tracking/reload! It keeps you tracked even outside of the screen, and support various offscreen option like offscreen reload.
  Support any screen size/type or aspect ratio! You can use this system pretty much on any screen, it will work.
  Various feedbacks support! You can add a solenoid, rumble motor and RGB led to your gun, and fully control how they behave and react to your games!
  Nunchuck support! You can plug a nunchuck controller if you need more button!
  DIY hardware! You can build your own custom gun from you favorite gun shells!
  Many other options! The gun is fully customizable, making it the most versatile and complete solution on the market.


Since both the firmware and this GUI requires a lot of time and money to make, the GUI licenses, along with personal support are for 15$ donator tier only.

I am using those donations only for this system expenses.
The firmware on its own stays free if you prefer of course.
Don't forget to also attach your name, username (forum or discord, both work) and email address to the donation (it will stay private), so that I can create a proper personal licence file for you  ;)
Warning: your personal license, as the name imply, is personal. Don't share it with anyone, or else you might get banned from using the software and next firmware update.



Everything you need to build this system is written in the pdf user guide in my Github,
along with the firmwares and tools
====> <====

Everything can also be downloaded from my discord server (recommended if you want to stay up to date and want help):



A little preview of the gun system GUI;



Some videos to show the system:

2 cool videos made by Foxhole on Point Blank and Sports Shooting USA, this guy has skills 8)



2 other nice videos by hyo2012 that show my system really well;  ;D



A review video of the system by Ben:


Demonstration of the pinpoint accuracy of this system:

Note that the latency in the video is mainly caused by my test app and my screen, the latency in-game is lower.

Updates history:

*2021/02/07 - GUI 1.26beta - FW2.62

In this update I mainly modified the way the offscreen reload and screen content mode work.

Previously, you could only switch between full screen or 4:3, but now you can switch between fullscreen and a user defined aspect ratio. You can change this aspect ratio either from the GUI (to save in eeprom) or from a serial command (for per game setup). Everything on that new mode is written in the guide and the GUI.

Now when offscreen is in "Disabled", you can't fire offscreen (other buttons still work offscreen of course), and a 4th mode "Normal Shot" was added if you want to be able to shot offscreen without reloading.

User Guide:
- Corrected and modified various data
- Added all the previously undocumented serial commands, now you can modify most of the gun aspects through serial

GUI:
- updated to support the new modes

Firmware:
- updated to support the new modes
- fixed the gamepad buttons issue
- removed the gamepad mode dpad to save space (dpad now works as normal buttons, allowing to use it for something else)
- fixed an issue when changing modes through combo would keep some buttons hold
- better combo button switching, now just pushing the mode+button combo should always switch to the correct mode, no need to do them in a specific order
- slightly increased the mode button and trigger button debounce (20ms)

*2021/01/30 - GUI 1.25beta - FW2.58

User Guide:
- Updated and added various info, including the DIY camera and the Wii Nunchuck connection

GUI:
- updated to support the new boards
- made the "Test Screen" button enabled no matter if a gun is detected or not, allowing to test with any mouse device, and also having a guide for Leds placement
- various bug fixes and cleanup

Firmware:
- updated to support the Micro full pinout
- various bug fixes and cleanup

*2020/12/30 - GUI 1.21beta - FW2.55 - Goodbye 2020 update

Global:
- Brand new name for the system! Less generic than JB4PLG ;)

GUI:
- brand new interactive calibration process with more info and options, now fully done in app, making it more reliable and convenient!
- added fullauto trigger timing change option
- various bug fixes and cleanup

Firmware:
- fullauto trigger timing added
- temporary (not saved in eeprom) calibration serial command ('C')
- added debounce for trigger and mode buttons
- various bug fixes and cleanup

*2020/12/14
- User Manual v1.0 uploaded
- Main Post cleaning
- Uploaded Gun updates (that was uploaded on discord first

*2020/11/24 - GUI 1.17beta - FW 2.52
Firmware
- fixed axis flip with bluetooth
- fixed an incompatibility with linux mouse management

GUI:
- stability fixes

*2020/11/18 - GUI 1.16beta
GUI:
- improved the flashing error detection
- added a version write/read on the arduino, so that you will know what version is currently flashed on it. It's a test feature.
- fixed a bug that prevented to make the blue led blink

*2020/10/29 - GUI 1.12beta - FW 2.48
Firmware
- big serial commands change, to make them more unified and versatile (see the usage section changes)
- various leds detection updates and optimizations, to make it more stable and failproof
- new fullauto mode added, "always on", for games that always use fullauto but don't have outputs

GUI:
- new manual calibration mode from the GUI, you can now refine the calibration very easily
- matched the serial command changes

*2020/10/24 - GUI 1.0beta - FW 2.39
http://forum.arcadecontrols.com/index.php/topic,161189.msg1726424.html#msg1726424

*2020/10/08 - GUI 0.991beta - FW 2.33
http://forum.arcadecontrols.com/index.php/topic,161189.msg1725318.html#msg1725318

*2020/10/05 - GUI v0.97beta - Firmware 2.30 Anniversary edition
Firmware - for the 1 year anniversary of this firmware, I wanted to do a big update on it, so here are the updates so far (more incoming);
- Rewrote all libraries and code to take less space and have less global latency (down to ~4ms total processing time)
- Fixed various bugs that was causing issues to the calibration and the accuracy
- Improved a lot the global precision, especially on the sides of the screen or when moving around
- Added a "sync mode" that waits for the position to be calculated before activating the pressed buttons, instead of pressing them right away. It allows to get perfect accuracy on fast motion with a very small latency tradeoff. I recommend to leave it on.
- Changed the calibration to 5 steps (instead of the usual 3). Since the calibration has to be done only once, I decided to change it to make it way more accurate and failproof. Note that each step will only be validated if the camera sees the necessary IR points (4 for center, 3 for each side).
- Prepared the firmware for the next updates.
GUI:
- small fixes and modifications to support the new firmware.

*2020/09/28 - GUI v0.96beta
- While working on the next big update, I wanted to release a small update mainly to add direct support for the Sparkfun pro micro boards. So now no more empty sketch flashing needed!
- added the official Sparkfun drivers to the package, for those who are using Windows 7.
- added an icon to the GUI exe.

*2020/08/21 - GUI v0.94beta - Firmware 2.26
- firmware: fixed a bug that prevented the sensitivity profiles to load correctly
- GUI: removed the custom max sensitivity level, as it's not working correctly

*2020/05-08 - 2.25
http://forum.arcadecontrols.com/index.php/topic,161189.msg1721170.html#msg1721170

*2020/04/30 - 2.22
- big update of the detection and tracking, it now works better, faster and more precise than ever
- various update to make it compatible with the GUI

*2020/04/30 - 2.16
http://forum.arcadecontrols.com/index.php/topic,161189.msg1713662.html#msg1713662

* 2020/04/13 - 2.07
http://forum.arcadecontrols.com/index.php/topic,161189.msg1712259.html#msg1712259

* 2020/04/11 - 2.06
http://forum.arcadecontrols.com/index.php/topic,161189.msg1712063.html#msg1712063

* 2020/04/09 - 2.05 - unified firmware
http://forum.arcadecontrols.com/index.php/topic,161189.msg1711912.html#msg1711912

* 2020/02/29 - 1.93
- reworked the aiming and detection, to make it faster and better
- fixed some bugs

* 2020/02/29 - 1.91
- rewrote the 3 points aiming calculation, it's way more precise now
- changed the test tool to better see the led recognition.

* 2020/02/28 - 1.87
- 2 points detection is now inactive if too close from the screen, to avoid misdetection

* 2020/02/28 - 1.86
- fixed calibration issues
- fixed aiming issues
- fixed the flash/clear tool

* 2020/02/28 - 1.85 major update, please read the changelog carefully before updating!

- rewrote the whole flashing and config tool, now a lot more user friendly!
- made a double timing test to be able to flash any arduino. No need to modify the bat file anymore.
- various optimizations
- IR points detection bug corrected, it should be a bit more stable now
- reworked the buttons management
- merged normal and test firmware, now the test tool should trigger the test mode (replug the arduino once to reboot in normal mode)

- added RGB LED support for the 7 button + LED firmware! If your gun uses more than 7 buttons or if you don't want LED support please use the 11 buttons firmware
- added temperature sensor support! connect a tmp36 sensor to pin A0
- added rumble and LED feedbacks when changing modes
- added various LED feedbacks
- added EEPROM save and load gun data

- updated the game screen ratio modes for better usage and compatibility, now there are only 2; fullscreen and 4:3
- updated the test tool, now the one pde tool supports both normal and full screen, and has more options (don't use the old tools)

* 2020/02/18 - 1.76
- reworked the buttons management again and fixed the remaining issues (with the calibration for instance)
- fixed the bug with the feedback when offscreen reload is disabled, now it should trigger the solenoid (the way it works remain unchanged when offscreen reload is enabled)
- modified the flashing batch file to be more compatible (detects bootloader whatever the model, and waits for 6 seconds now)
- rewrote part of the guide, added installation instructions

* 2020/02/16 - 1.75
- fixed the combo buttons functions (joystick mode, offscreen shot...)
- reworked the buttons management to decrease risks of bugs and future-proof it
- did a lot of small optimization to increase the execution speed.
- changed the zip file, firmware name and flash bat again, now you can know which firmware you have, and choose between normal and test firmware. Please don't mix with the previous files.

* 2020/02/15 - 1.70
- restored the cursor accuracy without increasing the load, it should eliminate most wobbles
- put everything in only one zip and renamed the batches file for more clarity.
- added diagrams for the gun feedbacks

* 2020/02/12 - 1.68
- Improved 2 points detection, optimized other functions
- updated the .pde sketch for IR testing

* 2020/02/12 - 1.66
- fixed bugs and 2 points detection

* 2020/02/11 - IR cam testing tool
- added test app

* 2020/02/09 - 1.55 beta
- Rewrote aiming calculation
- Added a better tilt/twist detection, it increases the maximum tilt to 89 degrees on each side.
- Added a function to disable the press of secondary button when shooting offscreen.

* 2020/01/19 - 1.35
- improved the led and twist detection

* 2020/01/18 - 1.3
- cleaned code, added manual screen calibration.

* 2019/10/26 - 1.2
- first public version



Special credits:
PL1 for his Pro Micro diagram
Foxhole for his support and careful testing
And everyone else in the forum for supporting this project and keeping the arcade love alive  :cheers:

Ginsonic:
Great work JayBee, looking forward to more details  :applaud:

ryoken:
Very impresive... nice for sharing

Titchgamer:
Cool :)

samco:
Nice work JayBee, can't wait to check out your code.

I was wondering is the reason you mentioned you have to stand in front of the screen to fie because of the tight angle of the leds? Just because I've looked around and found some wide angle leds on AliExpress https://www.aliexpress.com/item/32491780864.html?spm=a2g0s.9042311.0.0.41bf4c4dNxe3jj they don't have UV coating on them so wouldn't suggest for everyday unless you want to mount them behind a UV filter (or even better eventually find some that already have it like the Adafruit ones). But these increase the viewing angle massively.

Navigation

[0] Message Index

[#] Next page

Go to full version