Tesla Model S/X DC/DC Converter

From openinverter.org wiki
Jump to navigation Jump to search


The Tesla Model S/X GEN2 DC-DC Converter is a popular candidate for EV conversions. It was first available in the Model S around Jan2014, and later in the Model X. It is located in the frunk area near the cowl.

It is not to be confused with the earlier GEN1 DC-DC Converter, whose casing was of a kidney-shape, was located in the RF fenderwell against the firewall, and it incorporated functions of the front HVJB; it contains fuses for the coolant heater, cabin heater, and air-condition compressor, and servicing these fuses was never supported by Tesla (though is frequently performed in the aftermarket), so it developed a reputation for being unreliable due to frequent replacement for blown fuses. Though the hardware connections are different between GEN1 & GEN2, they both use the same (5) wired connections with the same functions, and the CAN commands appear to (may be) the same.

Tesla Model S GEN2 DC-DC Converter



HV connector: KET MG655776 type D

HV+ (positive) line is the one on the leftmost - opposite side of the red 12v output bolt.

Minimum required wiring for basic unit function: Seven wires from left):(2) HV Input, (1) HW Enable, (2) CAN (if voltage control is needed), (3) 12VDC Output
CAN lines are pins 2 & 3.

Note, be careful about which connector you get when salvaging this connector from Telsa wiring harnesses. Specifically, you want the key D variant.

  • Orange (A/C): MG655773 (key A)
  • Gray (fluid heater): MG655774 (key B)
  • Brown (PTC heater): MG655775 (key C)
  • Blue (DC-DC): MG655776 (key D)

Donor Harness: Tesla OE/OEM Part Number: 1032804-00-A has two Blue DC-DC plugs.

Pinout for LV connector is written on the board
Pinout for LV connector is printed on the board.

LV & Signalling

LV connector: Molex 0334721301

LV connector (top row)

  • Pin 1 : HW-EN (Enable ("turn on") via applying 12v+ )
  • Pin 2 : CAN H
  • Pin 3 : CAN L

The remaining pins are for the HVIL loop, and can be ignored if desired, as they do not affect the unit's function.



Although CAN control is an option, it is not necessary as the unit will run comfortably in failsafe mode (i.e. without any CAN input). Supply 12V to HW-EN (pin 1 on Molex plug), ground the case to the chassis, and the converter starts spitting out 13.5V. It has been mentioned that under heavy load the voltage may sag, so to enable CAN control see this OI forum thread.


Two CAN MsgIDs are documented for this unit. When working with CAN, in some contexts, you need to know the hex (0x) or the decimal (0d) equivalent, eg DBC files and some CAN software requires 0d format, so both are given below:

  • 0x03D8 (0d984) : Input: Commands to the unit (3 bytes)
  • 0x0210 (0d528) : Output: Status Reporting from the unit (7 bytes)

Commands (0x03D8, 0d984)

This CAN command payload is 3 bytes, and must be sent at 500ms intervals.

The first 10 bits (0-9, little-endian format) in the message encodes the output voltage. The following bit is the DC/DC enable bit[1]:

  • Byte 0 + Byte 1[0-1] (10 bits total) : (desired voltage - 9) * 146)
  • Byte 1[2] = Enable DC output (must be 1 to enable output)
  • Byte 1[3-7] : Unknown
  • Byte 2 : Unknown

If 14.4V is desired:

  • Subtract constant 9 from 14.4v = 5.4
  • Multiply 5.4 by constant 146 = 788.4
  • Convert 788.4 to hex = 0x0315 (expressed as individual bytes: 0x03 0x15)
  • Convert to little-endian format = 0x15 0x03
  • Add 4 to the second byte, to enable DC output = 0x15 0x07
  • Pad with zero byte to assemble the required 3-byte payload: 0x15 0x07 0x00
  • Prefix with the command MsgID 0x3D8 : 0x03D8 0x15 0x07 0x00
  • Send the MsgID + data payload

Status Reporting (0x0210, 0d528)

The data is comprised of 7 bytes, which is transmitted at 100ms (10Hz) intervals:

  • Byte 0 = Status bits (bit 0 = Heater shorted, 1 = Over temperature, 2 = Output under voltage, 3 = Bias Fault, 4 = Input not OK, 5 = Output over voltage, 6 = Output current limited 7 = Heater open circuit)
  • Byte 1 = Status bits (bit 0 = Coolant request, 1 = Current thermal limit, 2 = Output voltage regulation fault, 3 = Calibration factor fault)
  • Byte 2 = coolant inlet temp (0.5C scale, -40 offset)
  • Byte 3 = input power (16 W/bit),
  • Byte 4 = output current (1 A/bit),
  • Byte 5 = output voltage (0.1 V/bit)

Note Status Reporting does not work if HW-EN line is not high.

Jason Hughes (wk057) posted this DC-DC Converter CAN Status Reporting information[2] in Jan2016:

Tesla Model S DC-DC Converter CAN information by Jason Hughes, (wk057), Jan2016.
Tesla Model S DC-DC Converter CAN information by Jason Hughes, (wk057), Jan2016.

The "CAN3" above refers to the specific CAN bus on the early Tesla Model S, which had (5) (later, (6)) CAN buses. CAN3 is the Powertrain CAN bus.

DBC example #1[3] for 0x0210 0d528 (unverified, possibly wrong or incomplete as it does not match above, but firmware revisions change items frequently):

   BO_ 528 DC_DC_Converter_Status: 7 CAN3

      SG_ Inlet_Temperature: 16|8@1- (0.5,40) [0|0] "C" TBD

      SG_ Input_Power: 24|8@1+ (16,0) [0|0] "W" TBD

      SG_ Output_Current: 32|8@1+ (1,0) [0|0] "A" TBD

      SG_ Output_Voltage: 40|8@1+ (0.1,0) [0|0] "V" TBD

      CM_ BO_ 528 "DC-DC Converter Status [10Hz]";

DBC example #2[4] for 0x0210 0d528 (unverified, possibly wrong or incomplete as it does not match above, but firmware revisions change items frequently):

   BO_ 528 DCDC_statusPartial: 2 ETH

      SG_ DCDC_outputCurrent: 0|8@1+ (1,0) [0|0] "A" X

      SG_ DCDC_outputVoltage: 8|8@1+ (0.1,0) [0|0] "V" X