So having a poke around and the log does say it needs at least 300 stars…
The poking around was actually to do with trying to use tmpfs for /tmp. My thinking being that rather than writing a temporary fits file to my sd card then read it back while doing platesolving I would just hold it in memory. Not expecting much/any performance increase as I expect the buffer cache gives me pretty much that anyway but at least it should stop needless writes to the sd. However while doing this poking I noticed that the temporary fits files aren’t being deleted. Is this normal with a failed solve or have I messed something up?
The logged message isn't really true; Watney does not need 300 stars to solve, quite often around 50 stars can do the job, sometimes even less. However the more stars there are, the better the odds to find a solution (up to a point - the recommended max and also somewhat optimal is 300 purely because of performance reasons).
You could also try the built-in star detection and see if it makes any difference. For that there's also a parameter in the configuration file (defaultStarDetectionBgOffset) you can adjust to make star detection more sensitive. However the StellarSolver's internal SEP should work just fine from my own experience.
31 stars is somewhat low so I'm not completely surprised if it doesn't solve, so you could see if a longer exposure or using binning does the trick.
I'm also interested in seeing the images you are not able to solve. Finding out the reason why it's not solving is always something that interests me and improving the solver is a priority so if you can send me an image that doesn't solve (but for example solves with another solver) I'd be happy to look at it. You can for example open an issue at github.com/Jusas/WatneyAstrometry/issues and attach the image there.