
Announcing EX-CommandStation 5.4.0
The DCC-EX team are excited to announce a new Production release of EX‑CommandStation with version 5.4.0 being made available today. As usual, this release includes a raft of new features and enhancements to bring even more capability and joy to your digital model railroading experience! We’re also announcing changes to our supported hardware platforms.
New features and enhancements
Just check out this list of features and enhancements added since our last release:
Turntables can now be operated from throttles just like turnouts, including new EXRAIL commands for automation of turntable movement
Auto reverser and booster mode for the ESP32 platform is in Beta
Delay can be added to the startup of EX‑CommandStation to allow peripheral devices to boot or start first
Various HAL enhancements, including our native, non-blocking I2C capability for the STM32F4xx family of Nucleo platforms
Variable DC frequency support in TrackManager, using DCC function keys 29 - 31 to set the desired frequency whilst running
Broadcasting of route/automation state changes to throttles
New EXRAIL specific commands and enhancements:
Various new ROUTE related commands - See Scripts/Sequences - Types and Control
JMRI_SENSOR(vpin [,count]) - creates <s> type sensors visible to jmri
Blinking/flashing vpin and amber signal - BLINK( pin, onms, offms ) - blink an output pin
New ONBUTTON( vpin ) - event handler for debounced button presses and ONSENSOR( sensor_id ) - event handler for sensors
- Compile time checks for:
duplicate or missing automation/route IDs
LATCH and RESERVE IDs out of range
speeds out of range
Changes to supported hardware platforms
We continue to recommend the tried and true Arduino Mega2560 as our preferred and recommended hardware platform for EX‑CommandStation, with the Uno and Nano backing it up as alternatives, albeit with less I/O and resources available compared with the Mega2560. We have seen some quality issues with the cheaper end of the clone variants of these boards. In general genuine Arduino and Elegoo clones remain our recommendations, but the genuine Arduino Mega is quite expensive given its performance.
Along with our Version 5 is here! announcement back in August 2023, we also announced some new Beta hardware platforms including the ESP32-WROOM and select STMicroelectronics Nucleo STM32F4xx family boards. These boards are now largely moving into full support as they have proven to be reliable and provide a lot more “bang for your buck” in terms of capabilities and future proofing your EX‑CommandStation with the continuing new features being added.
Moving forwards, we highly recommend new users seriously consider these newer, more powerful ESP32 or Nucleo boards as the pricing is competitive even compared with clone Mega2560 options, and as they have much more RAM they will scale to be able to animate and automate much larger layouts and allow you to keep up with the development of the DCC-EX ecosystem.
The Arduino UNO and Nano, however, are no longer recommended as fully capable platforms as they are just too limited in terms of RAM and FLASH resources and capability to fit all of the DCC-EX feature set. They therefore will not work with some of our newest features such as TrackManager (DCC & DC) or I2C connectivity. DCC-EX does allow users to turn off features such that UNOs and Nanos can still be handy as dedicated programming only devices with JMRI or for simple Christmas layouts of course, but don’t expect to be using any of our newest or resource hungry features on these devices. They can also be re-purposed as versatile and affordable I2C accessory devices with our new EX‑IOExpander, as they can provide a mix of digital GPIO, PWM output, and analog inputs on a single board.
We now have a larger number of core platforms to support so need to rationalise our support of some legacy platforms. Also, a number of previously supported platforms are no longer available to the primary DCC-EX team for testing and validation. As a result, we are announcing the deprecation of support for some platforms, and these will no longer function with EX‑CommandStation when we release our next major version 6.0.0. Support for these right now is limited to ensuring the software compiles, as no testing is possible by the team.
Read below for a summary of the changes to our supported hardware platforms.
Supported and recommended platforms
New users should choose one of these platforms to make use of all features and capabilities.
Arduino Mega (Recommended) genuine Arduino Mega 2560 R3, and good quality clones - continues as supported and recommended, but RAM is limited for large layouts with lots of accessories and/or animations or automations
(link to new page here) ESP32 moves from Beta into full support - note this is for devices using the ESP32-WROOM (ESP32-D0WD) CPU only, other ESP32 variants such as C3, S3, etc. are not supported at this time and may never be due to hardware limitations
(link to new page here) STMicroelectronics Nucleo boards in the STM32F4xx family move from Beta into full support for DCC only - note that DC mode and Ethernet support for these is still in Beta
No longer recommended platforms
No new features will be available for these, but they can still be handy for dedicated programming or small demo layouts. Note that an ESPduino32 has the same format as an Uno, is probably less expensive, and has full capabilities including WiFi.
Deprecated platforms
The team no longer has hardware to test these boards, so we ensure the software compiles for them only, and no testing is performed. They will be removed when we release 6.0.0.
Arduino Mega328
Arduino Uno WiFi R2
SAMD21
Arduino M0
JMRI specific updates
Given there are a lot of DCC-EX users who also utilise JMRI, we figured it was worthwhile outlining some more specific updates centred around JMRI and the interoperability with it.
Note these all require JMRI v5.7 or later AND DCC-EX v5.4.0 or later.
‘Roster Export to DCC-EX’ - the ability to press a button and have your complete JMRI Engine Roster shown in a window which you can then copy into your DCC-EX Roster
DCC-EX ‘Virtual LCD Displays’ on JMRI to see data about your EX‑CommandStation and additional user data without having to have physical LCDs or OLEDs connected to your command station
Monitor, Send Command, and Config Base Station now multi-connection-aware
Config Base Station now available as Startup action in Preferences
New ‘Open Meter’ pane in Preferences -> Set Up -> Add -> Perform action -> ‘Open Meters’
DCC++ Current Meter now automatically tracks & displays active current draw on Main A
Sample script (SendDCCppMessages.py) to easily send DCCpp commmands to run EXRAIL scripts directly from JMRI
Throttles now default to Forward instead of Reverse
Handles new locoState reply to sync Speed, Dir and F-keys
Throttle commands and replies added to simulator
New servo and vpin turnout messages now supported
Automatic population of the JMRI Sensor pane by using the new EXRAIL JMRI_SENSOR function
Store definitions as properties in created objects
Improved CV read speeds by including startVal feature
DCCppOverTCP server now forwards all messages