DCC-EX News

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.

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.

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