I like to use the Nano Strong boards from DIY More, which I get from AliExpress for about $5 each. This board is only 40mm square, but has the advantage of providing 3-pin headers for each I/O pin (data, +5v, and ground). You can get servo extension cables pretty cheap online which plug directly into these headers, and the arrangement provides an easy method to hook up sensors. For example, with the addition of one resistor I can add an IR LED transmitter and receiver on the end of the cable.
I use the code from Rudy's model railway for the S88 circuit. You can also use this same board with Geoff Bunza's DCC decoder code to build a turnout controller which will drive up to 17 servo motors directly. It's a pretty versatile board so I always keep extras on hand.