This is what I have done
About the Railway, but I am a bit of an outlier being in the land down under.
I am dabbling in the dark arts of raspberry Pi, Picaxe microcontrollers and Arduino with the aid of the dreaded and feared AI.
Automatic feed back of a signal setting to a transmitter would be theorectically possible but how to do it I don't know.
Enter the dark Lord; I put this into Chat GPT, "I have a garden railway that uses 2.4GHz RC system to control loco speed and direction. I would like to be able to change a signal remotely and when it changes the loco speed corresponds accordingly ie at stop it slows to a stop and at clear it accelerates away. Is this possible?"
The all knowing one returned this (bear in mind it is talking about what I use for my electronics)
Yes —
it is absolutely possible, and it fits very well with the sort of systems you’ve already been working with
The key idea is to let a
signal command influence the throttle input rather than directly cutting power.
Below is a
clear, practical way to think about it, from simplest to more advanced.
The basic principle (important)
Your 2.4 GHz RC system already controls:
- Speed → throttle channel
- Direction → direction channel
What you want is:
Signal aspect → modifies throttle behaviour automatically
So instead of: throttle → ESC → motor
You insert a
logic layer: Handset throttle → controller → ESC → motor
↑
Signal state
Option 1 – Most practical & flexible (recommended)
RC receiver + microcontroller in the locomotive
How it works
- RC receiver goes into a small microcontroller (Arduino Nano / ESP32 / PICAXE).
- The controller:
- Reads the throttle channel
- Knows the current signal state (Stop / Caution / Clear)
- Outputs a modified throttle signal to the ESC
Behaviour example
- Signal = STOP
- Ignore further throttle increases
- Gradually ramp speed down to zero
- Signal = CLEAR
- Allow throttle again
- Ramp speed up smoothly
✔ Smooth prototypical behaviour
✔ No power interruption
✔ Works with any ESC
✔ Very realistic braking and acceleration
How does the signal talk to the loco?
You have several choices:
A) RC channel for the signal
- Use a spare channel on the same transmitter
- One switch = signal state
- Receiver already in the loco
Simplest if you have spare channels
B) Separate 2.4 GHz link (ESP-NOW / NRF24 / RC relay)
- Signal mast has a small transmitter
- Loco listens for signal commands
- Works even with multiple loco
Good if you want
trackside signals controlling trains automatically
C) Trackside sensor + wireless command
- Signal changes when a train occupies a block
- That signal broadcasts STOP to approaching trains
This is how
full block signalling is done.
Option 2 – No microcontroller (limited but possible)
RC relay or electronic switch
You could:
- Use a relay to:
- Reduce throttle
- Switch to a preset low-speed signal
- Or cut motor power
⚠ Downsides:
- Abrupt stops
- No smooth deceleration
- Feels unrealistic
This is usually
not recommended for garden railways.
What most garden railway modellers do
The
modern approach is:
- Battery + ESC + RC receiver in loco
- Microcontroller between receiver and ESC
- Signals send commands wirelessly
- Throttle is interpreted, not passed straight through
This gives:
- Smooth braking into a stop signal
- Automatic restart on clear
- Speed limits for caution aspects
- Future expansion (block control, station stops, etc.)
Is this worth doing?
✔ Yes — and it’s very achievable
✔ It does
not require replacing your RC system
✔ It scales nicely from:
- One signal → one loco
to
- Multiple signals → multiple trains
Hardware you would typically need
In the loco:
- Existing RC receiver
- ESC
- Arduino Nano / ESP32 / PICAXE
- Optional: voltage regulator
At the signal:
- Servo or LEDs for aspect
- Small controller or RC switch
- Wireless sender (or RC channel)
This should give your grey matter to chew over
Oh and welcome to the forum where everyday is an adventure
Now I am interested in this so maybe another thing to add to the list