It's been a little while since I first shared my working model railway level-crossing lights project, and I've now revisited it with some significant improvements – and new versions of the videos.
For the signs themselves, I've designed 3D printable cowls for the lights, with an option to print the backs instead of using Sugru. The files for both of these are downloadable from the links below.
And, I've found a permanent home for the controller, mounted under the signal box, where it takes power from the tracks.
Also updated is my Raspberry Pi Pico controller – now with power from the tracks and an added remote control button, so you don't have to lift up the signal box every time a train comes past.
...and in my latest video, I've fully automated the operation, triggering – and finishing – the light sequence with break-beam sensors.
The code for this can be found below.
I've started work on getting my crossing gates to open and close automatically - initially with servos, operated with buttons. Ultimately I will get the break beams to trigger the gates soon, but first I need to get the basic mechanism working.
Very much work in progress at the moment, you can see how I'm getting on in my latest video. The files for the base are available to download below (usual usage rules apply).
In my latest video, I got the stand-alone crossing running really well - complete with a new 3D printed base and crossing gates, which fit directly onto the Tower Micro Servos. The files for these can be found below.
And, after a bit of a detour into stepper motors, I also finally managed to mount the gates on my layout, using smaller servos, with individual bases dropped into holes cut in the crossing.

For the stand-alone Tower Servo version, the full crossing base can be printed in PLA along with the track centre, while the gates and posts are best printed in resin. For opposite gates, the files need flipping in the slicing software to get matching pairs. The posts are not directional and can all be printed the same.
The Micropython code is also included, using the pins as described at the end of the video. Full wiring schematic to follow.
For the 1.7g digital servo version each gate has its own base, two of which need to be flipped for opposite corners. The same gates are used as above, but with the addition of a shim to fit the smaller servo spindles.
The code is the same as above, but with tweaks to the PWM values as described in the video.
Pater Practicus
Copyright © 2026 Pater Practicus - All Rights Reserved.