QSI Titan

(remember: links to sub-pages at the bottom of this page)

click to jump to the bottom


QS Industries built a new ASIC and based their Titan series on it. QS Industries makes a Titan-U / Titan-UW (W is wired) for HO, and a Titan-DO for 2 rail O scale. Tony Parisi, of Tony's Trains came up with the idea for a G scale decoder called the Quantum Revolution to fit the Aristo socket, and later updated it to have the "Titan" chip.

In June 2012, QSI Solutions was in production of the G scale "Titan", the successor to the popular QSI Quantum Revolution (Yes Aristo used the same name too).

As of 2019, QS Industries sells the HO and O decoders, but the manufacturing and sale of the G scale Titan stopped as QSI Solutions (Started by Tony, and later purchased by Josh) ceased activities.

The picture below shows the top of the Titan decoder, with tons of screw terminals, no more itty bitty plugs and sockets.

The picture below shows the side view. The power transistors are on the second board, and you can see the Aristo socket pins (that also fit some of the Bachmann stuff)

The picture below shows the bottom board, which has the power transistors: (4 of which are used as a full wave bridge)

A few decoders ready for installation

When the original G scale QSI hit the market, it sold like hotcakes. It had a lot of features, great sound and low price.

Well, the Titan was likewise another "Quantum" improvement, although not everyone "gets it".

All the QSI's have extremely full featured sound and sounds that change according to the ACTUAL load on the locomotive. In addition the QSI reads the ACTUAL motor RPM so you can get your chuff rate synchronized with the actual driver rotation.

The Titan adds more features:

  • Double the "resolution" of the sound, (higher digitizing rate)
  • Stereo sound (more later) with 2 independent speaker outputs
  • 12 lighting outputs
  • high current output to drive a smoke unit heater directly
  • ability to pulse a smoke unit fan in sync with chuffing
  • "Emulator Technology" for simulating the prime move (more later).

All in all a ton of improvements.

"Stereo" Sound

At first, I thought this was a gimmick, that other than running 2 speakers for locos with 2 prime movers, it was just "marketing". Well, that was until I heard what you could do with it, and how different a loco with 2 speakers sounds.

Many people will likewise pooh pooh this until they hear it. For the open minded: the 2 speakers just makes any sound more realistic by giving you the ability to "place" the sound. Remember the first time you heard a REALLY good home stereo?

Another advantage is using the fader controls to put one sound more in one speaker than the other. Put 2 speakers in a diesel, one near the middle and one near the cab... now use the fader control for the horn and make it come out of the cab only. It DOES make a difference.


There were 3 versions:

1. The "standard" Aristo unit, with pins for the socket.

2. The "magnum" version with no pins, for a completely hardwired install

3. The "Bachmann" version to accommodate the modified socket that Bachmann has seen fit to create.

The 10 amp "version" comes with a fan, but the hardware is the same.

There are 4 FETs that have D1-D4 silkscreened, they are S1045 10 amp Schottky diodes, used to rectify the DCC track power.

Q2, Q10, Q11 are IR LR2905Z, 60 amp mosfets

Q1 and Q9 are 50 amp mosfets

The diagram below is a nice reference of what connects to what. The default mapping of lighting ports matches the LED number.

table of pinouts:


1 Right Track 
2 Right Track 
3 Motor Minus 
4 LED 1 - Front Headlight 
5 Chuff Cam inputenable connect to ground
6 +DCvrectified and somewhat filtered from track power NOT necessarily 18v !!
7 groundassume from dcv pin 6, NOT COMMON!
8 LED 12 - smoke heater power to smoke heating element, open collector (need current rating)
9 LED 2 - rear headlight 
10 motor plus 
11 right track 
12 right track 
1 front speaker + 
2 chuff 2 cam / brake squeal ground to activate
3 front speaker - 
4 rear speaker + 
5 rear speaker - 
6 reed switch reset ground to activate
7 bell trigger ground to activate
8 LED 3 
9 grade crossing ground to activate
10 LED 9 usually used for firebox flicker, used to modulate smoke fan (minus)
11 LED 10 
12 LED 4 
1 LED 5 
2 LED 6 
3 LED 7 
4 LED 8 
8 LED 11 
10 Cooling fan minus 
11 +5 volt output 
12 charge control for use with Lenz power 3



Nice to have 2 terminals for track pickup wires, since you often have 2 trucks, or a loco and a tender, the terminal screws are small, but the slotted heads are an improvement

when reading back CVs with high and low bytes, you need to use the low byte to read back with the cv64 thing

If you have the status readback set up so that the Titan does a verbal acknowledgement of  CV programming, if you program something that cannot be set, then it will either not announce at all, or if it's an "illegal" index, then you won't get the part of the announcement

I noticed that it only takes one press of F6 to wake up the loco after placing on the track, not 2 of them as in previous QSIs. Conversely, after a shutdown with F9, it might take 3 F6's to start up.

The 2 F9's used to work, but were taken out of the firmware in August because people kept putting their units in "disconnect".. too bad... I want that feature back.

The automatic steam noise of having the cutoff valve open at start does not last as long as the old QSI which was pretty obnoxious.

similar to the HO Titan CV56.4 can only be set to 0 = Standard Throttle or 1 = RTC

Setting chuff rate:


The Titan does not use CV56.12 or CV56.13 for chuff calibration like the Q2 QSI.

Titans use:

CV56.7.0-1    MPH/BEMF Ratio

56.7.0 = low byte
56.7.1  = high byte

CV56.14      Chuffs per revolution = default at 4

CV56.26.0-1  Scale wheel Diameter in hundredths of an inch.

56.26.0 = low byte
56.26.1 = high byte

"New Math:"

To make things more difficult, you have to enter the MPH ratio and Scale Wheel diameter values in 2 separate CV's.

Basically you split the number into 2 pieces, and enter the 2 pieces into the 2 CV's

A value is split into a "low" byte and a "high" byte. (byte is a computer term for a number that goes to a maximum of 256)

To create these 2 "bytes" you take your original number and do the following calculation:

High Byte:

(we will do the example of the scale wheel diameter for an Aristo Mikado/Consolidation/Mallet)

The scale wheel diameter is 5510 (hundredths of an inch)

divide the number by 256, and take the integer value = 5510 / 256 = 21.52, so the integer part, is 21, so your high byte is 21

Low Byte:

The low byte is what is left over after taking the "high byte" out of the original number.

The high byte is 21, now multiply it times 256 = 5376

Take the original number minus the "high byte" and you get the low byte:

5376 - 5510 = 134


Note: When programming, the system will read out a value when you enter the low byte, and will only say "CV fifty six" when you enter the high byte, but you MUST enter the high byte after the low byte each time.


Set Chuffs per revolution

CV56.14 Chuffs per rev.  = default at 4


Set the scale wheel diameter

CV56.26.0-1 Scale wheel Diameter  low  byte is 0, high byte is 1, Note: the units of measure are in hundredths of inches, i.e. 80 inches would be 8000 hundredths.

For example, the Aristo Consolidation has wheels that measure, 1.9" which scales to 55.1 inches, that makes 5510 hundredths.... high byte is 21 , low byte 134

This means you set 56.26.0 = 134, and 56.26.1 = 21


Set the chuff rate by setting the ratio between the motor speed and the scale miles per hour (like a gear ratio)

Set the chuff rate by setting CV56.7.0-1 MPH/BEMF Ratio

Note: the larger the number, the more chuffs per revolution

Example: Aristo Consolidation was 192 low byte, and 1 high byte, ratio 0.045

You have to "play" with these values... put the loco on rollers and tweak the values when it is running. Start with high byte 1 and play with the low byte settings. If it does not get there, go to high byte of zero and play with the low byte.


"Normal" smoke on off control:

If you connect a "normal" smoke unit that runs from track voltage, you connect it to J1 pins 8 and 10. If your smoke unit is polarity sensitive (most are not) the plus pin is pin 6.

By default, this output is in a lighting group controlled by DCC function 12.


"Direct Drive" Smoke:

I call it this because the decoder is driving the smoke and fan directly, like MTH has always done, and Zimo does.

You need a current model USAT smoke unit, or a MTH unit, or a modified Aristo unit.

You drive the heater and fan directly from the decoder.

At this time, there are no "dedicated" smoke unit CV's or feature codes.

The fan is driven by a pulsed 5 volts from J2 pin 10, (5 volt supply is J3 pin 11) reference diagram above

The smoke heater element is driven from J1 pin 8, (track voltage supply is J1 pin 6)

F12 turns smoke on and off as above.

The feature for firebox flicker "drives" the fan, and the feature for rear cab light "drives" the smoke unit

See the Titan smoke page (right under this one on the menu on the left)

BEMF PID settings:

In BEMF control, there are 3 parameters, P, I, and D that control the BEMF behavior, and there are 4 speed ranges that you can set different parameters. This is pretty tweaky stuff, normally you don't have to touch these, especially with the new Titan. QSI made a big change in how they measure BEMF over the previous QSI models.

The CV's to set thes 3 values in all 4 speed ranges are below:


Speed Range #PID


There's a procedure that QSI uses to really characterize a loco motor. Loco Lee and Fred Severson (the "S" in QSI)  did some extensive testing on Aristo E8's, here's what they got (in the same order as the table above


Speed Range #PID


I tried these out and they worked great. Most people can just leave the stock settings alone, but this adds a little more low speed control and smoothness.

Remember to turn BEMF on, most default files come with the STC enabled, not the RTC, which is what you need to apply BEMF to the running.

CV 56.4 is used to set STC or RTC, = 0 for STC, and = 1 for RTC


More settings from fine tuning: (I'll document and explain these later)

56.5 = 18
cv 2 = 3
56.6 = .3 seconds
bemf ratio =56.7.0-1    .54 ....
bemf offset  56.8  .25
error in speed recording at 30 mph is 1%


Lighting port control: (not completed yet, still notes to mysef here, so take everything as preliminary data)


Diesel: Need to double check steam but this perfectly matches the Titan U configuration for diesel so I assume it will be the same for steam. 

Will confirm shortly.

The LED number on the drawings matches the port number in the documentation.

Port 1: HL

Port 2: RL

Port 3: Front Mars

Port 4: Rear Mars

Port 5: Front Left DL

Port 6: Front Right DL

Port 7: Rear Left DL

Port 8: Rear Right DL

Port 9: Front OHBL (set for strobe)

Port 10: Rear OHBL (set for strobe)

Port 11: Not assigned by default (need to modify for smoke use)

Port 12: Not assigned by default (=)



Verified same as Titan U.

Port 1: HL

Port 2: RL

Port 3: Front Mars

Port 4: Front number boards

Port 5: Front Markers

Port 6: Rear Markers

Port 7: Front cab light

Port 8: Rear cab light

Port 9: Firebox 1

Port 10: Firebox 2

Port 11: Not assigned by default

Port 12: Not assigned by default.


As I had mentioned all the lights are grouped into multiple light sets. 

There are 3 assignable lighting groups.


Multiple Lights 1 is controlled by F0 and contains:



Reverse Light

Mars Light




Mars Light (front and rear)

Ditch Lights (front and rear)

OHBL (front and rear)


Multiple Lights 2 is not assigned to a function by default (was F11 on Q1a before support for alternate horn was added) and contains:


Front Number Boards

Marker Lights (front and rear)


Number Boards (front and rear)

Marker Lights (front and rear)


Multiple Lights 3 is not assigned to a function by default (was F12 in previous versions until support for smoke was added) and contains:


Cab Lights (front and rear)

Firebox lights 1&2


Cab Lights (front and rear)


If you'd like to assign these to functions we have F16-25 with nothing assigned to them currently. We can certainly start using these functions if you like.

The default behavior for the cab light is to come on automatically if the locomotive is in NFF/NFR. After accelerating the cab light will stay on for 10 seconds and then fade out. The behavior works in reverse when you come to a stop, the light will remain off until the loco has been stopped for 10 seconds and then come on bright. There is no discreet control over the cab light unless it is assigned by the user.

There is no discrete function to turn on or off the fire. We're operating under the real world idea that if the loco is fired up, the firebox is glowing. You can change the programming to give it a button to turn it on and off, but again, seems a little unrealistic.




  Titan Sound Files  Titan Smoke  Titan Versions  Titan Programming Tips 
   Titan advanced function mapping   Titan Lighting effects 
Weather Underground PWS KCACARLS78