Rail Automation Projects with Arduino and DCC-EX

I am really excited with mini Arduino projects that I have created a 70cm x 20cm N-scale test track cum Timesaver (aka myTIMESAVER). My intention is to use this Timesaver track to do a few automation projects, first using Arduino sketches and later using DCC-EX EX-RAIL.

Prototyping track track myTIMESAVER with basic setups. The hand-operated turnout mechanisms will be replaced with undertable servos.

Why not straight to EX-RAIL, you asked. Well, I want to use Arduino to prototype various automations and to learn and explore how various components such as servos, ESP32, voltage sensor such as ACS712 behave before implementing the same with EX-RAIL. If it works on Arduino, it should work on DCC-EX!

Here is the list of Arduino prototyping projects that I am planning. The same will be implemented with DCC-EX EX-RAIL later.

sub-projects & DescriptionArduinoDCC-EXComments
Single servo turnout with 2 LED indicators and 1 push button.COMPLETEDThis will be implemented on Switch 3 and 4.
Single crossover turnout with 4 LED indicators and 1 push button.COMPLETEDThis will be implemented on Switch 1 and 2. I will update the code for 3 LEDs and 1 push button later.
Using PCA9685 module to control servos and LEDsIN PROGRESS4 servos and 7 LEDs for this project
Using ESP-NOW to communicate between Arduino UNO / CSB1 (master) and 2 PCA9685 modules (slaves)2 servos and 4 LEDs per PCA9685 module (slave) and commnunicate with UNO (master)
Track/block occupancy (as indicated by Track x) with ESP32, ACS712 and LED indicator.The indicated track length represents a block.
Signals at single turnout. Proceed signal set via push button. Stop signal after passing block.When a turnout is properly set e.g. Switch 3 is set to divergent, only then can Signal 3 turn green (proceed). Else, it will remained red (stop).
Signals at crossover turnout. Proceed signal set via push button. Stop signal after passing block.The appropriate signal will show for straight or divergent route, and only after the route is set.
Blinking LEDs and sound for level crossing via sensors.Sensor detection coming and leaving train.
Level crossing barriers with servos and sensors.Dependent on above project.
Turning on/off street lights in sequence.Switching on/off street lights with push buttons, later with fast clock.
Train movements from one track section to another via start/target track push button.By pressing start push button (e.g. Track 1) and target push button (e.g. Track 2), loco on Track 1 (start) moves to Track 2 (target) via Track 6, provided Track 6 is not occupied. Signal 1 will turn proceed (green) if this is safe to move e.g. Track 6 not occupied.