Westgate Hollow Yard · OO gauge
A model railway, and the control system that runs it
Westgate Hollow is a small, fictional test goods yard. It's where I'm proving the control system, trying out scenic techniques and getting practice in, before moving on to a full-room layout.
This site is the working record of what I'm building and why.
Projects
All projects- OO gauge · test layoutactive
Westgate Hollow Yard
A small, fictional OO gauge goods yard, built as a test layout to prove the control system and practise scenic techniques before a full-room layout.
- Node · TypeScript · Reactactive
Layout Orchestration
The backend and operator UI at the centre of the system. It owns the MQTT contract every other part speaks.
- RP2350 · C++active
PicoDCC
A DCC command station on an RP2350, speaking the DCC-EX protocol over UART.
- RP2040 / RP2350 · MicroPythonactive
Layout Feedback
Sensor and IO nodes that report what the layout is doing over MQTT.
- PCB · KiCad 10active
Block Detector
A home-designed two-channel DCC block detector with an active-high output, so a broken wire under the layout reads as occupied rather than clear.
- ESP32-S3 · WiThrottleactive
ESP Layout Controller
A handheld touchscreen throttle that talks WiThrottle to JMRI.
Latest log
Full log- Why this site exists
A place to record what I'm building on the layout, and why.
Recent decisions
All- acceptedBuild this site with Astro, hosted on Cloudflare Workers
· A static site generated from Markdown, deployed automatically from GitHub.
- acceptedWhen the signal generator runs dry, it sends legal DCC bits instead of DC
· If PicoDCC's PIO program runs out of packet data, it keeps emitting valid DCC '1' bits rather than parking the output pin. Running short of packets costs throughput instead of putting DC on the rails.
- acceptedThe layout starts with track power off
· Connecting to the command station checks the power state instead of switching it on. Only an operator turns the track on.
- acceptedBuild our own active-high block detector
· Off-the-shelf detectors pull low for occupied, so a broken wire under the layout reads as a clear block. A home-designed board with an active-high output makes that fault read as occupied instead.
- acceptedThe block detectors' Input A is left unpowered, against the datasheet
· Powering an LM-iD.1's Input A, as every datasheet says to, makes its output idle at 5V into 3.3V expander inputs. It's deliberately left unpowered on Westgate Hollow.