RailEssentials - MIT License
RailwayEssentials is renamed to RailEssentials.
RailEssentials is a modern and intuitive software for creating and controling
model railways. Currently, the only supported control unit
is ESU's ECoS 50210/50200.
The software is based on a client-server architecture, i.e the server is the brain and bridge between the control unit
used in Chrome, Firefox,
Table of Contents
- Tutorial: Welcome / First Steps
- Daily/Nightly Builds
- Who is Using It?
- Visual Impressions
Demonstration of RailEssentials (i.e. YouTube video, no sound)
I have created a small video of my modelrailway in my basement to demonstrate that
RailEssentials just work. Just click the preview to jump directly to YouTube.
Tutorial: Welcome / First Steps
For making your first steps easier with
RailEssentials, a welcome tutorial has been provided.
It is part of the Wiki Page
RailEssentials is automatically build everyday. During this build an always up-to-date Setup/Installer is generated and can be used to deploy the latest features on your personal computer. Currently, only Windows is supported, for other operating system the source must be used and build. The latest setup/installer is provided under the
- download the Setup of your choice (e.g.
20210322stands for 22nd March 2021)
- doubleblick the Setup and follow the instructions
RailEssentials is automatically build everyday. The always latest version is provided under the
- download the archive
- after unzip just call the included script
As default the workspace
Basement is loaded and provided and can be used directly in simulation mode.
We do not provide any official releases yet, because the software is still under development, but we provide a
Daily Build. In January'21 the RailEssentials team decided to do a full rewrite. To use this software, checkout the source, and just click "Build and Run (F5)" in VisualStudio.
Quick Start for Developer
VisualStudio 2019or the old variant
- clone the RailEssentials repository
git clone https://github.com/cbries/railessentials.gitor download the latest archive master.zip
- open the solution
railessentialsas Startup Project
VisualStudio Toolbar / Debug / Start Debugging
As a result the software will build and all relevant files are copied to the
Output Directory, in general this is
railessentials \ bin \ Debug|Release.
railessentials.exe will be executed, a command prompt opens and shows some status information. If not browser opens automatially, go to your browser and open
Finally, you should see something like this:
- Windows 10
- .NET Framework 4.8 or higher
Have a bug or a feature request? Please open an issue here https://github.com/cbries/railessentials/issues. Please make sure that the same issue was not previously submitted by someone else.
Third-Party Components at Their Best
WebSocket4NetA popular .NET WebSocket Client
SuperSocketSuperSocket is a light weight extensible socket application framework.
NewtonsoftPopular high-performance JSON framework for .NET
jQuery colorpickerA full-featured colorpicker for jQueryUI with full theming support.
jQuery BoxfitBoxfit is a jQuery plugin for resizing text.
select2Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.
FontAwesomeGet vector icons and social logos on your website with Font Awesome, the web's most popular icon set and toolkit.
emgucvA cross platform .Net wrapper for the Open CV image-processing library.
In the late of 2018 I wrote a book about programming the ESU's ECoS 50210.
- ISBN: 978-1-790-36403-9
- ASIN (Kindle): B07L4Z4MYL
The book introduces the basics of managing commands for remote control of your model railway by use of C# and .NET Framework/.net Core. The included examples and API information are all used in
ecos, a software library hosted on GitHub which is completly used by
RailEssentials (with few improvements and bug fixes). The source is completly merged into
RailEssentials, i.e. check out the subdirectory
- Frontend UI usable with Chrome, Firefox, Vivaldi, Edge on any device
- Server-based architecture (currently the server is only running on Windows)
- WebCam/Video support included by default for monitoring hidden yards (i.e. includes stream server and web viewer) Wiki
- Import of Rocrail plans Wiki
- Workspace support, to switch between different plan at any time
- Track Designer based on modern web technology
- Toolbox-support with drag&drop
- Plan Item transformation directly by single clicks (i.e. move, rotate, remove)
- Text Item support (i.e. bold, italic, underline, font size, font color)
- Labels for Plan Items
- Accessory can be changed directly by clicking the individual plan item at any time
- Output/Button grouping Wiki
- Report for Locomotives, Accessories, and Sensors Wiki, Issue #9
- Block-based automatic mode, any train/locomotive can be controlled by a smart algorithmen and can travel between blocks without crossing routes
- Accessory state change during AutoMode for individual routes Wiki
- Route detection between blocks, any feasible route will be found and provided for your individual setup
- Routes with direction are recognized
- Route disabling/enabling on-demand
- Block disabling/enabling on-demand
- S88 Viewer
- Locomotive lock/unlock
- Locomotive direct control via mouse over controls in the plan
- Locomotive speed curve editor (i.e. individual acceleration/deceleration)
- Locomotive image visualization Wiki
- Drag&Drop of Locomotives to Blocks for assignment
- Locomotive Options for
AutoMode(e.g. change of direction, different kind of trains, etc.)
- SpeedLevel support like in RocRail (e.g.
Level 3, and
Level 4) Issue #80
- Kick Start to provide an additional nudge to start the motor during
- Auto Mode of the whole model railway, work on your landscape during run of all your trains
- Simulation Mode to test any functionality
- Block entering visualization, see directly on which side the locomotive has entered the block and on which side it will leave the block
- Statistics of accessory usage and when any Locomotive has been started/stopped (e.g. supports scheduled maintenance)
- Accessory to Route weaving for changing accessory states on start/delay of Locomotive traveling Wiki
- Lock Additional Blocks during Locomotive Traveling Wiki
- Maintenance Mode - accessories can be set into maintenance mode and all routes which include the relevant accessories are not selected anymore Issue #79
- Wait for Locomotives if AutoMode has stopped, i.e. finish all current journeys Issue #75
- Drag & Drop of locomotives to assign a new block Issue #100, Wiki
- Cleaning Robot / Cleaner mode, specific Locomotive have full access to all blocks/routes, can change direction at any time. Issue #20
- Define Wait-period of locomotives when they reach target block of a route. Issue #107
- Ghost Train detection Issue #104
Individual Supports for my personal needs
- Light Control (i.e. currently hardcoded variant for my personal model railway, it is based on an invidual solution with LED-RGB-Stripes and Websocket-communication modeling repository).