I use a Pi SPROG and JMRI. The PiSPROG operates 22 Cobalt DCC point motors. I use an old iPad as the glass control panel, though there is nothing to stop you using a computer. I like using the iPad as a touch panel to operate the points. JMRI is not hard to learn. The difficulties are twofold, firstly the US centric wording, but it’s not hard to fathom. The bit I found the hardest was the online documentation. There are a few paragraphs of simple introduction and then it jumps into fine details about stuff you might never want to do. The middle is missing. What I did find useful were online YouTube tutorials (and I normally hate such things and prefer written documentation). The software is both good and powerful (and free!). The way I made progress was to set myself simple goals and make progress bit by bit. My first goal was to learn how to operate a single point motor. So I had that hooked up to the PiSPROG, and that alone. Then learn how to draw a track plan with your points in it. You want the Layout Editor within PanelPro. If you are nervous about installing JMRI on a Raspberry Pi you can buy a preconfigured SD card from sprog-dcc.co.uk for not very much money. (which is what I did). If you have no Linux experience it is probably the best route to take. The PiSPROG is a fantastically cheap and powerful way of controlling a layout. (Mine is N, it might not suit a garden railway...). I also have a USB Sprog connected to a Windows laptop and an oval of track. The laptop also runs JMRI. I use this to run DecodePro (a sub section of JMRI), which is the easiest way I know of programming and fiddling about with locomotive decoders.