QSI Programming Tips

Quick links to topics: (in no particular order)

READ THIS - This explains the QSI "indexes" that expands the number of CV's available.
Correcting loco direction - Correcting for Bachmann and Aristo mis-wiring
First time setting of long address - a tip for NCE users
Smoother slow speed operation - tips on improving very slow speed operation
Setting mute volume - you can still hear the locos, but not your neighbors!
Custom user sound - you can store a *.wav file of any sound and play it on command, what fun
Consisting tip - control all sounds from the consist address
Using the QSI programmer - tips - A few tips on making programming of new sounds and firmware easier.
Enhancing the "sound of power" - Make sure you have some minimum momentum to accentuate this feature.
Setting scale speed - You can calibrate to read back and record the actual scale speed of your loco.
BEMF / "auto" chuff programming - You can get perfectly synchronized chuffs without any contacts or reeds or magnets!
Problem after setting long address? - I had a QSI go wacky, this might have happened to you too.
Cool tip to read back settings when programming on the main - You can get the QSI to audibly read back the value of any CV on the main line.

READ THIS, how the QSI "indexed" CVs work, and you need to know, because I won't repeat it in the tips below!

What is different, and why do I have to understand this?

On the "sound side" of the decoder, an "indexing" system is used to access all the functions, which "miultiplies" the CV's reserved CV for manufacturer's discretion by the NMRA standard. (all modern high function decoders use some "trick" to get "more" CVs).

CVs will be listed as "CV 50.1"  or "CV 56.18.0"  for example. The first example has one index for CV 50 and the second one has two indexes for CV 56.

To set indexed CVs, "prepare" the one or two "index" CVs first, and then finally set the CV you want.

These 2 index CVs are always CV49 and CV50. CV 49 is the "1" in the 51.1 example. In the second example, CV49 is 18 and CV 50 is 0 in

Again, some CVs need one index, some two.

So in the notation "CV X.Y", the first index Y is CV 49, and must be set before you actually set the CV X.

In the notation "CV X.Y.Z", the first index Y is CV 49, and the second index Z is CV 50, and both must be set before you actually set CV X.



CV 56.3.1 for setting the bell type

The 3 is the first index register (CV49)

The 1 is the second index register (CV50)

so to set CV56.3.1 to a value of 2, you actually set:

    • CV49 to 3
    • CV50 to 1
    • CV56 to 2

In that order, you set the 2 index CVs first, then the CV 56.3.1 is ready to accept the value.


Another example:

The mute volume level is CV 51.1  (default value is zero, hitting the mute button will set the sound to zero)

To set the mute volumel to 25, you set:  (by the way, this is a good idea)

    • CV49 to 1
    • CV51 to25

The QSI will announce: "CV fifty one point one equals twenty five" to confirm.

Again, this technique of "indexing" basically gives you a lot more CVs. (The NMRA did not envision there would be so many settings!)

Try it, when you hit F8, for mute, instead of going completely silent on mute, you will have a low volume that won't make your neighbor's dog bark!

First time set up of loco address

Remember that a DCC decoder can have 3 different addresses:

  • short address (1-127)
  • long address (1-9999)
  • consist address (1-127)

As with most DCC decoders, the QSI comes set with short address 3 active. Most people set a long address to match the road number. Usually you need to perform 2 steps:

  • set the long address
  • activate it (since the short address is activated)

On my NCE system, I select loco address 3, then go to program, and then select 1 to set addresses, then select the long address setting and set the long address.

Then I have to select the loco again, go to program, and now select 3 for cfg (configuration) and go through the menus and activate the long address.

An interesting thing is that the QSI does not automatically change to using the new long address, but the NCE throttle does! So, you have to go back and re-select loco address 3 in the second step)

Correcting loco direction:

When you hardwire a decoder, you wire so that the loco goes forward when forward direction is indicated, and DC direction meets your particular standard. Doing this is very simple when you think about it. Try the loco on DCC, and if it runs the wrong direction, swap the motor leads to the decoder. Now check it on DC, and if it runs the wrong direction, swap the track pickups. (Yeah, DCC direction is independent of track polarity, but not DC). Simple.

Now, when using a locomotive with a plug and play socket already, you have 2 choices. The first it to rewire the loco to meet the default setting for motor direction, the second is to reprogram the decoder to work in the opposite direction. A few Aristo locos are miswired, and the Bachmann locos are all miswired apparently. I use the word miswired because with over 40,000 locomotives out there, the Aristo socket is the de-facto standard. QSI has special downloads to accomodate the reversed sockets in Bachmann locos, see the QSI web site tips.

You can also accommodate the few miswired Aristo locos in the same way, but I recommend rewiring the loco. Doing this is easy, usually all you do is swap the leads in the motor connectors.

The reason I recommend this is twofold:

  1. It's just simpler to not have different wiring between locos, to have them all standardized, because when you download new firmwire, you usually go back to default settings, and now have to reprogram, so now you are forced to "remember" which locos are backwards.
  2. There is a bug in the Revolution/Magnum where the CV29 bit 0 is IGNORED in a consist. Best practice with a Revolution/Magnum is to NEVER use CV29 to correct for a reverse wired motor, you will be sorry if you consist.

If you don't want to do this, you can do it by setting CV 29 bit 0 to one. (Revolution/Magnum users you have been WARNED)

Realize that the headlight and rear light may also be miswired. I am a big proponent of correcting the wiring to match the expected defaults.

Starting out

Setting command readback

cv62 = 1 announces commands as they are executed

Set some momentum

CVs 3 & 4, suggest 50 and 25 respectively, this helps the accenting of chuff

set cv 29 properly

decide if you want analog conversion on or not, leave off if you are running DCC only can help on a layout with noisy DCC

set throttle control mode:

CV 56.4 sets the mode

STC (standard throttle control) - this method is basically without BEMF compensation. You can use this with no tuning, other that perhaps CV2

RTC (regulated throttle control) - this is the preferred method, where BEMF is used, but realize that most motors need a bit of tuning of the PID (BEMF) parameters, the stock settings are rarely correct.

There are also a couple more modes, one will try to maintain the same speed uphill or downhill. Good for people that run trains unattended and have grades. The other tries to maintain a constant BEMF from the motor, but I'm not clear why you would use this.

chuff tuning

first set to chuff trigger or autochuff

cv56.0, set bit 4 on for a chuff trigger, usually only that bit on

will add in the autochuff tuning here...

Chuff volume

cv52.x individual volume control

chuff volume, index 10, cv 52.10, max is 15


Loco type (chuff)

cv133.1.0 0,1,2 is small, medium, large


cv133.2.0 chuff intensity

00, 1, 2

chuff cutout

51.10 increase to 100 from 50 default


51.12 minimum sound of power

increase from 40 to 100 or 150, this made a lot of difference

51.13 max sound of power

default 65, set higher



Tuning for smoother slow speed operation:

Basic settings

The QSI initially has problems with running BEMF on certain locos, usually high current dual motor, or large Pittman motors with "loose" geartrains. This will appear as "chatter" in very slow speed running, and could even have the loco surge. This is normally at DCC speed steps under 15.

After some research, the QS Industries people have come up with better settings, and have made all 3 BEMF parameters available for programming.  (you need software version 7.25.3 or above)

First, you should have do the basic tuning, as in the manual:

    1. Change Locomotive from RTC, (Regulated Throttle Control) default, to STC, (Standard Throttle Control). 56.4 = 0
    2. Set your throttle to the 128 speed step range and advance throttle speed to speed step 8.
    3. Program CV2 to Increase CV2 values until the locomotive starts to move.
    4. Program CV2 to Decrease CV2 values until the locomotive just stops.
    5. Return to RTC, (Regulated Throttle Control). 56.4=1

Note that the loco minimum speed should be maintained between speed step 0 and 8. If the loco speed does not increase at ss 9, then you may want to increase cv2 slightly. (see appendix VI in the manual)

If the loco has jerky behavior at ss1, raise the RTC minimum bemf value until smooth (cv 56.5)

Try setting 56.5 to 31 (the range is 0-31) something is not right here. check out what it can really be set to .

 The locomotive will operate at a speed corresponding to this minimum Back EMF until the speed table value corresponding to the throttle position exceeds V-Start at which time the locomotive will gain speed.

    • If the value of this CV is 0, the locomotive does not maintain a minimum speed. The locomotive may not move at very low speed steps.
    • If your locomotive runs very smoothly under RTC at speed step one, you may consider lowering the RTC Minimum BEMF value. If your locomotive exhibits non-smooth, jerky behavior at speed step one, you may want to increase the RTC Minimum BEMF value until operation is smooth.
    • Before setting the minimum Back EMF, make sure that V-Start, CV2, is not affecting the minimum speed at speed step 1. At QSI, we set V-Start to provide minimum speed between speed step 1 and speed step 8111 in the following way.

Now to the basics / foundation of BEMF PID settings:

See the PID CVs 56.18.0 through 56.21.2.

There are 3 parameters that comprise the PID, Proportional,  Integral,  and  Differential.

There are also 4 different speed ranges where these parameters can be set. QSI recommends setting all 4 ranges the same.

The first index picks the speed range:

    • 56.18.x is the first
    • 56.19.x is the second
    • 56.20.x is the third
    • 56.21 is the last.  (If you want more detail, read the manual.)

Within a speed range (first speed range is given here):

    • 56.18.0 is Proportional
    • 56.18.1 is Integral
    • 56.18.2 is Differential

(note, in late December, QSI just published some different settings, where the parameters for each speed range is different. I need to test these out, because normally having an abrupt change in parameters as you increase or decrease speed causes more "jerkyness" not less)

1008 diesel

10 2 15
10 2 20
10 2 20
10 2 20


1015 usat

10 2 10
10 2 10
10 2 10
10 2 10


2000 usat gg1

32       16
16       10
16        10
16        1         (note: gg1 decoder does not have updated firmware for all pid parms)


2001 aristo

10 2 15
10 2 20
10 2 20
10 2 20


3001 accucraft k28

16   10
16   10
16   10
4     1   (note, f/w cannot set all pid parms)


3010 & 3017 aristo

5 2 20
5 2 10
5 2 10
4 2  1


4000 & 4004 aristo articulated

5 2 20
5 2 10
5 2 10
4 2 1


Now, finally to the settings:

The parameters are shown in a block matching the CVs below:

P               I             D
56.18.0    56.18.1   56.18.2
56.19.0    56.19.1   56.19.2
56.20.0    56.20.1   56.20.2
56.21.0    56.21.1   56.21.2


For USAT locos:

6     2    13
6     2    13
6     2    13
6     2    13


For Aristo-Craft locos:

10   2   5
10   2   5
10   2   5
10   2   5

You should set minimum BEMF (CV56.5) to 7 for both USA and Aristo. This should give you a minimum speed of about  .4 to .5 smph.

You can set the minimum BEMF higher to get smoother performance if needed. Just for reference, most HO decoders are set at 1.5 smph.

Make sure you set CV2 low enough that you get minimum speed; otherwise this can cause some odd low speed behavior.


some pid notes from Josh:

done on an ho engine
40 1 70
4 0 10
4 0 10
4 0 10

Setting mute volume

CV 51.1 sets the mute volume (F8)

By default it is set to 0, meaning completely mute sound when hitting F8

I normally set it to somewhere between 25 and 35. This quiets it way down, but still lets you hear the sounds. Good for testing, or running without disturbing neighbors.

If you are working really close to the loco, you might need 20,


Special tips for programming using GWire / Airwire.

When using the GWire/Airwire receiver, the commands come from that receiver, not the track connections.

With the original QSI units, you disconnected the receiver and programmed through the track inputs (where you connected the battery). Some people added a "bypass" switch, which basically turned the 5v power off to the receiver.

With the  Titan, G-wire board must remain plugged into the Titan. You've got to program the Titan to either use it or ignore it.

To go from G-wire/Airwire throttle control to CV Manager control, use the Airwire or G-wire transmitter to turn CV 56.1 to "0," which turns off the Airwire control.

Then disconnect the battery, and hook the output of the programmer to the board instead. Some people make a plug that matches the battery plug for this.

You can then do all your programming that you need to do via the CV Manager interface. Once you have everything set the way you want it, go to CV 56.1 on the CV Manager software and click on "enable Airwire." This sets CV 56.1 back to "1."

Then disconnect the CV Manager from the board, plug the batteries back in, and you should be in business with the GWire /Airwire throttle.


How to program and use the Custom / User sound

Getting the sound into the decoder

Recently introduced, you can add a custom "user" sound to your loco.

In the Q2Upgrade program, where you do cut and paste, there is a user sound button. You then can select a "wav" file from your computer, and then you select one of 2 compression schemes, less compression, better sound, uses more space in the decoder.

At the time of the upload (only), you  can set the volume, the default is 100%, so normally you leave it.

Once you put the sound file in the loco, you need to "connect" a function to the sound.

How the decoder works (you can skip the following paragraph if you just want it to work and not understand how the internals work)

Now that you have sound in the decoder, you need a way to control it.

In the decoder, all the "stuff" you can do is called a "feature", and there's numbers associated with these features, called "feature numbers". The feature number of the user sound is 25 for a single playing of the user sound.

Now you want to set the feature to an "output". The "outputs" are the things that can be controlled by a function button. In this case we will select the output that is already "mapped" to Function 12  (F12). (I chose this because F12 is not used in the QSI)

If we were going to change a different function button, we might have to change which "output" goes to which function button. For now, we will just leave it as it is, F12 is mapped to output 14 already.

So F12 button controls output 14, and all we need to do is make output 14 control feature 25, which is the single playing of the user sound.

CV53 is what "connects" outputs to features, and is an indexed register. the primary index (CV 49) is set to the output you want to set (14), and the secondary index (CV 50) is set to 0 if you want this to function while moving, and 1 if you want this to function while stopped.

Since it's probably best to make this work whenever commanded, we will program both "modes" so it always plays, loco moving or not, thus the 2 following comands: (setting the F12 button to feature id 25)

CV53.14.0 = 25
CV53.14.1 = 25

Ok, you just want it to work, this sets the QSI to play the custom command from F12

CV 49 = 14

CV 50 = 0

CV 53 = 25


CV 49 = 14

CV 50 = 1

CV 53 = 25

That's all you have to do to make F12 control the user sound



Some people have encountered an error message: "BYTE 36-39 'fact" not supported"

Here's some tips from Gerry Pruss:

If the problem persists with the latest Q2Upgrade then the problem is with the wav file. The "fact" chunk is used by (compressed) non-PCM formats. Try saving the wav file using the standard WAVE_FORMAT_PCM format.

For best results use 16 bits per sample and 8000 samples per second.

The flash memory size is 1 Megabyte. A good portion of this is used for other sound files and system overhead. The user sound file,
when compressed, must fit into the "Unused" space. Low compression will compress the file to approximately 1/2 the uncompressed size, high compression to approximately 1/4 the uncompressed size.


Consisting tips:

A quirk of QSI's: make sure the sound is on before creating in advanced mode. (Mentioned in the Yahoo NCE forum)

When consisting, you can make things work differently.

One way to control things (at least on an NCE system) is to select the lead loco, not the consist address. Then sounding the horn, etc, is sent to that loco, but speed commands will affect all locos. This is the simple way to do it with no other configuration.

A better way is to use CV21, which says when in a consist, what function keys work.

Basically you want the bell and horn to only work on the lead loco, but other things to work on all locos, especially the mute function. Hitting the mute on just the lead loco only mute it. I use the adjustable mute CV51.1 set to about 25.

So you set CV 21 in each loco. This is only called into play when it is in a consist. When the loco is out of the consist, then it has no effect. (This is one of the many sophisticated features that DCC "Wannabe" products cannot do).

For the lead loco, set CV21 to 251, that allows all functions to work except coupler crash.

For any middle loco, set CV21 to 248, that allows all functions except bell, whistle, coupler crash.

For the end loco, set CV21 to 252, that allows all functions except bell and whistle.

Makes sense right? When in a consist, only the lead loco does the bell and whistle.

The last loco is the only one to do coupler crash.

Now when you select the consist, the bell, whistle, coupler crash, mute, all work as expected on a consist.

Tips when you use the programmer:

It's usually best to put the loco right on the rails, not rollers for programming.

Have clean track and wheels.

Slide the loco back and forth a bit to make the contact good, the wheels settle to the track

Sometimes you have to turn off the motor and lights to get a good environment.

Read the loco first... if you can't read the info from the loco, I would not try programming it.

To enhance the "sound of power":

This is QSI's term for the variation in sounds based on load.

You need CV3 and CV4 set to some value. Setting them higher helps accentuate the changes in engine sound under load. Start with 50 in cv3 and 25 in cv4.

Note that the momentum button on the NCE trys to set both, but in "read-back" mode, the QSI stops listening while reporting Cv3, and misses the cv4 setting. (if you turn off the readback, it work?)

This works in consist mode with cv23 and cv24 when in a consist (cv19 not 0)

Setting scale speed

You can calibrate your reported SMPH with the BEMF to Scale MPH Trim Register, CV 56.9, defaults to 128. Increase if report is too slow, decrease if report is too fast.

You trigger the speed announcement with F10.

BEMF / "auto" chuff programming

I have used the "BEMF" "auto chuff" feature, where the chuff is triggered by the actual rpm of the motor. (The QSI reads the actual transitions of the brushes on the commutator segments).

To set the BEMF synchronized "auto chuff" set CV 56.0 bit 4 to zero. Set it to 1 if you use a chuff cam. Normally the entire CV is all zeros or 1, but you should look at the manual at some point to understand what CV 56.0 does.

When you want to  "tune" the "auto chuff", it may help to change the normal chuff sound to a shorter sound, so you can get the unit to precisely 4 (or 2) chuffs per driver revolution.

To do this, set CV 56.0 bit 3 to 1. This mode changes from the normal chuff sound to a short air release sound.

When I adjust the chuff settings, I have been fine with the standard chuff sound, I just put the loco on rollers and watch the drivers.

When tuning, start the loco running, at about speed step 8 or slow enough that you can count the chuffs per revolution. Hint: start counting and watch the counterweight. It's easier to do this on rollers.

The Chuff interval Scale Factor is CV 56.12, defaults to 32, usually good for 4 chuffs per wheel revolution, 43 is 3, 64 is 2, 128 is 1

Chuff Interval Trim is CV 56.13 , set to determine interval between chuffs. the larger the number, the slower the chuffs. Default 128, more for faster, less for slower. This is the fine adjust as opposed to CV 56.12

You can change CV 56.12 while the loco is running. Once you set cv 49 to 12, you can just set 56 over and over to fine tune the setting. It's a lot easier than it sounds.

Programming direction and long address interaction

Back in October 2007, a user found a situation where changing the direction bit after setting a long address killed the sound output, and or the decoder stopped responding. A full reset got it back to ground zero. I had a similar reaction in a QSI decoder, but did not remember the sequence of commands. I need to see if this has been resolved. For now, set your direction BEFORE you set and use a long address.

Cool tip for programming on the main:

Write a value to CV64, like 29. The decoder will announce the value. If it is an indexed register, write register 49 (and 50 if needed) first, then cv64.

Also, there is a register to read back information about the firmware in the unit:

CV 56.255 will read back (depending on what you put in 56):

“0” = Play Product Model. You will hear the Product Model number (e.g. “300” or “400”). This identifies the ocomotive model and the sounds programmed into the software.

“1” = Play Firmware Version. You will hear three sets of numbers separated by the word “point”. The first umber is the major version number, the second is the minor version number, and the third is the build umber (e.g. “seven point one point five” means Major Version 7, Minor Version 1, Build Number 5).

“2” = Play Firmware Build Date. This is the date the software was created. You will hear three sets of umbers, each separated by a pause. The first number set is the month, followed by the day of the onth, followed by the year (e.g. “six” pause “one five” pause “zero two” means June 15, 2002).

“3” = Play Hardware Profile number.

“4” = Play Sound Set number. This number identifies variations on the sounds programmed into the software or a model. The original firmware for a model has Sound Set number “0”.

“5” = Play Firmware Last Modified Date. This is the date the software was modified by a program such as 2Upgrade. You will hear three sets of numbers, each separated by a pause. The first number set is the onth, followed by the day of the month, followed by the year (e.g. “six” pause “one five” pause “zero
two” means June 15, 2002).


Reset command

56.128.255 = 113 - full reset  (113 is the manufacturer id, just for reference)

Notes on the RDC sound file:

This is a special file with some tricks to accommodate the "automatic transmission" (the RDCs had a single speed transmission with a torque converter)

The only volume you can't change in Cut & Paste is the motor volume.


Titan: Bell

There are 2 bells in the Titan, standard and hand pull.

As opposed to selecting individual bells from a long list like the Revolution, in the Titan you can change the ring rate.

Titan: equalizer

There is a 7 band equalizer, need to try out


Atmospherics, need to try out

Titan: chuff calibration

(this should be a separate section)




Weather Underground PWS KCACARLS78