Using the Installer
Requirements (for installing)
a Windows, Linux or MacOS X Computer
a EX‑CommandStation
Arduino Mega or Arduino Uno
Motor shield
optional WiFi shield or ethernet shield
optional LCD or oLED display
a USB cable to connect your computer to the Microcontroller
1. Getting Ready
(for Windows, Mac OS X, and Linux (including the Raspberry Pi))
Warning
Antivirus Software
You may need to turn off your antivirus software before you try to install.
Sometimes our software gets blocked by antivirus apps. If you see any errors on the install screen, this is usually the issue.
Connect your EX‑CommandStation to your computer
Determine which COM Port the EX‑CommandStation is plugged into
for Microsoft Windows:
open (run) the ‘Device Manager’ app and look at the ‘Ports (COM & LPT)’ as you plug or unplug the EX‑CommandStation
take note of the COM number (in brackets after the name of the device)
for Mac OS or Linux:
Open a command terminal and run the command
ls /dev/tty.usbmodem*
The device will have a name such as
/dev/tty.usbmodem12033
if there are more than one devices listed, unplug EX‑CommandStation, re-run the command to note the device that remains, then plug EX‑CommandStation back in again to obtain the correct device name
2. Download and Run EX-Installer
Download the EX-Installer app
depending on your computer’s operating system it will automatically determine the version you need and download itExtract the downloaded Installer into its own folder with your favorite unzip program
For Microsoft Windows:
Open File Manager
Run
exInstaller.exe
For Mac OS or Linux:
Open a terminal window and navigate to that folder
Run the installer with the following command:
./exInstaller
You will be presented with the following screen…
3. The EX-Installer Window
Warning
Wait!
The EX‑Installer takes a little while to load everything it needs, so wait till you have seen about a dozen lines of text appear in the right pane before you try to select anything in the drop down menus.

Figure 55 Installer Window
There will be a lot of information appearing in the log window, which can help us debug things if anything goes wrong. The installer needs to connect online to download the latest packages to support your hardware. It will take a few seconds to complete; this is normal. If you have a very slow internet connection it will take longer.
Choose your options
In the left side options pane, use the dropdown selector boxes to choose the following options:

Figure 56 Options Pane
Select your Command Station Type
This should (almost always) be ‘Command Station EX’Select your Arduino Board Type
Select your Motor Shield
Select your COM Port
The installer will usually find it for you but check against the COM port your took note of earlierCheck the checkbox for your networking method if you have a Network Shield or WiFi Shield installed
Check the checkbox for your display type if using an LCD or OLED display
Check the Free Mem warning if you need to diagnose memory issues
Press the Compile and Upload button
WiFi Checkbox
MAKE SURE THIS BOX IS CHECKED - If you want WiFi, this box must be checked. If you don’t want WiFi, you can leave it checked anyway so that if you add WiFi later, you won’t have to upload the sketch again. The WiFi check only takes a few seconds, after which it will report no WiFi was found and start the Command Station. If you aren’t using WiFi and want to save a few seconds of boot time, you can uncheck the box. If you need extra memory on the Arduino and aren’t going to use WiFi, unchecking the box will free about 10kb of progmem and about 2kb of RAM.
If you have installed a WiFi board, EX‑CommandStation will scan all the serial ports on your Mega and find it. If you wish to use Access Point Mode (aka AP Mode), this will set up the Command Station to be its own network router. To use it, you connect your phone or other WiFi device to this network instead of your home network. You will see a new network when you use the connect option on your phone that looks like “DCC-EX-xxxxxx”, where the “xxxxxx” are the last 6 characters of the MAC address of your WiFi board. Simply connect to that network and you have a direct connection to your CS.
If you wish to connect to your home network instead (connect to your router using “Station Mode”), then check this box. You will then need to enter your credentials to login to your network just like you would from any of your other WiFi devices:

Figure 57 Wifi Options
WiFi SSID - The name of your home network.
WiFi Password - The password required to connect to your home network.
Host Name - If your WiFi Board supports it, this name can be used in addition to the IP address.
Server Port - This is the communication port our internal wiThrottle Server uses to communicate with devices like Engine Driver. We recommend leaving it set to 2560 because JMRI also uses that port should you ever want to use JMRI.
IP Address - Normally, the DHCP server for your network will assign an IP address and you should leave this blank. But if you want to assign an IP address so the Command Station always uses the same one, you can enter it here.
Ethernet Checkbox
If you have an Ethernet shield and check this box, you will see options to change the following settings:

Figure 58 Ethernet Options
Host Name - If your Ethernet Board supports it, this name can be used in addition to the IP address.
Server Port - This is the communication port our internal wiThrottle Server uses to communicate with devices like Engine Driver. We recommend leaving it set to 2560 because JMRI also uses that port should you ever want to use JMRI.
MAC Address - This is the unique identifier for your Ethernet Shield. We recommend leaving this setting as is. If you ever have more than one Ethernet shield on your network and there is a conflict, you can change this setting.
IP Address - Normally, the DHCP server for your network will assign an IP address and you should leave this blank. But if you want to assign an IP address so the Command Station always uses the same one, you can enter it here.
LCD Checkbox
If you have a 2 or 4 line LCD display connected and check this box, you will see the following options you can edit for your display:

Figure 59 LCD Options
LCD Address (in Decimal format) - This is the address of your display, it is usually 39 (for 0x27) or 63 (for 0x3F)
LCD Columns - The number of vertical columns on your display
LCD Rows - The number of horizontal rows or lines on your display
For more information about using displays, see I2C Displays
OLED CheckBox
If you have an OLED display connected and check this box, you will see the following options you can edit for your display:

Figure 60 OLED Options
OLED Width (in pixels) - Enter the width or number of horizontal pixels on your display
OLED Height (in pixels) - Enter the height or number of vertical pixels on your display
For more information about using displays, see I2C Displays
Compile and Upload
Compile and Upload Button
Once you have configured your options, press this button to compile all the source code and upload it to your Command Station.
Note
If you have any difficulties check the Troubleshooting page for assistance.
Next Steps - Test your setup
Note
The programming track is for programming only. Make sure you are on the main track if you expect your loco to move or respond to light or sound commands.