Connecting to Golf Simulators
PiTrac can send shot data to E6 Connect, GSPro, and TruGolf simulators. The process is pretty straightforward - you just need to tell PiTrac where your simulator software is running on your network.
Network Setup
First things first: your Raspberry Pi and the PC running your simulator software need to be on the same network and able to talk to each other.
Find Your Simulator PC’s IP Address
On the computer running your simulator:
Windows:
- Open Command Prompt
- Type
ipconfig
- Look for “IPv4 Address” under your network adapter
- Should look like
192.168.1.100
or similar
Mac:
- Open Terminal
- Type
ifconfig
- Look for “inet” under your network adapter (en0 or en1)
- Should look like
192.168.1.100
or similar
Write this down - you’ll need it.
Test Network Connectivity
From your Raspberry Pi, make sure you can reach the simulator PC:
ping 192.168.1.100
(Replace with your actual IP)
You should see replies. If you get “Destination Host Unreachable” or timeouts, you have a network problem to fix first. Check:
- Both devices on the same WiFi/Ethernet network?
- Firewall blocking pings?
- Router doing weird stuff?
E6 Connect / TruGolf
On the Raspberry Pi
- Open the PiTrac web interface (
http://{PI-IP}:8080
) - Navigate to Configuration (3-dot menu → Configuration)
- Find the Simulators category
- Look for the E6 section:
- kE6ConnectAddress - Enter your simulator PC’s IP (e.g.,
192.168.1.100
) - kE6ConnectPort - Should be
2483
(this is standard for E6) - kE6InterMessageDelayMs - Leave at
50
unless you have issues
- kE6ConnectAddress - Enter your simulator PC’s IP (e.g.,
- Click Save Changes
On E6 Connect
- Launch E6 Connect
- Click the Settings (gear icon)
- Select Simulator / Tracking System
- Click Configure next to TruSimAPI
- Verify the settings:
- IP Address - Should be your simulator PC’s IP
- Port - Should be
2483
- Make sure TruSimAPI is selected as the active tracking system
Testing the Connection
- On the Pi, make sure PiTrac LM is stopped
- On the simulator PC, start E6 Connect
- In E6, select Practice and start a session
- On the Pi, run the test script:
cd $PITRAC_ROOT/ImageProcessing/RunScripts ./runTestExternalSimMessage.sh
This sends a test shot to E6. If it works, you’ll see the ball fly in E6.
If it doesn’t work:
- Check the logs on both the Pi and E6
- Turn on trace logging:
./runTestExternalSimMessage.sh --logging_level=trace
- Make sure E6 is actually waiting for a shot (in a practice round, etc.)
- Verify the IP and port settings again
GSPro
On the Raspberry Pi
- Open the PiTrac web interface
- Navigate to Configuration
- Find the Simulators category
- Look for the GSPro section:
- kGSProHostAddress - Enter your simulator PC’s IP (e.g.,
192.168.1.100
) - kGSProPort - Should be
921
(standard for GSPro)
- kGSProHostAddress - Enter your simulator PC’s IP (e.g.,
- Click Save Changes
On GSPro
GSPro should automatically detect PiTrac when it’s running. Make sure:
- GSPro is set to listen for external launch monitors
- The connection port is
921
- No firewall is blocking port
921
Check GSPro’s launch monitor settings - it should show PiTrac as connected once you start hitting balls.
Testing
Start GSPro, then from the Pi run:
cd $PITRAC_ROOT/ImageProcessing/RunScripts
./runTestGsProServer.sh
This sends a test shot to GSPro. Watch GSPro to see if it receives and displays the shot data.
General Connection Tips
Start Order: It usually works best to:
- Start your simulator software first
- Get it into practice/play mode
- Then start PiTrac LM
- Hit balls
Firewall: Make sure your simulator PC’s firewall isn’t blocking incoming connections on the relevant ports (2483 for E6, 921 for GSPro).
Network: Wired Ethernet is more reliable than WiFi. If you’re having weird intermittent issues, try a wired connection.
Multiple Simulators: You can configure multiple simulators in PiTrac. It will send shot data to all of them. Whether that actually works depends on the simulator software - some don’t like sharing.
Troubleshooting
“Connection Refused” or “No Route to Host”:
- Double-check the IP address
- Make sure simulator software is actually running
- Check firewall settings
- Try pinging the IP from the Pi
Simulator doesn’t receive shots:
- Verify the port numbers
- Check that simulator is in “waiting for shot” mode
- Look at logs on both ends
- Try the test scripts to isolate the problem
Shots received but values are wrong:
- This is probably not a connection issue
- Check your calibration
- Verify camera settings
- Look at troubleshooting section for shot detection issues
Connection works sometimes:
- Usually a network issue (WiFi interference, router problems)
- Try wired connection
- Check for IP address changes (use static IPs if possible)
- Look for other network traffic causing problems
Still stuck? Head to the Discord with:
- What simulator you’re using
- Error messages from logs
- Results of the test scripts
- Network setup details (WiFi/wired, router type, etc.)
We’ll get you sorted out.