PuttBay

Webcam putting for GSPro: the complete setup guide

Last updated 2026-09-30.

Webcam putting is simple on paper: a camera over your mat watches the ball leave your putter, and GSPro gets the ball speed and start line.

Making it work in a real round takes five things: a camera that really delivers 60 frames a second, a solid mount, steady light, the right GSPro license, and the putter selected in GSPro. Here's each one, the free options, and, separately at the end, how PuttBay does it.

What you need

  • A camera that really delivers 60 frames a second. Not 60 on the box: 60 in your bay, in your light. More is better. A global-shutter camera, such as the Arducam OV9281 (rated up to 120 frames a second), takes the whole picture at once, so a fast ball stays round instead of smearing. More in our camera notes.
  • A solid mount. A ceiling mount, an overhead bar, or a weighted light stand with a boom arm. It can't sag.
  • A lamp over the mat.
  • A USB port on the PC itself. Unpowered hubs and long passive extensions are where cameras drop out mid-round.
  • A Windows PC with some headroom, since the camera software runs alongside GSPro.

Where the camera goes

For an overhead setup, hang the camera straight down, 6-8 feet (1.8-2.4 m) above the mat. Turn it so the long side of the picture runs along your putt, with 4-5 feet of roll in view in front of the ball.

Why straight down: the mat looks like a flat map. An inch next to the ball is an inch at the far edge, so the start line and speed aren't bent by perspective. The camera is also well out of your stroke.

Why 6-8 feet: high enough to see a few feet of roll, low enough that the ball is more than a speck. A wide lens near a high ceiling can leave the ball only a handful of pixels across, and no software can measure detail the camera never saw. If you have to choose, lower beats higher.

Not every tool wants this view. The free cam-putting-py README puts the webcam "on the side and above the putting start area across from you", about a meter up. Follow your own software's advice.

Frame rate: why 60, and what 30 can't read

A putt is only in the picture for a moment, and the camera gets a fixed number of looks at it.

Take a 40-foot lag. On GSPro that leaves the putter at about 10 mph (SimGolf's GSPro putting chart puts 10 mph at about 41 feet on stimp 10). That's roughly 15 feet a second.

  • At 30 frames a second, the ball moves about 6 inches between pictures, more than three ball widths. Trackers lose it, or catch a few smeared pictures before it's gone.
  • At 60 frames a second, it moves about 3 inches. That's enough looks for the putts you hit indoors.

A good rule of thumb: the ball shouldn't move more than about two ball widths between pictures. At 30 frames a second that tops out near 6 mph, roughly a 14-foot putt on a stimp-8 GSPro green, a bit more on faster greens. At 60 it's about double: roughly a 42-foot putt on that green. That's why a 30 fps camera can't read a lag putt, and why "long putts don't register" comes up so often (cam-putting-py issue #19).

Two catches trip people up:

  • Many webcams reach 60 only at 720p, and some only in the compressed MJPEG format. cam-putting-py has an MJPEG switch for exactly this.
  • In dim light, many webcams slow down to brighten the picture. Logitech's own webcam settings guide mentions "frame rate vs. exposure prioritization."

Trust the frame rate your software reports while you putt, not the one on the box.

Light

  • Bright, steady light over the mat. A plain lamp or LED shop light aimed at the putting area.
  • No dimmers and no changing window light. When brightness drifts, the camera re-adjusts, sometimes mid-roll. One golfer watched their camera "shift into some kind of auto brightness/exposure setting" and go very dark while putting (cam-putting-py issue #18).
  • Mind your shadow. Evening light can throw your own shadow across the ball's path, and a dark shape can swallow a rolling ball. The cam-putting-py README says the same thing: don't cast a direct shadow over the ball, and get some light on the ball side.

The ball

Color trackers find the ball by its color, so they want a colored ball on a dark mat. cam-putting-py's README says "orange works best for most people", and its color tuning, in its own words, "can not be done automatically and you have to do so manually." Golfers in garages report re-tuning when the light changes (springbok discussion #122).

Trackers that find the ball by its shape and brightness can use the normal white ball you already putt with. Either way, the ball should stand out clearly against the mat.

Your GSPro license decides whether camera putts get in

GSPro sells one yearly subscription, and you pick a launch-monitor type for it on gsprogolf.com.

  • Open API ("Other (OpenAPI)"): GSPro Connect opens its Open Connect input, a small window called APIv1 Connect. A connector for your launch monitor connects there, and camera putts can ride along through it.
  • A launch-monitor maker's type (Garmin R10, Rapsodo MLM2Pro, FlightScope, Square and others): GSPro Connect talks to your device itself and shows no Open API window, so a putting app has nowhere to connect. For devices that don't read putts, GSPro's own R10 guide says to "select one of the auto putt modes."

You can switch types with GSPro's License Conversion Tool, then clear GSPro Connect and restart GSPro.

GSPro also takes one connected app at a time, so your launch monitor's connector and your putting software share one connection. More in why GSPro only takes one connector.

The putter rule, and Auto Putt

GSPro tells connected apps which club you have in hand. Putting software uses that to send putts only when the putter is selected, so a roll while you have a wedge out never becomes a shot. When the putter isn't selected, the putt is dropped. springbok's log says it plainly: "Putting Error: Putter not selected in GSPro, ignoring." (issue #184).

  • Press U in GSPro to switch straight to the putter (GSPro keyboard shortcuts).
  • Pick a gimme distance, not an auto putt mode. GSPro's Gimme/Auto Putt match setting takes either a distance (2 to 20 feet) or a mode such as Auto-Putt Fixed, Auto-Putt Random or Pick Your Putt (Local Match setup). Gimmes are fine. The modes let GSPro handle the putt instead of your stroke.

Free options golfers use

  • cam-putting-py with springbok or gsp-r10-adapter. The free, open-source tracker most YouTube tutorials show. It sends ball speed and start line through springbok's connector (MLM2PRO or R10) or the gsp-r10-adapter. Golfers who get it dialed in like it. The cost is the manual color tuning above, and redoing it when the light changes.
  • KW Golf's ShotBridge with PuttLinx. Free. One app holds GSPro's Open API connection and includes webcam putting. Its site recommends the Arducam OV9281, a monochrome camera, and needs no color tuning.
  • A launch monitor that reads putts itself. FlightScope's Mevo+ and Mevo Gen2 have a putting mode GSPro can switch to, though owners say it means moving the unit (Mevo+ putting, both routes). Square Golf reads putts too. If you haven't bought a launch monitor yet, one that putts on its own may be the simpler route.

How PuttBay handles it

PuttBay is a Windows app that does this setup for you. It's free during the beta.

  • The camera: the Arducam OV9281 is proven. Other webcams that really deliver 60 frames a second should work and are still being tested. Setup measures yours and tells you plainly if it falls short; 30 fps cameras are refused.
  • The mount: straight down, 6-8 feet up. Setup checks the ball looks big and clear enough, or says how to move the camera.
  • About 5 minutes, no printed markers: aim the camera and choose its picture, tap your ball so the gold start spot lands on it, point the arrow at the screen, measure a normal white golf ball (no orange ball, no color sliders), then roll a few short putts and save.
  • During play: it sends putts only when GSPro has the putter selected. Stand over the ball as long as you like; it waits. If it can't read a putt, the ball view says PUTT AGAIN with the reason, instead of sending a guess.
  • Your launch monitor in the same round: with an Open API license, PuttBay sits between GSPro and your launch monitor. Full shots come from the Rapsodo MLM2PRO (through springbok), the Garmin R10 (in beta), or the FlightScope Mevo+ and Mevo Gen2 (through flighthook, in beta). Putts come from the camera. springbok and flighthook are free community connectors you install yourself.
  • Light: a lamp over the mat helps. Evening light and shadows are the hardest conditions for PuttBay too.

PuttBay is an independent product and is not affiliated with GSPro, Rapsodo, Garmin, FlightScope or Square.