<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://openinverter.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Collin80</id>
	<title>openinverter.org wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://openinverter.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Collin80"/>
	<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/Special:Contributions/Collin80"/>
	<updated>2026-04-28T17:47:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_3_Charger/DCDC_(%22PCS%22)&amp;diff=5031</id>
		<title>Tesla Model 3 Charger/DCDC (&quot;PCS&quot;)</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Tesla_Model_3_Charger/DCDC_(%22PCS%22)&amp;diff=5031"/>
		<updated>2024-10-17T00:56:10Z</updated>

		<summary type="html">&lt;p&gt;Collin80: /* Limitations/quirks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The Tesla Model 3 has a &amp;quot;Power Conversion System&amp;quot; (also known as the &amp;quot;PCS&amp;quot;) which contains both a 10kW AC charger and a ??W DCDC converter. The PCS is located inside the &amp;quot;Penthouse&amp;quot; part of the main traction battery system.&lt;br /&gt;
&lt;br /&gt;
== Learning/Resources ==&lt;br /&gt;
Video - The Tesla Project : Model 3 PCS First Look - https://youtu.be/_TYvSmDJSPQ&lt;br /&gt;
&lt;br /&gt;
Video - Tesla Model 3 Power Conversion System - https://youtu.be/3ARHdRwfxjY&lt;br /&gt;
&lt;br /&gt;
OpenInverter PCS overview/tech thread: https://openinverter.org/forum/viewtopic.php?f=10&amp;amp;t=171&lt;br /&gt;
&lt;br /&gt;
OpenInverter PCS controller support thread: https://openinverter.org/forum/viewtopic.php?p=27744#p27744&lt;br /&gt;
&lt;br /&gt;
Damien&#039;s GitHib: https://github.com/damienmaguire/Tesla-Model-3-Charger&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting/Seeking help ==&lt;br /&gt;
If you encounter issues with the PCS, it&#039;s generally good practice to collect the following information and [https://openinverter.org/forum/viewforum.php?f=10 create a thread on the forums] with a description as detailed as you can be about the problem&lt;br /&gt;
&lt;br /&gt;
All of these instructions are also available in a [https://youtu.be/RYCl0ZL4cG4 youtube video demo by damien]&lt;br /&gt;
&lt;br /&gt;
# model year of the car it came out of&lt;br /&gt;
# any serial numbers on the penthouse or pcs itself, from stickers or identifying  markings&lt;br /&gt;
## Located on the top, above the high voltage connection plug, should be a rectangular white sticker with two numbers that begin with &amp;quot;DEV-&amp;quot; and &amp;quot;SDEVR-&amp;quot;&lt;br /&gt;
# firmware version on the pcs &lt;br /&gt;
## In the web interface, this is listed in the &amp;quot;version&amp;quot; row under the &amp;quot;spot values&amp;quot; header, for example &amp;quot;1.16.R&amp;quot;&lt;br /&gt;
##* &#039;&#039;edit, this may just be the firmware version of the PCS controller itself&#039;&#039;&lt;br /&gt;
# a dump of parameters from the controller &lt;br /&gt;
## In the web interface, under the parameters section, there&#039;s a link to &amp;quot;download parameters file&amp;quot;&lt;br /&gt;
# A list of all alerts generated in the alert log&lt;br /&gt;
## First, enable the alert log system, by selecting &amp;quot;on&amp;quot; next to the row labeled &amp;quot;AertLog&amp;quot; under the &amp;quot;general&amp;quot; subsection under Parameters&lt;br /&gt;
## View the first saved alert by putting 0 into the Alerts row box and hitting enter, then hitting refresh on the top right, then scrolling down to the &amp;quot;PCSAlerts&amp;quot; row within the &amp;quot;spot values&amp;quot; section. This shows the first alert. To see other alerts, repeat by entering 1, 2, 3 etc  into the Alerts row box and hitting enter+refresh again&lt;br /&gt;
## to see the total number of alerts you can scroll down to &amp;quot;PCSAlertCnt&amp;quot; in the &amp;quot;spot values&amp;quot; section, note that only 10 alerts can be stored at a time.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
Damien from EVBMW has designed a control solution which is open source hardware and software. Design files for the controller hardware and software sources are available on Damien&#039;s GitHub [https://github.com/damienmaguire/Tesla-Model-3-Charger here]. Controllers are also available as a fully-built kit (with pre-loaded software) on the EVBWM webstore&amp;lt;ref&amp;gt;https://www.evbmw.com/index.php/evbmw-webshop/tesla-boards/tesla-model-3-pcs-con (Backup: [http://web.archive.org/web/20221016211810/https://www.evbmw.com/index.php/evbmw-webshop/tesla-boards/tesla-model-3-pcs-con Web Archive])&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Data Connector on PCS (12-way) ===&lt;br /&gt;
&#039;&#039;EDITOR&#039;S NOTE: my research shows some conflicting/different part numbers mentioned - would appreciate some clarification here once validated&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As per: https://openinverter.org/forum/viewtopic.php?p=26614#p26614&amp;lt;blockquote&amp;gt;&#039;&#039;The connector used for communications with the PCS:&#039;&#039; &amp;lt;ref&amp;gt;https://www.te.com/global-en/product-1379662-5.html (Backup: [http://web.archive.org/web/20221016212020/https://www.te.com/global-en/product-1379662-5.html Web Archive])&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://www.mouser.ie/ProductDetail/TE-Connectivity-AMP/1379662-1?qs=yDt3hdeEHFPzMcXLhRNNtw%3D%3D (Backup: [http://web.archive.org/web/20221016212258/https://www.mouser.ie/ProductDetail/TE-Connectivity-AMP/1379662-1?qs=yDt3hdeEHFPzMcXLhRNNtw%3D%3D Web Archive])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pins:&#039;&#039; &amp;lt;ref&amp;gt;https://www.mouser.ie/ProductDetail/TE-Connectivity/1801069-2?qs=sGAEpiMZZMvlX3nhDDO4AIlVXMSSZRpGH8WODUA4Ad4%3D (Backup: [https://web.archive.org/web/20221016212418/https://www.mouser.ie/ProductDetail/TE-Connectivity/1801069-2?qs=sGAEpiMZZMvlX3nhDDO4AIlVXMSSZRpGH8WODUA4Ad4%3D Web Archive])&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;In true Muskian fashion it seems they use the 1379662-5 natural color variant of the plug which has no coding tabs. It is of course unavailable from mouser. The black and green variants are functionally identical and should work with coding tabs removed.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[File:PXL 20231125 230415175~2.jpg|thumb|annotated view of PCS data connector viewed from the front]]&lt;br /&gt;
However, as per: https://github.com/muehlpower/EV-FFB, there is also mention of 1318774-1 (white) or 1318774-2 (black) for the comms/data connector.&lt;br /&gt;
[[File:V3 PCS controller pinout diagram.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Power Connectors ===&lt;br /&gt;
The power-side connector assemblies are not widely available. The housings are a Tesla internal part (photos/part numbers [https://openinverter.org/forum/viewtopic.php?p=27744#p27744 here]), however, 3D printable housings have been made available [https://github.com/muehlpower/EV-FFB here]. The terminals also aren&#039;t widely available, but are known. As per https://github.com/muehlpower/EV-FFB:&lt;br /&gt;
&lt;br /&gt;
Note: the US variant of the charger (1-phase) has a different AC pin layout; see photo for reference.&amp;lt;blockquote&amp;gt;&#039;&#039;The contacts for 400V are Uni F630 from MTA, part number 1107940. For 12V Kostal PLK 14.5, part number 23124734300. The connector for the data is from TE connectivity, part number 1318774-1 for white or 1318774-2 for black.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
[[File:Model 3 US charger variant AC connector.png|thumb|AC connector pinout for US Model 3 PCS (1-phase)]]&lt;br /&gt;
&lt;br /&gt;
=== Connections ===&lt;br /&gt;
[[File:Tesla PCS Connection diagram 8162022.png|thumb]]&lt;br /&gt;
The minimum wiring needed to wake the PCS:&lt;br /&gt;
&lt;br /&gt;
# PCS controller connected to PCS via 12-way X420&lt;br /&gt;
# PCS controller is powered via 20-way +12V input pin and grounded to chassis via 20-way ground pin&lt;br /&gt;
# +12v and Chassis ground applied to PCS 12v Connector input terminal&lt;br /&gt;
# Chassis ground on the PCS case&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Current Version ===&lt;br /&gt;
The current version of the PCS firmware can be found here: https://github.com/damienmaguire/Tesla-Model-3-Charger/releases&lt;br /&gt;
&lt;br /&gt;
The current firmware will auto detect what Tesla firmware is installed on the PCS and adjusts the CAN messages accordingly (different versions of the PCS firmware from Tesla have different CAN requirements, &#039;&#039;&#039;if you encounter strange performance from the PCS it could have a different firmware version than expected&#039;&#039;&#039;, see troubleshooting section). It will also auto detect if the PCS is EU or US spec and whether single or three phase AC is connected. It also includes an integrated alert logging function to help diagnose any issues the PCS sees. &lt;br /&gt;
&lt;br /&gt;
=== Alerts Logging ===&lt;br /&gt;
The PCS has an array of potential alerts to help diagnose issues. The images below show a matrix of potential alerts&lt;br /&gt;
[[File:PCS Alert Table001.jpg|thumb]]&lt;br /&gt;
[[File:PCS Alert Table002.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
Initially alerts had to be identified through CAN logs (PCS IPC CAN). In later firmware releases, the PCS web interface incorporated  a decoder to help identify alerts (decimal number identifier relating to the alert tables shown here). In the current version of firmware, the alerts are now displayed in word format to make it easier and quicker to troubleshoot.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Below is a list of all alert codes the PCS can generate, with associated error code number, and plain text descriptions of what each one means&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
|+ class=&amp;quot;no wrap&amp;quot; | Alert Codes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Error code / name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Error description&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 01&lt;br /&gt;
| chgHwInputOc || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 02&lt;br /&gt;
| chgHwOutputOc|| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 03&lt;br /&gt;
| chgHwInputOv|| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 04&lt;br /&gt;
| chgHwIntBusOv|| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 05&lt;br /&gt;
| chgOutputOv|| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 06&lt;br /&gt;
| chgPrechargeFailedScr|| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 07&lt;br /&gt;
| chgPhaseTempHot|| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 08&lt;br /&gt;
| chgPhaseOverTemp|| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 09&lt;br /&gt;
| chgPfcCurrentRegulation|| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10&lt;br /&gt;
| chgIntBusVRegulation || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 11&lt;br /&gt;
| chgLlcCurrentRegulation || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 12&lt;br /&gt;
| chgPfcIBandTracerFault || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 13&lt;br /&gt;
| chgPrechargeFailedBoost || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 14&lt;br /&gt;
| chgTempRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 15&lt;br /&gt;
| chg12vUv || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 16&lt;br /&gt;
| chgAllPhasesFaulted || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 17&lt;br /&gt;
| chgWallPowerRemoval || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 18&lt;br /&gt;
| chgUnknownGridConfig || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 19&lt;br /&gt;
| acChargePowerLimited || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 20&lt;br /&gt;
| chgEnableLineMismatch || &amp;quot;Charge Enable Line Mismatch&amp;quot;, Charger was commanded to start over CAN, but the enable line hasn&#039;t been correctly brought up&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 21&lt;br /&gt;
| hvpMia || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 22&lt;br /&gt;
| bmsMia || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 23&lt;br /&gt;
| cpMia || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 24&lt;br /&gt;
| vcfrontMia || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 25&lt;br /&gt;
| cpu2Malfunction || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 26&lt;br /&gt;
| watchdogAlarmed || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 27&lt;br /&gt;
| chgInsufficientCooling || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 28&lt;br /&gt;
| chgOutputUv || The charger was commanded to start, but the AC high voltage is less than what is required to actually charge&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 29&lt;br /&gt;
| chgPowerRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30&lt;br /&gt;
| canRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 31&lt;br /&gt;
| uiMia || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 32&lt;br /&gt;
| unused || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 33&lt;br /&gt;
| hvBusUv || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 34&lt;br /&gt;
| hvBusOv || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 35&lt;br /&gt;
| lvBusUv || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 36&lt;br /&gt;
| lvBusOv || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 37&lt;br /&gt;
| resonantTankOc || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 38&lt;br /&gt;
| claFaulted || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 39&lt;br /&gt;
| sdModuleClkFault || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 40&lt;br /&gt;
| dcdcMaxPowerReached || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 41&lt;br /&gt;
| dcdcOverTemp || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 42&lt;br /&gt;
| dcdcEnableLineMismatch || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 43&lt;br /&gt;
| hvBusPrechargeFailure || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 44&lt;br /&gt;
| 12vSupportRegulation || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 45&lt;br /&gt;
| hvBusLowImpedance || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 46&lt;br /&gt;
| hvBusHighImpedence || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 47&lt;br /&gt;
| lvBusLowImpedance || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 48&lt;br /&gt;
| lvBusHighImpedance || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 49&lt;br /&gt;
| dcdcTempRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 50&lt;br /&gt;
| dcdc12VsupportFaulted || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 51&lt;br /&gt;
| chgIntBusUv || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 52&lt;br /&gt;
| acVoltageNotPresent || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 53&lt;br /&gt;
| chgInputVDropHigh || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 54&lt;br /&gt;
| chgInputVDropTooHigh || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 55&lt;br /&gt;
| chgLineImedanceHigh || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 56&lt;br /&gt;
| chgLineImedanceTooHigh || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 57&lt;br /&gt;
| chgInputOverFreq || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 58&lt;br /&gt;
| chgInputUnderFreq || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 59&lt;br /&gt;
| chgInputOvRms || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60&lt;br /&gt;
| chgInputOvPeak || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 61&lt;br /&gt;
| chgVLineRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 62&lt;br /&gt;
| chgILineRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 63&lt;br /&gt;
| chgVOutRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 64&lt;br /&gt;
| chgIOutRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 65&lt;br /&gt;
| chgPllNotLocked || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 66&lt;br /&gt;
| dcdcHvRationality || The PCS is attempting to start up the DCDC converter, but there isn&#039;t any high voltage provided / Are the high voltage lines hooked up to the PCS correctly?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 67&lt;br /&gt;
| dcdcLvRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 68&lt;br /&gt;
| dcdcTankvRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 69&lt;br /&gt;
| chgPfcLineDidt || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 70&lt;br /&gt;
| chgPfcLineDvdt || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 71&lt;br /&gt;
| chgPfcILoopRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 72&lt;br /&gt;
| cpu2ClaStopped || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 73&lt;br /&gt;
| unexpectedAcInputVoltage || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 74&lt;br /&gt;
| hvBusDischargeFailure || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 75&lt;br /&gt;
| hvBusDischargeTimeout || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 76&lt;br /&gt;
| dcdcEnDeassertedErr || &amp;quot;DCDC enable, de-asserted error&amp;quot;, Artifact in the software caused by few milisecond delay between DCDC being commanded to shut down over CAN and the hardware line being disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 77&lt;br /&gt;
| microGridEnergyLow || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 78&lt;br /&gt;
| chgStopDcdcTooHot || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 79&lt;br /&gt;
| eepromOperationError || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 80&lt;br /&gt;
| damagedPhaseDetected || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 81&lt;br /&gt;
| dcdcPchgTimeout || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 82&lt;br /&gt;
| dcdcPchgUnsafeDiVoltage || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 83&lt;br /&gt;
| triggerOdin || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 84&lt;br /&gt;
| unused || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 85&lt;br /&gt;
| dcdcFetsNotSwitching || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 86&lt;br /&gt;
| dcdcInsufficientCooling || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 87&lt;br /&gt;
| nvramRecordStatusError || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 88&lt;br /&gt;
| pchgParameters || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 89&lt;br /&gt;
| hvBusDischargeIrrational || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90&lt;br /&gt;
| expectedAcVoltageSourceMissing || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 91&lt;br /&gt;
| chgIntBusRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 92&lt;br /&gt;
| chgPowerLimitedByBusRipple || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 93&lt;br /&gt;
| powerRailRationality || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 94&lt;br /&gt;
| pcsDcdcNeedService || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 95&lt;br /&gt;
| dcdcSensorlessModeActive || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 96&lt;br /&gt;
| microGridOverLoaded || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 97&lt;br /&gt;
| rebootPhaseDetected || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 98&lt;br /&gt;
| gridFreqDroopDetectedSilent || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 99&lt;br /&gt;
| microGridOverLoadedSilent || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 100&lt;br /&gt;
| microGridEnergyLowSilent || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 101&lt;br /&gt;
| phMachineModelIrrational || ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 102&lt;br /&gt;
| resetWithDCDCCmdAsserted || ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
=== First Power Up ===&lt;br /&gt;
&lt;br /&gt;
Set up to initially test connections between a PCS and the PCS controller are straightforward. This can be done without any HV DC battery or charging connected to the PCS. Once the PCS controller is connected to the PCS (follow the relevant V2 or V3 pin-outs) the basic steps are:&lt;br /&gt;
&lt;br /&gt;
#  Connect the PCS aluminium case to LV ground&lt;br /&gt;
#  Connect PCS controller ground wire to 12V ground&lt;br /&gt;
#  Connect PCS 12V power wire via a 5A fuse to +12V&lt;br /&gt;
#  Observe the PCS controller continuous 3.3V indicator red LED and the flashing activity red LED&lt;br /&gt;
#  Connect to the PCS controller wifi (SSID will be, for example , ESP-DC87FA) to view the web interface (v3 has a default IP address of 192.168.4.1). The interface will indicate that the PCS &#039;opmode&#039; is &#039;Off&#039; at this time&lt;br /&gt;
#  On the web interface, change &#039;inputype&#039; to &#039;Manual&#039; in the drop down menu and select refresh at the top of the screen&lt;br /&gt;
#  On the web interface, change &#039;activate&#039; to &#039;Both&#039;. This will tell the PCS to try start DC-DC and Charging if enabled (as above, these are not connected at this time so will generate alerts that will be mentioned further below)&lt;br /&gt;
#  On the web interface, change &#039;AlertLog&#039; to &#039;On&#039;. This will tell the PCS to show any alerts&lt;br /&gt;
#  To enable the PCS connect the PCS controller &#039;Input 1 (enable)&#039; wire to +12V and select refresh at the top of the screen. &#039;Opmode&#039; should now change to &#039;Run&#039; on the web interface to show the PCS is now operational&lt;br /&gt;
#  At this point, &#039;PCSAlertCnt&#039; will likely show a number indicating the number of alerts the PCS has flagged and &#039;PCSAlerts&#039; will show the first alert&lt;br /&gt;
# To see each alert separately, under General, change the number in the &#039;Alert&#039; option (0 indicates first alert and should be default) to the next sequential number and select refresh at the top of the screen. &#039;PCSAlerts&#039; will now show a description of the selected alert. Do this to step through each alert (total number indicated by &#039;PCSAlertCnt&#039;) &lt;br /&gt;
# Typical alerts with this configuration (no HV DC battery or charger interface connected) will be: 63chgVOutRationality, 66dcdcHVRationality&lt;br /&gt;
# Now the connections and communication with the PCS and controller are established, further testing can be carried out to check DC-DC and charging functionality. See below&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DC-DC First Test ===&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
=== AC Charging Test ===&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Limitations/quirks ===&lt;br /&gt;
* The PCS reacts poorly to small capacity 12v batteries, specifically its DC voltage regulation can behave erratically. Testing with a 60AH battery showed minimal fluctuation. Testing with four 18650 cells as the 12V battery showed violent fluctuation of over 1V. It is recommended to use a reasonably large capacity battery (likely 30-40AH or larger)&lt;br /&gt;
&lt;br /&gt;
* The PCS CANNOT be commanded to charge over canbus to the controller. It must be told to charge by setting input pin 1 to 12v high (or pin 2 for dcdc charging). This makes it incompatible with certain combinations of controllers and BMS&#039; such as the AEM vcu200 and the aem bms-18&lt;br /&gt;
&lt;br /&gt;
* The minimum recommended HV DC battery voltage for testing is 250V (This needs to be confirmed)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Confirmed Working Models ===&lt;br /&gt;
to date a number of PCS units have been tested and confirmed to work with the current firmware:&lt;br /&gt;
&lt;br /&gt;
* 1x 3p EU PCS from circa 2020 model year car&lt;br /&gt;
* 1x 1p US PCS from circa 2018 model year car. Running in BMW E46 touring conversion&lt;br /&gt;
* 1x 1p US PCS from circa 2020 model year car&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[Category:OEM]] [[Category:Tesla]] [[Category:Charger]] [[Category:DC/DC]]&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S_Battery_Heater&amp;diff=4365</id>
		<title>Tesla Model S Battery Heater</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Tesla_Model_S_Battery_Heater&amp;diff=4365"/>
		<updated>2024-01-10T01:21:07Z</updated>

		<summary type="html">&lt;p&gt;Collin80: Added more details about PWM duty cycle to the heater.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
Except for a Philips &amp;amp; Temro Zerostart mode used in early Model S production, the hydronic (fluid) heater for the Model S battery pack remains unchanged from 2015 and up. Originally this part was branded as LG (Tesla p/n 1038901-00-E through H), but from 2018 up (Tesla p/n 1038901-00-I through K) the unit appears the same but is now Tesla-branded. &lt;br /&gt;
&lt;br /&gt;
==Control==&lt;br /&gt;
The battery heater itself does not have any onboard control circuitry, however, it is controlled by the Model S front HVJB using PWM on the HV cables. For this reason, if you want to easily control the battery heater, a front HVJB is required. As mentioned in the [[Tesla Model S Front HVJB]] article, the control pins are on the Molex MX 150 plug found on this unit.&lt;br /&gt;
The LV connector on the bottom left side is a 12-pin Molex MX150 series (Molex p/n: [https://www.molex.com/molex/products/part-detail/crimp_housings/0334721201 33472-1201]). Only 6 of the 12 pins are populated, as follows:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+LV pinout[[File:Connector-Tesla-FJB.png|200x200px]]&amp;lt;small&amp;gt;(harness view)&amp;lt;/small&amp;gt;&lt;br /&gt;
!pin&lt;br /&gt;
!function&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|12V&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PWM in&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|STATUS out&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|HVIL in (not needed)&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|HVIL out (not needed)&lt;br /&gt;
|}&lt;br /&gt;
Control is done by applying a 12V PWM signal on pin 5 (PWM in). &#039;&#039;Note this must be a signal in the 12V range, a 5V PWM signal had no effect.&#039;&#039; Experimentally, some measure of control has been achieved at a frequency of 50Hz and two different ranges of duty cycle. From 20-30% duty cycle, the current increases fairly linearly though the minimum (20%) still draws a bit of power. However, from 30-40% the current &#039;&#039;decreases&#039;&#039; to nearly the same level as 20% duty cycle, but you are able to continue further, all the way to 45%, where the current decreases to the point where the heater draws very little power. Ultimately, not sure how useful this finding will be, but it&#039;s here for reference. The duty cycle for my (dlud) fhvjb was different. At 20-30% duty cycle no power was delivered to the heater. At 46% power was received and was maximum at 65%. Above 65% the power decreased. This was using a 50hz frequency.  &lt;br /&gt;
&lt;br /&gt;
Here are my (Collin80) findings. They match up reasonably close with DLUD: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Input Duty Cycle&lt;br /&gt;
!Heater Duty Cycle&lt;br /&gt;
|-&lt;br /&gt;
|20%&lt;br /&gt;
|OFF&lt;br /&gt;
|-&lt;br /&gt;
|30%&lt;br /&gt;
|2%&lt;br /&gt;
|-&lt;br /&gt;
|31%&lt;br /&gt;
|14%&lt;br /&gt;
|-&lt;br /&gt;
|33%&lt;br /&gt;
|22%&lt;br /&gt;
|-&lt;br /&gt;
|35%&lt;br /&gt;
|31%&lt;br /&gt;
|-&lt;br /&gt;
|38%&lt;br /&gt;
|46%&lt;br /&gt;
|-&lt;br /&gt;
|40%&lt;br /&gt;
|50%&lt;br /&gt;
|-&lt;br /&gt;
|44%&lt;br /&gt;
|61%&lt;br /&gt;
|-&lt;br /&gt;
|47%&lt;br /&gt;
|66%&lt;br /&gt;
|-&lt;br /&gt;
|50%&lt;br /&gt;
|60%&lt;br /&gt;
|-&lt;br /&gt;
|60%&lt;br /&gt;
|46%&lt;br /&gt;
|-&lt;br /&gt;
|65%&lt;br /&gt;
|31%&lt;br /&gt;
|-&lt;br /&gt;
|70%&lt;br /&gt;
|12%&lt;br /&gt;
|-&lt;br /&gt;
|75%&lt;br /&gt;
|OFF&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
This table was generated as follows: The input duty was generated by my own ECU control board. This is active HIGH, passive LOW. That is, the pwm to the front junction box was at 0v until PWM drove it to 12V. So, 30% input in this case means it was high 30% of the time. I used a PWM frequency of 50hz. The heater duty cycle was measured by a Fluke 289 meter connected to the power wires going to the heater. It appears that the ratio of input to output PWM is not linear. It also appears that the maximum PWM to the heater may be 66%.  &lt;br /&gt;
&lt;br /&gt;
TL;DR - 30% PWM is basically OFF. 47% PWM is as full on as it gets. This gives a range of 17% for adjustment. Or, 28% adjustment is possible going from 75 to 47%.  &lt;br /&gt;
&lt;br /&gt;
As noted, HVIL pins 11 &amp;amp; 12 seem to have no effect on the function of the HVJB and can be left de-pinned.&lt;br /&gt;
&lt;br /&gt;
Also, there does seem to be a feedback of a some sort on pin 6 (STATUS out), but not much as been done to interpret the data beyond noting it&#039;s a 5V square wave.&lt;br /&gt;
[[Category:OEM]]&lt;br /&gt;
[[Category:Tesla]]&lt;br /&gt;
[[Category:HVAC]]&lt;br /&gt;
[[Category:Thermal Management]]&lt;br /&gt;
[[Category:Accessories]]&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_DC/DC_Converter&amp;diff=4158</id>
		<title>Tesla Model S/X DC/DC Converter</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_DC/DC_Converter&amp;diff=4158"/>
		<updated>2023-10-24T01:24:52Z</updated>

		<summary type="html">&lt;p&gt;Collin80: Updated status reporting section to better explain the entire message format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
The Tesla Model S/X &#039;&#039;&#039;GEN2&#039;&#039;&#039; 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. &lt;br /&gt;
&lt;br /&gt;
It is not to be confused with the earlier &#039;&#039;&#039;GEN1&#039;&#039;&#039; 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 [[Tesla Model S Front HVJB|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 &amp;amp; GEN2, they both use the same (5) wired connections with the same functions, and the CAN commands appear to (may be) the same.[[File:Tesladcdc.jpg|thumb|Tesla Model S GEN2 DC-DC Converter]]&lt;br /&gt;
==Wiring==&lt;br /&gt;
&lt;br /&gt;
=== HV ===&lt;br /&gt;
HV connector: [http://www.ket.com/resources/web/MG655776/MG655776_2d.pdf KET MG655776 type D]&lt;br /&gt;
&lt;br /&gt;
HV+ (positive) line is the one on the leftmost - opposite side of the red 12v output bolt. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DCDC Connector wiring.jpg|thumb|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]]&lt;br /&gt;
&lt;br /&gt;
[[File:DCDCTESLA.jpg|thumb|CAN lines are pins 2 &amp;amp; 3.]]&lt;br /&gt;
&lt;br /&gt;
Note, be careful about which connector you get when salvaging this connector from Telsa wiring harnesses. Specifically, you want the key D variant.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Orange (A/C): MG655773 (key A)&#039;&#039;&lt;br /&gt;
*&#039;&#039;Gray (fluid heater): MG655774 (key B)&#039;&#039;&lt;br /&gt;
*&#039;&#039;Brown (PTC heater): MG655775 (key C)&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;u&amp;gt;Blue (DC-DC): MG655776 (key D)&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Donor Harness:  Tesla OE/OEM Part Number: 1032804-00-A has two Blue DC-DC plugs. &lt;br /&gt;
[[File:PXL 20210514 092652934-min.jpg|alt=Pinout for LV connector is written on the board|thumb|Pinout for LV connector is printed on the board.]]&lt;br /&gt;
&lt;br /&gt;
=== LV &amp;amp; Signalling ===&lt;br /&gt;
LV connector: [https://www.molex.com/molex/products/part-detail/crimp_housings/0334721301 Molex 0334721301]&lt;br /&gt;
&lt;br /&gt;
LV connector (top row)&lt;br /&gt;
&lt;br /&gt;
* Pin 1 : HW-EN (Enable (&amp;quot;turn on&amp;quot;) via applying 12v+ )&lt;br /&gt;
* Pin 2 : CAN H &lt;br /&gt;
* Pin 3 : CAN L&lt;br /&gt;
&lt;br /&gt;
The remaining pins are for the HVIL loop, and can be ignored if desired, as they do not affect the unit&#039;s function.&lt;br /&gt;
&lt;br /&gt;
==Control==&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
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 [https://openinverter.org/forum/viewtopic.php?f=10&amp;amp;t=536 this OI forum thread.]&lt;br /&gt;
&lt;br /&gt;
=== CAN ===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* 0x03D8 (0d984) : Input: Commands to the unit (3 bytes)&lt;br /&gt;
* 0x0210 (0d528) : Output: Status Reporting from the unit (7 bytes)&lt;br /&gt;
&lt;br /&gt;
==== Commands (0x03D8, 0d984) ====&lt;br /&gt;
This CAN command payload is 3 bytes, and must be sent at 500ms intervals.  &lt;br /&gt;
&lt;br /&gt;
The first 10 bits (0-9, &#039;&#039;little-endian format&#039;&#039;) in the message encodes the output voltage.  The following bit is the DC/DC enable bit&amp;lt;ref&amp;gt;https://openinverter.org/forum/viewtopic.php?p=20995#p20995&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Byte 0 + Byte 1[0-1] (10 bits total) : (desired voltage - 9) * 146)&lt;br /&gt;
* Byte 1[2] = Enable DC output (must be 1 to enable output)&lt;br /&gt;
* Byte 1[3-7] : Unknown&lt;br /&gt;
* Byte 2 : Unknown&lt;br /&gt;
&lt;br /&gt;
===== Example =====&lt;br /&gt;
If 14.4V is desired:&lt;br /&gt;
&lt;br /&gt;
* Subtract constant 9 from 14.4v =  5.4&lt;br /&gt;
* Multiply 5.4 by constant 146 = 788.4&lt;br /&gt;
* Convert 788.4 to hex = 0x0315 (expressed as individual bytes: &amp;lt;u&amp;gt;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;0x03&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;0x15&amp;lt;/span&amp;gt;&amp;lt;/u&amp;gt;)&lt;br /&gt;
*Convert to little-endian format = &amp;lt;u&amp;gt;&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;0x15&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;0x03&amp;lt;/span&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
*Add 4 to the second byte, to enable DC output = &amp;lt;u&amp;gt;0x15 0x0&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;7&amp;lt;/span&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
*Pad with zero byte to assemble the required 3-byte payload: &amp;lt;u&amp;gt;0x15 0x07 &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;0x00&amp;lt;/span&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
*Prefix with the command MsgID 0x3D8 : &#039;&#039;&#039;&amp;lt;u&amp;gt;0x03D8 0x15 0x07 0x00&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Send the MsgID + data payload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Status Reporting (0x0210, 0d528)====&lt;br /&gt;
The data is comprised of 7 bytes, which is transmitted at 100ms (10Hz) intervals:&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* Byte 1 = Status bits (bit 0 = Coolant request, 1 = Current thermal limit,  2 = Output voltage regulation fault, 3 = Calibration factor fault)&lt;br /&gt;
&lt;br /&gt;
*Byte 2 = coolant inlet temp (0.5C scale, -40 offset)&lt;br /&gt;
*Byte 3 = input power (16 W/bit),&lt;br /&gt;
*Byte 4 = output current (1 A/bit),&lt;br /&gt;
*Byte 5 = output voltage (0.1 V/bit)&lt;br /&gt;
&lt;br /&gt;
Note Status Reporting does not work if HW-EN line is not high. &lt;br /&gt;
&lt;br /&gt;
Jason Hughes (wk057) posted this DC-DC Converter CAN Status Reporting information&amp;lt;ref&amp;gt;https://skie.net/uploads/TeslaCAN/Tesla%20Model%20S%20CAN%20Deciphering%20-%20v0.1%20-%20by%20wk057.pdf&amp;lt;/ref&amp;gt; in Jan2016:&lt;br /&gt;
&lt;br /&gt;
[[File:Telsa Model S DC-DC-Converter CAN 01b.png|alt=Tesla Model S DC-DC Converter CAN information by Jason Hughes, (wk057), Jan2016.|thumb|600x600px|Tesla Model S DC-DC Converter CAN information by Jason Hughes, (wk057), Jan2016.|none]]The &amp;quot;CAN3&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBC example #1&amp;lt;ref&amp;gt;https://brianman.visualstudio.com/DBCTools/_git/DBCTools?path=/Samples/tesla_models_rwd.dbc&amp;amp;version=GBmaster&amp;lt;/ref&amp;gt; for 0x0210 0d&#039;&#039;&#039;528&#039;&#039;&#039; (unverified, possibly wrong or incomplete as it does not match above, but firmware revisions change items frequently):&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;BO_ &#039;&#039;&#039;528&#039;&#039;&#039; DC_DC_Converter_Status: 7 CAN3&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;SG_ Inlet_Temperature: 16|8@1- (0.5,40) [0|0] &amp;quot;C&amp;quot; TBD&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;SG_ Input_Power: 24|8@1+ (16,0) [0|0] &amp;quot;W&amp;quot; TBD&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;SG_ Output_Current: 32|8@1+ (1,0) [0|0] &amp;quot;A&amp;quot; TBD&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;SG_ Output_Voltage: 40|8@1+ (0.1,0) [0|0] &amp;quot;V&amp;quot; TBD&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;CM_ BO_ 528 &amp;quot;DC-DC Converter Status [10Hz]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBC example #2&amp;lt;ref&amp;gt;https://brianman.visualstudio.com/DBCTools/_git/DBCTools?path=%2FSamples%2Ftesla_models.dbc&amp;amp;version=GBmaster&amp;lt;/ref&amp;gt; for 0x0210 0d&#039;&#039;&#039;528&#039;&#039;&#039; (unverified, possibly wrong or incomplete as it does not match above, but firmware revisions change items frequently):&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;BO_ 528 DCDC_statusPartial: 2 ETH&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;SG_ DCDC_outputCurrent: 0|8@1+ (1,0) [0|0] &amp;quot;A&amp;quot; X&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;SG_ DCDC_outputVoltage: 8|8@1+ (0.1,0) [0|0] &amp;quot;V&amp;quot; X&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:DC/DC]]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=4110</id>
		<title>Tesla Model S/X GEN2 Charger</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=4110"/>
		<updated>2023-10-21T00:01:53Z</updated>

		<summary type="html">&lt;p&gt;Collin80: Add more notes about D1 enable pin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
&lt;br /&gt;
The Tesla GEN2 on-board charger (OBC) is a single/three phase 10kW AC charger that was fitted in the Model S from approx. Oct2013&amp;lt;ref&amp;gt;https://teslamotorsclub.com/tmc/posts/6560948/&amp;lt;/ref&amp;gt; until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.  It was the first Tesla OBC capable of fully utilizing external 3-phase AC; [[Tesla Model S GEN1 Charger|previous Tesla OBCs]] lacked the external wiring for three phases.&lt;br /&gt;
&lt;br /&gt;
One or two GEN2 chargers are installed beneath the rear seats in the Model S for AC charging.&lt;br /&gt;
&lt;br /&gt;
The charger is made up of three 3.3 kw modules, each sitting on a liquid cooling plate. This assembly enables both single and multi phase AC charging.&lt;br /&gt;
&lt;br /&gt;
==Important Considerations==&lt;br /&gt;
&lt;br /&gt;
===Output Voltage Range===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;HEED DAMIEN&#039;S WARNING:&#039;&#039;&#039;&amp;lt;ref&amp;gt;https://openinverter.org/forum/viewtopic.php?p=9994#p9994&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;quot;[https://openinverter.org/forum/viewtopic.php?f=10&amp;amp;t=78&amp;amp;p=9994#p9994 Running a Tesla charger at much under 200v dc will cause it to explode. Yes I know the label says 50 to 450v but it lies. Yes I blew one up discovering this.]&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Supported Tesla Part Numbers (TPN)===&lt;br /&gt;
It has been found that early revision units will not work with the OI control boards.&amp;lt;ref&amp;gt;https://openinverter.org/forum/viewtopic.php?t=932&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TPNs to avoid:&lt;br /&gt;
&lt;br /&gt;
*1014963-05-B and 1014963-05-C&lt;br /&gt;
&lt;br /&gt;
TPNs tested and known good:&lt;br /&gt;
&lt;br /&gt;
*1014963-00-E/F/J/K/L&lt;br /&gt;
**1014963-00-G is likely also good, just wasn&#039;t mentioned by name in the referenced thread&lt;br /&gt;
&lt;br /&gt;
=== Supported Software Revisions ===&lt;br /&gt;
At this time, it is not known why but it appears that some firmware revisions of this charger will have problems with maintaining a steady charge. Symptoms of this can be either surging (current goes up, drops to near zero, then surges back) or modules coming online singly followed by all modules going offline, repeat forever. In either case, charge power will be limited. We do not yet know what, exactly, is causing this. However, it is confirmed that swapping charger units but keeping the OI control board can produce working results.&lt;br /&gt;
&lt;br /&gt;
===Cooling===&lt;br /&gt;
The direction of flow in the cooling plate does not seem to matter.&amp;lt;ref&amp;gt;https://openinverter.org/forum/viewtopic.php?p=2030#p2030&amp;lt;/ref&amp;gt; The charger should likely be on the same cooling loop as the batteries themselves. This coolant loop should be separate from the loop with the motor and inverter (they get far too hot.) Limited testing (esp 110V, 1kw) can be done without the coolant lines hooked up. However, it would be unwise to attempt 10kw charging for any length of time without liquid cooling.&lt;br /&gt;
&lt;br /&gt;
==Replacement Control Boards==&lt;br /&gt;
Replacement control board https://github.com/damienmaguire/Tesla-Charger&lt;br /&gt;
&lt;br /&gt;
v5 kit: https://www.evbmw.com/index.php/evbmw-webshop/tesla-boards/tesla-gen-2-charger-logic-board-kit&lt;br /&gt;
&lt;br /&gt;
v5 partially built board: https://www.evbmw.com/index.php/evbmw-webshop/tesla-boards/tesla-gen-2-charger-logic-board-partially-built&lt;br /&gt;
&lt;br /&gt;
github: https://github.com/damienmaguire/Tesla-Charger&lt;br /&gt;
&lt;br /&gt;
=== Charger Connections ===&lt;br /&gt;
[[File:Tesla Charger Logic connections.jpg|none|thumb|607x607px|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!A1&lt;br /&gt;
!A2&lt;br /&gt;
!A3&lt;br /&gt;
!A4&lt;br /&gt;
!A5&lt;br /&gt;
!&lt;br /&gt;
!B1&lt;br /&gt;
!B2&lt;br /&gt;
!B3&lt;br /&gt;
!B4&lt;br /&gt;
! B5&lt;br /&gt;
!B6&lt;br /&gt;
|-&lt;br /&gt;
|OUT2 - AC present&lt;br /&gt;
|&lt;br /&gt;
|D1 - enable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|12V supply&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|CANH&lt;br /&gt;
|Control Pilot&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!A6&lt;br /&gt;
!A7&lt;br /&gt;
! A8&lt;br /&gt;
!A9&lt;br /&gt;
!A10&lt;br /&gt;
!&lt;br /&gt;
!B7&lt;br /&gt;
!B8&lt;br /&gt;
!B9&lt;br /&gt;
!B10&lt;br /&gt;
!B11&lt;br /&gt;
!B12&lt;br /&gt;
|-&lt;br /&gt;
|OUT1 - HV enable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|D2 - 3p&lt;br /&gt;
|&lt;br /&gt;
| GND&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|CANL&lt;br /&gt;
|Proximity&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
The outputs will not output 12v, they are low side switches. If you require a 12v ac present signal then use a relay with its coil switched from the relevant pin. [https://raw.githubusercontent.com/damienmaguire/Tesla-Charger/master/V5/Charger_Gen2_V5aB3%20-%20Schematic.pdf wiring diagram][[File:AC DC Connections.jpg|left|thumb|600x600px]]]]&lt;br /&gt;
&lt;br /&gt;
====Connector part numbers====&lt;br /&gt;
AC and DC power connections (Molex Sabre series):&lt;br /&gt;
&lt;br /&gt;
*housing: 044441-2006&lt;br /&gt;
*pins: 043375-3001 (18-20AWG), 043375-0001 (14-16AWG)&lt;br /&gt;
&lt;br /&gt;
Logic connectors (Molex MX150L series):&lt;br /&gt;
&lt;br /&gt;
*housing: 10-way 19418-0014, 12-way 19418-0026&lt;br /&gt;
*pins: 33012-2002 (18-20AWG), 33012-2001 (14-16AWG)&lt;br /&gt;
&lt;br /&gt;
===Programming===&lt;br /&gt;
You&#039;ll need a ST-LINK/V2 smt32 programmer.  Unofficial ones are cheaply available from amazon and ebay.&lt;br /&gt;
&lt;br /&gt;
*ST-LINK programming utility: https://www.st.com/en/development-tools/stsw-link004.html&lt;br /&gt;
* stm32_loader.hex  https://openinverter.org/forum/viewtopic.php?f=7&amp;amp;t=1119&lt;br /&gt;
&#039;&#039;&#039;Two options:&#039;&#039;&#039;&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#openinverter style firmware https://openinverter.org/forum/viewtopic.php?t=1323 (only available via patreon for next few weeks)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Target --&amp;gt; Connect&amp;quot; from top menu. You want to see the screen get filled with a data dump of symbols. In the upper right of the screen you can see it identified the device. &lt;br /&gt;
&lt;br /&gt;
In the main viewing window are multiple tabs, click the &amp;quot;Binary File&amp;quot; tab to select it. &lt;br /&gt;
&lt;br /&gt;
This will ask to open a file, you choose: &amp;quot;stm32_loader.hex&amp;quot; from openinverter.org, download ahead of time. This will change what shows up in the viewing window.  &lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Target --&amp;gt; Program and Verify&amp;quot; from the top menu. This pops up a window, and you can probably just click &amp;quot;Start&amp;quot; on that window. This programs the STM32 chip with the stm32_loader.hex file.  &lt;br /&gt;
&lt;br /&gt;
The STM32 on your v5 gen2 Tesla charger Board can now load other files.   &lt;br /&gt;
&lt;br /&gt;
You can close the stm32_loader.hex tab, and go back to the &amp;quot;Binary File&amp;quot; tab, which will ask to open another file. &lt;br /&gt;
&lt;br /&gt;
You choose: &amp;quot;Charger_Gen2_v5.hex&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
Same as last time, click &amp;quot;Target --&amp;gt; Program and Verify&amp;quot; from the top menu. And click Start. &lt;br /&gt;
&lt;br /&gt;
The STM32 on your v5 gen2 Tesla charger Board now also has the software to run.&lt;br /&gt;
&lt;br /&gt;
You are now done with the ST-Link USB dongle, it&#039;s no longer needed. &lt;br /&gt;
&lt;br /&gt;
Future updates can be done via WiFi. (must have esp8266 WiFi module programed https://openinverter.org/forum/viewtopic.php?f=5&amp;amp;t=8 )&lt;br /&gt;
&lt;br /&gt;
=== External CAN bus===&lt;br /&gt;
[[File:Gen2 Charger V5aB2 logic board.jpg|thumb|Gen2 Charger V5aB2 logic board with CAN wired to external pins]]&lt;br /&gt;
The V5aB2 version of the board has no connection to the external CAN bus (V5aB3 has) but you can add it with two bodge wires as shown in the picture. You will find CANH and CANL on the 3 pin header underneath the WiFi module. Route them over to CONN6 as shown. CONN2.1 (CANH) is connected to CONN6.24, CONN2.2 (CANL) to CONN6.26.&lt;br /&gt;
&lt;br /&gt;
Revision V5aB3 does not need this modification. On Revision V5aB3 you &#039;&#039;&#039;MUST&#039;&#039;&#039; close the solder jumper unless your charger is on an already terminated bus (that is, if the bus already has 2 termination resistors, one on each end, and measures 60 ohms with all devices powered off). If you do not use the external CAN, terminate the bus. If you have only two devices on the bus, terminate the bus. If you aren&#039;t sure, double check. &#039;&#039;&#039;Bus termination is important.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you attach to the external CAN bus, be aware that all internal CAN traffic is also seen on the external CAN bus. The following IDs are already used and mustn&#039;t used by any other device on the bus:&lt;br /&gt;
&lt;br /&gt;
207, 209, 20b, 217, 219, 21b, 227, 229, 22b, 237, 239, 23b, 247, 249, 24b, 327, 329, 32b, 347, 349, 34b, 357, 359, 35b, 367, 368, 369, 36b, 377, 379, 37b, 537, 539, 53b, 717, 719, 71b. &lt;br /&gt;
&lt;br /&gt;
====Functionality of external CAN bus====&lt;br /&gt;
With the CAN bus now available externally you can remote control your charger via CAN and also receive some values from it. The mapping is similar to the CHAdeMO CAN protocol. The feature is only available in the commercial firmware.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Charger CAN protocol - up to version 1.06.R&lt;br /&gt;
!ID&lt;br /&gt;
!Direction&lt;br /&gt;
!Byte 0&lt;br /&gt;
! Byte 1&lt;br /&gt;
!Byte 2&lt;br /&gt;
!Byte 3&lt;br /&gt;
!Byte 4&lt;br /&gt;
! Byte 5&lt;br /&gt;
! Byte 6&lt;br /&gt;
!Byte 7&lt;br /&gt;
|-&lt;br /&gt;
|0x102&lt;br /&gt;
|Receive by charger&lt;br /&gt;
|&lt;br /&gt;
|DC voltage limit MSB&lt;br /&gt;
|DC voltage limit LSB&lt;br /&gt;
| DC current set point&lt;br /&gt;
|==1 enable charging&lt;br /&gt;
|SoC&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x108&lt;br /&gt;
|Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|Max DC voltage MSB&lt;br /&gt;
| Max DC voltage LSB&lt;br /&gt;
|Max DC current&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x109&lt;br /&gt;
|Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|DC voltage MSB&lt;br /&gt;
|DC voltage LSB&lt;br /&gt;
|DC current&lt;br /&gt;
|&#039;&#039;0 when off, 5 when charging&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Example: transmit &amp;quot;0x102 # 0 0x1 0x86 0x14 0x1 50 0 0&amp;quot; to enable charging up to a voltage of 390V and a DC current of 20A, report SoC of 50%&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Charger CAN protocol - after version 1.06.R&lt;br /&gt;
!ID&lt;br /&gt;
!Direction&lt;br /&gt;
!Byte 0&lt;br /&gt;
!Byte 1&lt;br /&gt;
!Byte 2&lt;br /&gt;
!Byte 3&lt;br /&gt;
!Byte 4&lt;br /&gt;
!Byte 5&lt;br /&gt;
!Byte 6&lt;br /&gt;
!Byte 7&lt;br /&gt;
|-&lt;br /&gt;
| 0x102&lt;br /&gt;
|Receive by charger&lt;br /&gt;
|&lt;br /&gt;
|DC voltage limit MSB&lt;br /&gt;
|DC voltage limit LSB&lt;br /&gt;
|DC current set point&lt;br /&gt;
|&lt;br /&gt;
|==1 enable charging&lt;br /&gt;
|SoC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x108&lt;br /&gt;
|Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|Max DC voltage MSB&lt;br /&gt;
| Max DC voltage LSB&lt;br /&gt;
|Max DC current&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x109&lt;br /&gt;
| Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|DC voltage MSB&lt;br /&gt;
|DC voltage LSB&lt;br /&gt;
|DC current&lt;br /&gt;
|&lt;br /&gt;
|0 when off, 5 when charging&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
[[File:Parameter view of commercial firmware.png|thumb|Parameter view of commercial firmware]]&lt;br /&gt;
&lt;br /&gt;
===openinverter style charger firmware===&lt;br /&gt;
In addition to the open source firmware there is also an openinverter style firmware. It adds advanced features:&lt;br /&gt;
*Support for the standard open inverter web interface&lt;br /&gt;
*Parameter handling as known from the inverter firmware (see picture)&lt;br /&gt;
*Spot value handling like inverter including plotting, gauges, and logging&lt;br /&gt;
*Over the air update like inverter&lt;br /&gt;
*DC current control&lt;br /&gt;
* CAN control as described above&lt;br /&gt;
The firmware requires the board to be flashed with [https://github.com/jsphuebner/tumanako-inverter-fw-bootloader/releases stm32_loader.hex]. An Olimex MOD-ESP8266 must be programmed with the [https://github.com/jsphuebner/esp8266-web-interface openinverter web interface]. See [[Olimex MOD-WIFI-ESP8266]] and [https://openinverter.org/forum/viewtopic.php?f=5&amp;amp;t=8 this forum thread] for flashing instructions. With that done, future updates will happen via the web interface.&lt;br /&gt;
&lt;br /&gt;
The firmware will soon be fully published and is only available via patreon for now: https://www.patreon.com/openinverter&lt;br /&gt;
&lt;br /&gt;
====Connecting to the Web interface====&lt;br /&gt;
Depending on the version of your Olimex wifi dongle they are &amp;quot;open&amp;quot; or you need a password to connect.&lt;br /&gt;
&lt;br /&gt;
By default you can connect to the network (Access Point) and browse to: &#039;&#039;&#039;192.168.4.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default all charger kits will have &#039;&#039;&#039;SSID&#039;&#039;&#039; : charger &#039;&#039;&#039;PASSWORD&#039;&#039;&#039; : charger123&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Its recommend that you change it. Nobody wants to drive and have some joker with a phone finding this information and accessing your charger.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Registration====&lt;br /&gt;
This step is no longer needed as the firmware will soon be published. It is already available on patreon: https://www.patreon.com/openinverter&lt;br /&gt;
&lt;br /&gt;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
===Commercial firmware usage manual===&lt;br /&gt;
==== Parameters====&lt;br /&gt;
The firmware exports a number of parameters to be modified by the user. All modifications are temporary until you hit &amp;quot;Save Parameters to Flash&amp;quot; at the top of the page.&lt;br /&gt;
&lt;br /&gt;
We will go over all of them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;idclim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This parameter is mainly relevant for CAN operation. It is transmitted via CAN to let the vehicle know how much DC current the charger can deliver. Each charger module maxes out at about 15.5A so the maximum total charging current is 46.5A. Since the total power is also limited to 10 kW it depends on the output voltage as well. There is no need to be exact on this, the firmware will automatically limit the AC input current to each module to the hardware maximum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iaclim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the per-module AC current limit. When charging from a 3-phase outlet (see below) each module will be allowed this current. When charging from single phase, this current will be equally distributed between the enabled chargers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;idcspnt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
DC charge current limit. An additional limit to charge power. It is also mapped to the CAN bus so if you have a BMS that calculates a maximum charge current you can forward this to the charger.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;chargerena&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here you can program which charger modules you want to enable. It is a flag channel, so 1 means &amp;quot;Module 1 enabled&amp;quot;, 2 means &amp;quot;Module 2 enabled&amp;quot; and 4 means &amp;quot;Module 3 enabled&amp;quot;. Combining these flags enables multiple modules, e.g. 5=4+1 enables modules 1 and 3. 7=4+2+1 enables all modules. This is the default. The parameter can not be directly changed, but you have to type &amp;quot;set chargerena 5&amp;quot; next to where it says &amp;quot;Send Custom Command&amp;quot; on the top of the page and then press the button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;udcspnt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This modifies the constant voltage setpoint of the chargers. This value is transmitted directly to the modules without further processing. It lets you add a constant voltage phase to your charge process. When reaching this voltage the chargers will control the current to maintain this voltage.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;udclim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This parameters specifies a charge end condition. When the voltage is hit the charging process stops and will not resume until you re-plug the charge cable. If you wish to add a constant voltage phase and control charge end by your BMS, set this parameter higher than udcspnt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;timelim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;inputype&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Type2&#039;&#039;&#039;: Specifies one or more modules are operated on ONE common phase of a Type-2 EVSE. The limits imposed by &#039;&#039;cablelim&#039;&#039; and &#039;&#039;evselim&#039;&#039; (pilot signal) are distributed equally over the enabled modules. For example if you enable all 3 modules, the cable allows 32A but the EVSE only allows 16A, every module will run at 16/3=5.3A. Charging will start automatically as soon as proximity and a valid pilot signal is detected. Note: You must still have the D1 enable line high. All charge modes require D1 to be high.&lt;br /&gt;
*&#039;&#039;&#039;Type2-3P&#039;&#039;&#039;: Specifies each module is connected to a different phase of a Type-2 EVSE. The limits imposed by &#039;&#039;cablelim&#039;&#039; and &#039;&#039;evselim&#039;&#039; are allowed for each module.&lt;br /&gt;
*&#039;&#039;&#039;Type-2Auto&#039;&#039;&#039;: relies on input D2 to indicate that 3 phase is present (from external relay), to allow charging on either single or three phase automatically.&lt;br /&gt;
*&#039;&#039;&#039;Type1&#039;&#039;&#039;: Like &#039;&#039;&#039;Type2&#039;&#039;&#039; but &#039;&#039;cablelim&#039;&#039; is always assumed 40A.&lt;br /&gt;
*&#039;&#039;&#039;Manual&#039;&#039;&#039;: Specifies one or more modules are operated on ONE common phase, power is distributed like in &#039;&#039;&#039;Type2&#039;&#039;&#039; mode. Charging starts as soon as the enable pin &amp;quot;D1&amp;quot; goes high. &#039;&#039;iaclim&#039;&#039; MUST be configured to the limits of your AC source as there is no automatic detection like in Type1 or Type2 modes.&lt;br /&gt;
*&#039;&#039;&#039;Manual-3P&#039;&#039;&#039;: Specifies that each module is connected to a different phase of 3-phase outlet. Each module is allowed &#039;&#039;iaclim&#039;&#039; AC current. &#039;&#039;iaclim&#039;&#039; MUST be configured to the limits of your AC source as there is no automatic detection like in Type1 or Type2 modes.&lt;br /&gt;
&#039;&#039;&#039;cancontrol&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When on, expect charging instructions via CAN message 0x102 as described above. Charging will start when the enable bit is set. when no CAN message is received for 1s, charging will stop. Note that the digital enable input &amp;quot;D1&amp;quot; also needs to high to allow charging. Also the autostart conditions apply when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;idckp/idcki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Software pin, obtained by registration.&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
&lt;br /&gt;
Videos by Damien Maguire showing internals of the charger, CAN IDs, wiring, and development of the board:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=LqJ7HhS65po The Tesla Project : 10 Kw Gen 2 Charger]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=ULadBnl7wgM The Tesla Project : Charger Progress]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=mOIgp3QFg78 The Tesla Project : 10kW Charger Charging]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=BG4kYsoHe54 The Tesla Project : More Charger Hacking]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=bPLqXCiArVM The Tesla Project : Charger 10kw Run]&lt;br /&gt;
&lt;br /&gt;
A 15 min intro from a user perspective: https://www.youtube.com/watch?v=ibtr6v1k0cA&lt;br /&gt;
&lt;br /&gt;
==Common Issues==&lt;br /&gt;
&lt;br /&gt;
*The Tesla chargers are very sensitive to grounding. The case MUST be connected to vehicle 12v ground AND evse earth/ground when charging. [https://openinverter.org/forum/viewtopic.php?p=3890#p3890]&lt;br /&gt;
*With V5aB2, If you do NOT use the external CAN bus or are not properly terminated, &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module. When in doubt, check the resistance of the CAN bus with all devices off. It should be 60 ohms ideally. If you are not using the external CAN then it should be 120 ohms. &lt;br /&gt;
*People had problems with unreliable connectivity between ESP8266 &amp;amp; the charger board [https://openinverter.org/wiki/Olimex_MOD-WIFI-ESP8266#Common_Issues]&lt;br /&gt;
*Firmware &#039;&#039;&#039;1.09&#039;&#039;&#039; and &#039;&#039;&#039;1.10&#039;&#039;&#039; can lose the CAN map, making the logic board go silent, reset instructions here: [https://openinverter.org/forum/viewtopic.php?p=40617&amp;amp;sid=e2369fea2b502a419f55e5aac10fe169#p40617]&lt;br /&gt;
*If a module within the charger is enabled (and all three are enabled by default) then it &#039;&#039;&#039;MUST&#039;&#039;&#039; see AC and DC voltage when charging starts. If it does not then no current will flow on any module. So, triple check your wiring before starting. It can be easy to mix up the line and neutral wires of the AC input. This will not blow up anything but it won&#039;t work either. Mixing up the DC wires is a recipe for a bad time.&lt;br /&gt;
*Some chargers are just raised wrong. As covered above, for reasons we don&#039;t know, some modules will simply refuse to work properly. Most often this will happen to chargers that were previously used in super charger stations but it can happen to chargers that were pulled from Model S cars as well. There is not yet any known fix for this. If it happens the only current solution is a different charger or you live with slow charging.&lt;br /&gt;
*Did you set the D1 enable pin to be high (+12v?) It must be high in &#039;&#039;&#039;ANY&#039;&#039;&#039; mode in order for charging to start. It is OK to tie it to the +12 incoming power if you are using something like Type2 where charging is controlled by the proximity and control pilot signals.&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
Charger Dimensions: 500x300x100mm&lt;br /&gt;
&lt;br /&gt;
More specific dimensions and CAD info here: https://openinverter.org/forum/viewtopic.php?p=3641#p3641CAD&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=4109</id>
		<title>Tesla Model S/X GEN2 Charger</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=4109"/>
		<updated>2023-10-20T23:58:46Z</updated>

		<summary type="html">&lt;p&gt;Collin80: Additional notes in cooling section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
&lt;br /&gt;
The Tesla GEN2 on-board charger (OBC) is a single/three phase 10kW AC charger that was fitted in the Model S from approx. Oct2013&amp;lt;ref&amp;gt;https://teslamotorsclub.com/tmc/posts/6560948/&amp;lt;/ref&amp;gt; until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.  It was the first Tesla OBC capable of fully utilizing external 3-phase AC; [[Tesla Model S GEN1 Charger|previous Tesla OBCs]] lacked the external wiring for three phases.&lt;br /&gt;
&lt;br /&gt;
One or two GEN2 chargers are installed beneath the rear seats in the Model S for AC charging.&lt;br /&gt;
&lt;br /&gt;
The charger is made up of three 3.3 kw modules, each sitting on a liquid cooling plate. This assembly enables both single and multi phase AC charging.&lt;br /&gt;
&lt;br /&gt;
==Important Considerations==&lt;br /&gt;
&lt;br /&gt;
===Output Voltage Range===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;HEED DAMIEN&#039;S WARNING:&#039;&#039;&#039;&amp;lt;ref&amp;gt;https://openinverter.org/forum/viewtopic.php?p=9994#p9994&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;quot;[https://openinverter.org/forum/viewtopic.php?f=10&amp;amp;t=78&amp;amp;p=9994#p9994 Running a Tesla charger at much under 200v dc will cause it to explode. Yes I know the label says 50 to 450v but it lies. Yes I blew one up discovering this.]&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Supported Tesla Part Numbers (TPN)===&lt;br /&gt;
It has been found that early revision units will not work with the OI control boards.&amp;lt;ref&amp;gt;https://openinverter.org/forum/viewtopic.php?t=932&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TPNs to avoid:&lt;br /&gt;
&lt;br /&gt;
*1014963-05-B and 1014963-05-C&lt;br /&gt;
&lt;br /&gt;
TPNs tested and known good:&lt;br /&gt;
&lt;br /&gt;
*1014963-00-E/F/J/K/L&lt;br /&gt;
**1014963-00-G is likely also good, just wasn&#039;t mentioned by name in the referenced thread&lt;br /&gt;
&lt;br /&gt;
=== Supported Software Revisions ===&lt;br /&gt;
At this time, it is not known why but it appears that some firmware revisions of this charger will have problems with maintaining a steady charge. Symptoms of this can be either surging (current goes up, drops to near zero, then surges back) or modules coming online singly followed by all modules going offline, repeat forever. In either case, charge power will be limited. We do not yet know what, exactly, is causing this. However, it is confirmed that swapping charger units but keeping the OI control board can produce working results.&lt;br /&gt;
&lt;br /&gt;
===Cooling===&lt;br /&gt;
The direction of flow in the cooling plate does not seem to matter.&amp;lt;ref&amp;gt;https://openinverter.org/forum/viewtopic.php?p=2030#p2030&amp;lt;/ref&amp;gt; The charger should likely be on the same cooling loop as the batteries themselves. This coolant loop should be separate from the loop with the motor and inverter (they get far too hot.) Limited testing (esp 110V, 1kw) can be done without the coolant lines hooked up. However, it would be unwise to attempt 10kw charging for any length of time without liquid cooling.&lt;br /&gt;
&lt;br /&gt;
==Replacement Control Boards==&lt;br /&gt;
Replacement control board https://github.com/damienmaguire/Tesla-Charger&lt;br /&gt;
&lt;br /&gt;
v5 kit: https://www.evbmw.com/index.php/evbmw-webshop/tesla-boards/tesla-gen-2-charger-logic-board-kit&lt;br /&gt;
&lt;br /&gt;
v5 partially built board: https://www.evbmw.com/index.php/evbmw-webshop/tesla-boards/tesla-gen-2-charger-logic-board-partially-built&lt;br /&gt;
&lt;br /&gt;
github: https://github.com/damienmaguire/Tesla-Charger&lt;br /&gt;
&lt;br /&gt;
=== Charger Connections ===&lt;br /&gt;
[[File:Tesla Charger Logic connections.jpg|none|thumb|607x607px|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!A1&lt;br /&gt;
!A2&lt;br /&gt;
!A3&lt;br /&gt;
!A4&lt;br /&gt;
!A5&lt;br /&gt;
!&lt;br /&gt;
!B1&lt;br /&gt;
!B2&lt;br /&gt;
!B3&lt;br /&gt;
!B4&lt;br /&gt;
! B5&lt;br /&gt;
!B6&lt;br /&gt;
|-&lt;br /&gt;
|OUT2 - AC present&lt;br /&gt;
|&lt;br /&gt;
|D1 - enable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|12V supply&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|CANH&lt;br /&gt;
|Control Pilot&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!A6&lt;br /&gt;
!A7&lt;br /&gt;
! A8&lt;br /&gt;
!A9&lt;br /&gt;
!A10&lt;br /&gt;
!&lt;br /&gt;
!B7&lt;br /&gt;
!B8&lt;br /&gt;
!B9&lt;br /&gt;
!B10&lt;br /&gt;
!B11&lt;br /&gt;
!B12&lt;br /&gt;
|-&lt;br /&gt;
|OUT1 - HV enable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|D2 - 3p&lt;br /&gt;
|&lt;br /&gt;
| GND&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|CANL&lt;br /&gt;
|Proximity&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
The outputs will not output 12v, they are low side switches. If you require a 12v ac present signal then use a relay with its coil switched from the relevant pin. [https://raw.githubusercontent.com/damienmaguire/Tesla-Charger/master/V5/Charger_Gen2_V5aB3%20-%20Schematic.pdf wiring diagram][[File:AC DC Connections.jpg|left|thumb|600x600px]]]]&lt;br /&gt;
&lt;br /&gt;
====Connector part numbers====&lt;br /&gt;
AC and DC power connections (Molex Sabre series):&lt;br /&gt;
&lt;br /&gt;
*housing: 044441-2006&lt;br /&gt;
*pins: 043375-3001 (18-20AWG), 043375-0001 (14-16AWG)&lt;br /&gt;
&lt;br /&gt;
Logic connectors (Molex MX150L series):&lt;br /&gt;
&lt;br /&gt;
*housing: 10-way 19418-0014, 12-way 19418-0026&lt;br /&gt;
*pins: 33012-2002 (18-20AWG), 33012-2001 (14-16AWG)&lt;br /&gt;
&lt;br /&gt;
===Programming===&lt;br /&gt;
You&#039;ll need a ST-LINK/V2 smt32 programmer.  Unofficial ones are cheaply available from amazon and ebay.&lt;br /&gt;
&lt;br /&gt;
*ST-LINK programming utility: https://www.st.com/en/development-tools/stsw-link004.html&lt;br /&gt;
* stm32_loader.hex  https://openinverter.org/forum/viewtopic.php?f=7&amp;amp;t=1119&lt;br /&gt;
&#039;&#039;&#039;Two options:&#039;&#039;&#039;&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#openinverter style firmware https://openinverter.org/forum/viewtopic.php?t=1323 (only available via patreon for next few weeks)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Target --&amp;gt; Connect&amp;quot; from top menu. You want to see the screen get filled with a data dump of symbols. In the upper right of the screen you can see it identified the device. &lt;br /&gt;
&lt;br /&gt;
In the main viewing window are multiple tabs, click the &amp;quot;Binary File&amp;quot; tab to select it. &lt;br /&gt;
&lt;br /&gt;
This will ask to open a file, you choose: &amp;quot;stm32_loader.hex&amp;quot; from openinverter.org, download ahead of time. This will change what shows up in the viewing window.  &lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Target --&amp;gt; Program and Verify&amp;quot; from the top menu. This pops up a window, and you can probably just click &amp;quot;Start&amp;quot; on that window. This programs the STM32 chip with the stm32_loader.hex file.  &lt;br /&gt;
&lt;br /&gt;
The STM32 on your v5 gen2 Tesla charger Board can now load other files.   &lt;br /&gt;
&lt;br /&gt;
You can close the stm32_loader.hex tab, and go back to the &amp;quot;Binary File&amp;quot; tab, which will ask to open another file. &lt;br /&gt;
&lt;br /&gt;
You choose: &amp;quot;Charger_Gen2_v5.hex&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
Same as last time, click &amp;quot;Target --&amp;gt; Program and Verify&amp;quot; from the top menu. And click Start. &lt;br /&gt;
&lt;br /&gt;
The STM32 on your v5 gen2 Tesla charger Board now also has the software to run.&lt;br /&gt;
&lt;br /&gt;
You are now done with the ST-Link USB dongle, it&#039;s no longer needed. &lt;br /&gt;
&lt;br /&gt;
Future updates can be done via WiFi. (must have esp8266 WiFi module programed https://openinverter.org/forum/viewtopic.php?f=5&amp;amp;t=8 )&lt;br /&gt;
&lt;br /&gt;
=== External CAN bus===&lt;br /&gt;
[[File:Gen2 Charger V5aB2 logic board.jpg|thumb|Gen2 Charger V5aB2 logic board with CAN wired to external pins]]&lt;br /&gt;
The V5aB2 version of the board has no connection to the external CAN bus (V5aB3 has) but you can add it with two bodge wires as shown in the picture. You will find CANH and CANL on the 3 pin header underneath the WiFi module. Route them over to CONN6 as shown. CONN2.1 (CANH) is connected to CONN6.24, CONN2.2 (CANL) to CONN6.26.&lt;br /&gt;
&lt;br /&gt;
Revision V5aB3 does not need this modification. On Revision V5aB3 you &#039;&#039;&#039;MUST&#039;&#039;&#039; close the solder jumper unless your charger is on an already terminated bus (that is, if the bus already has 2 termination resistors, one on each end, and measures 60 ohms with all devices powered off). If you do not use the external CAN, terminate the bus. If you have only two devices on the bus, terminate the bus. If you aren&#039;t sure, double check. &#039;&#039;&#039;Bus termination is important.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you attach to the external CAN bus, be aware that all internal CAN traffic is also seen on the external CAN bus. The following IDs are already used and mustn&#039;t used by any other device on the bus:&lt;br /&gt;
&lt;br /&gt;
207, 209, 20b, 217, 219, 21b, 227, 229, 22b, 237, 239, 23b, 247, 249, 24b, 327, 329, 32b, 347, 349, 34b, 357, 359, 35b, 367, 368, 369, 36b, 377, 379, 37b, 537, 539, 53b, 717, 719, 71b. &lt;br /&gt;
&lt;br /&gt;
====Functionality of external CAN bus====&lt;br /&gt;
With the CAN bus now available externally you can remote control your charger via CAN and also receive some values from it. The mapping is similar to the CHAdeMO CAN protocol. The feature is only available in the commercial firmware.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Charger CAN protocol - up to version 1.06.R&lt;br /&gt;
!ID&lt;br /&gt;
!Direction&lt;br /&gt;
!Byte 0&lt;br /&gt;
! Byte 1&lt;br /&gt;
!Byte 2&lt;br /&gt;
!Byte 3&lt;br /&gt;
!Byte 4&lt;br /&gt;
! Byte 5&lt;br /&gt;
! Byte 6&lt;br /&gt;
!Byte 7&lt;br /&gt;
|-&lt;br /&gt;
|0x102&lt;br /&gt;
|Receive by charger&lt;br /&gt;
|&lt;br /&gt;
|DC voltage limit MSB&lt;br /&gt;
|DC voltage limit LSB&lt;br /&gt;
| DC current set point&lt;br /&gt;
|==1 enable charging&lt;br /&gt;
|SoC&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x108&lt;br /&gt;
|Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|Max DC voltage MSB&lt;br /&gt;
| Max DC voltage LSB&lt;br /&gt;
|Max DC current&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x109&lt;br /&gt;
|Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|DC voltage MSB&lt;br /&gt;
|DC voltage LSB&lt;br /&gt;
|DC current&lt;br /&gt;
|&#039;&#039;0 when off, 5 when charging&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Example: transmit &amp;quot;0x102 # 0 0x1 0x86 0x14 0x1 50 0 0&amp;quot; to enable charging up to a voltage of 390V and a DC current of 20A, report SoC of 50%&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Charger CAN protocol - after version 1.06.R&lt;br /&gt;
!ID&lt;br /&gt;
!Direction&lt;br /&gt;
!Byte 0&lt;br /&gt;
!Byte 1&lt;br /&gt;
!Byte 2&lt;br /&gt;
!Byte 3&lt;br /&gt;
!Byte 4&lt;br /&gt;
!Byte 5&lt;br /&gt;
!Byte 6&lt;br /&gt;
!Byte 7&lt;br /&gt;
|-&lt;br /&gt;
| 0x102&lt;br /&gt;
|Receive by charger&lt;br /&gt;
|&lt;br /&gt;
|DC voltage limit MSB&lt;br /&gt;
|DC voltage limit LSB&lt;br /&gt;
|DC current set point&lt;br /&gt;
|&lt;br /&gt;
|==1 enable charging&lt;br /&gt;
|SoC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x108&lt;br /&gt;
|Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|Max DC voltage MSB&lt;br /&gt;
| Max DC voltage LSB&lt;br /&gt;
|Max DC current&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x109&lt;br /&gt;
| Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|DC voltage MSB&lt;br /&gt;
|DC voltage LSB&lt;br /&gt;
|DC current&lt;br /&gt;
|&lt;br /&gt;
|0 when off, 5 when charging&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
[[File:Parameter view of commercial firmware.png|thumb|Parameter view of commercial firmware]]&lt;br /&gt;
&lt;br /&gt;
===openinverter style charger firmware===&lt;br /&gt;
In addition to the open source firmware there is also an openinverter style firmware. It adds advanced features:&lt;br /&gt;
*Support for the standard open inverter web interface&lt;br /&gt;
*Parameter handling as known from the inverter firmware (see picture)&lt;br /&gt;
*Spot value handling like inverter including plotting, gauges, and logging&lt;br /&gt;
*Over the air update like inverter&lt;br /&gt;
*DC current control&lt;br /&gt;
* CAN control as described above&lt;br /&gt;
The firmware requires the board to be flashed with [https://github.com/jsphuebner/tumanako-inverter-fw-bootloader/releases stm32_loader.hex]. An Olimex MOD-ESP8266 must be programmed with the [https://github.com/jsphuebner/esp8266-web-interface openinverter web interface]. See [[Olimex MOD-WIFI-ESP8266]] and [https://openinverter.org/forum/viewtopic.php?f=5&amp;amp;t=8 this forum thread] for flashing instructions. With that done, future updates will happen via the web interface.&lt;br /&gt;
&lt;br /&gt;
The firmware will soon be fully published and is only available via patreon for now: https://www.patreon.com/openinverter&lt;br /&gt;
&lt;br /&gt;
====Connecting to the Web interface====&lt;br /&gt;
Depending on the version of your Olimex wifi dongle they are &amp;quot;open&amp;quot; or you need a password to connect.&lt;br /&gt;
&lt;br /&gt;
By default you can connect to the network (Access Point) and browse to: &#039;&#039;&#039;192.168.4.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default all charger kits will have &#039;&#039;&#039;SSID&#039;&#039;&#039; : charger &#039;&#039;&#039;PASSWORD&#039;&#039;&#039; : charger123&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Its recommend that you change it. Nobody wants to drive and have some joker with a phone finding this information and accessing your charger.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Registration====&lt;br /&gt;
This step is no longer needed as the firmware will soon be published. It is already available on patreon: https://www.patreon.com/openinverter&lt;br /&gt;
&lt;br /&gt;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
===Commercial firmware usage manual===&lt;br /&gt;
==== Parameters====&lt;br /&gt;
The firmware exports a number of parameters to be modified by the user. All modifications are temporary until you hit &amp;quot;Save Parameters to Flash&amp;quot; at the top of the page.&lt;br /&gt;
&lt;br /&gt;
We will go over all of them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;idclim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This parameter is mainly relevant for CAN operation. It is transmitted via CAN to let the vehicle know how much DC current the charger can deliver. Each charger module maxes out at about 15.5A so the maximum total charging current is 46.5A. Since the total power is also limited to 10 kW it depends on the output voltage as well. There is no need to be exact on this, the firmware will automatically limit the AC input current to each module to the hardware maximum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iaclim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the per-module AC current limit. When charging from a 3-phase outlet (see below) each module will be allowed this current. When charging from single phase, this current will be equally distributed between the enabled chargers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;idcspnt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
DC charge current limit. An additional limit to charge power. It is also mapped to the CAN bus so if you have a BMS that calculates a maximum charge current you can forward this to the charger.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;chargerena&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here you can program which charger modules you want to enable. It is a flag channel, so 1 means &amp;quot;Module 1 enabled&amp;quot;, 2 means &amp;quot;Module 2 enabled&amp;quot; and 4 means &amp;quot;Module 3 enabled&amp;quot;. Combining these flags enables multiple modules, e.g. 5=4+1 enables modules 1 and 3. 7=4+2+1 enables all modules. This is the default. The parameter can not be directly changed, but you have to type &amp;quot;set chargerena 5&amp;quot; next to where it says &amp;quot;Send Custom Command&amp;quot; on the top of the page and then press the button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;udcspnt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This modifies the constant voltage setpoint of the chargers. This value is transmitted directly to the modules without further processing. It lets you add a constant voltage phase to your charge process. When reaching this voltage the chargers will control the current to maintain this voltage.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;udclim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This parameters specifies a charge end condition. When the voltage is hit the charging process stops and will not resume until you re-plug the charge cable. If you wish to add a constant voltage phase and control charge end by your BMS, set this parameter higher than udcspnt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;timelim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;inputype&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Type2&#039;&#039;&#039;: Specifies one or more modules are operated on ONE common phase of a Type-2 EVSE. The limits imposed by &#039;&#039;cablelim&#039;&#039; and &#039;&#039;evselim&#039;&#039; (pilot signal) are distributed equally over the enabled modules. For example if you enable all 3 modules, the cable allows 32A but the EVSE only allows 16A, every module will run at 16/3=5.3A. Charging will start automatically as soon as proximity and a valid pilot signal is detected.&lt;br /&gt;
*&#039;&#039;&#039;Type2-3P&#039;&#039;&#039;: Specifies each module is connected to a different phase of a Type-2 EVSE. The limits imposed by &#039;&#039;cablelim&#039;&#039; and &#039;&#039;evselim&#039;&#039; are allowed for each module.&lt;br /&gt;
*&#039;&#039;&#039;Type-2Auto&#039;&#039;&#039;: relies on input D2 to indicate that 3 phase is present (from external relay), to allow charging on either single or three phase automatically.&lt;br /&gt;
*&#039;&#039;&#039;Type1&#039;&#039;&#039;: Like &#039;&#039;&#039;Type2&#039;&#039;&#039; but &#039;&#039;cablelim&#039;&#039; is always assumed 40A.&lt;br /&gt;
*&#039;&#039;&#039;Manual&#039;&#039;&#039;: Specifies one or more modules are operated on ONE common phase, power is distributed like in &#039;&#039;&#039;Type2&#039;&#039;&#039; mode. Charging starts as soon as the enable pin &amp;quot;D1&amp;quot; goes high. &#039;&#039;iaclim&#039;&#039; MUST be configured to the limits of your AC source as there is no automatic detection like in Type1 or Type2 modes.&lt;br /&gt;
*&#039;&#039;&#039;Manual-3P&#039;&#039;&#039;: Specifies that each module is connected to a different phase of 3-phase outlet. Each module is allowed &#039;&#039;iaclim&#039;&#039; AC current. &#039;&#039;iaclim&#039;&#039; MUST be configured to the limits of your AC source as there is no automatic detection like in Type1 or Type2 modes.&lt;br /&gt;
&#039;&#039;&#039;cancontrol&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When on, expect charging instructions via CAN message 0x102 as described above. Charging will start when the enable bit is set. when no CAN message is received for 1s, charging will stop. Note that the digital enable input &amp;quot;D1&amp;quot; also needs to high to allow charging. Also the autostart conditions apply when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;idckp/idcki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Software pin, obtained by registration.&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
&lt;br /&gt;
Videos by Damien Maguire showing internals of the charger, CAN IDs, wiring, and development of the board:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=LqJ7HhS65po The Tesla Project : 10 Kw Gen 2 Charger]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=ULadBnl7wgM The Tesla Project : Charger Progress]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=mOIgp3QFg78 The Tesla Project : 10kW Charger Charging]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=BG4kYsoHe54 The Tesla Project : More Charger Hacking]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=bPLqXCiArVM The Tesla Project : Charger 10kw Run]&lt;br /&gt;
&lt;br /&gt;
A 15 min intro from a user perspective: https://www.youtube.com/watch?v=ibtr6v1k0cA&lt;br /&gt;
&lt;br /&gt;
==Common Issues==&lt;br /&gt;
&lt;br /&gt;
*The Tesla chargers are very sensitive to grounding. The case MUST be connected to vehicle 12v ground AND evse earth/ground when charging. [https://openinverter.org/forum/viewtopic.php?p=3890#p3890]&lt;br /&gt;
*With V5aB2, If you do NOT use the external CAN bus or are not properly terminated, &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module. When in doubt, check the resistance of the CAN bus with all devices off. It should be 60 ohms ideally. If you are not using the external CAN then it should be 120 ohms. &lt;br /&gt;
*People had problems with unreliable connectivity between ESP8266 &amp;amp; the charger board [https://openinverter.org/wiki/Olimex_MOD-WIFI-ESP8266#Common_Issues]&lt;br /&gt;
*Firmware &#039;&#039;&#039;1.09&#039;&#039;&#039; and &#039;&#039;&#039;1.10&#039;&#039;&#039; can lose the CAN map, making the logic board go silent, reset instructions here: [https://openinverter.org/forum/viewtopic.php?p=40617&amp;amp;sid=e2369fea2b502a419f55e5aac10fe169#p40617]&lt;br /&gt;
*If a module within the charger is enabled (and all three are enabled by default) then it &#039;&#039;&#039;MUST&#039;&#039;&#039; see AC and DC voltage when charging starts. If it does not then no current will flow on any module. So, triple check your wiring before starting. It can be easy to mix up the line and neutral wires of the AC input. This will not blow up anything but it won&#039;t work either. Mixing up the DC wires is a recipe for a bad time.&lt;br /&gt;
*Some chargers are just raised wrong. As covered above, for reasons we don&#039;t know, some modules will simply refuse to work properly. Most often this will happen to chargers that were previously used in super charger stations but it can happen to chargers that were pulled from Model S cars as well. There is not yet any known fix for this. If it happens the only current solution is a different charger or you live with slow charging.&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
Charger Dimensions: 500x300x100mm&lt;br /&gt;
&lt;br /&gt;
More specific dimensions and CAD info here: https://openinverter.org/forum/viewtopic.php?p=3641#p3641CAD&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=4108</id>
		<title>Tesla Model S/X GEN2 Charger</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=4108"/>
		<updated>2023-10-20T23:54:55Z</updated>

		<summary type="html">&lt;p&gt;Collin80: Updated several sections to better cover troubleshooting and what can go wrong&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
&lt;br /&gt;
The Tesla GEN2 on-board charger (OBC) is a single/three phase 10kW AC charger that was fitted in the Model S from approx. Oct2013&amp;lt;ref&amp;gt;https://teslamotorsclub.com/tmc/posts/6560948/&amp;lt;/ref&amp;gt; until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.  It was the first Tesla OBC capable of fully utilizing external 3-phase AC; [[Tesla Model S GEN1 Charger|previous Tesla OBCs]] lacked the external wiring for three phases.&lt;br /&gt;
&lt;br /&gt;
One or two GEN2 chargers are installed beneath the rear seats in the Model S for AC charging.&lt;br /&gt;
&lt;br /&gt;
The charger is made up of three 3.3 kw modules, each sitting on a liquid cooling plate. This assembly enables both single and multi phase AC charging.&lt;br /&gt;
&lt;br /&gt;
==Important Considerations==&lt;br /&gt;
&lt;br /&gt;
===Output Voltage Range===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;HEED DAMIEN&#039;S WARNING:&#039;&#039;&#039;&amp;lt;ref&amp;gt;https://openinverter.org/forum/viewtopic.php?p=9994#p9994&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;quot;[https://openinverter.org/forum/viewtopic.php?f=10&amp;amp;t=78&amp;amp;p=9994#p9994 Running a Tesla charger at much under 200v dc will cause it to explode. Yes I know the label says 50 to 450v but it lies. Yes I blew one up discovering this.]&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Supported Tesla Part Numbers (TPN)===&lt;br /&gt;
It has been found that early revision units will not work with the OI control boards.&amp;lt;ref&amp;gt;https://openinverter.org/forum/viewtopic.php?t=932&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TPNs to avoid:&lt;br /&gt;
&lt;br /&gt;
*1014963-05-B and 1014963-05-C&lt;br /&gt;
&lt;br /&gt;
TPNs tested and known good:&lt;br /&gt;
&lt;br /&gt;
*1014963-00-E/F/J/K/L&lt;br /&gt;
**1014963-00-G is likely also good, just wasn&#039;t mentioned by name in the referenced thread&lt;br /&gt;
&lt;br /&gt;
=== Supported Software Revisions ===&lt;br /&gt;
At this time, it is not known why but it appears that some firmware revisions of this charger will have problems with maintaining a steady charge. Symptoms of this can be either surging (current goes up, drops to near zero, then surges back) or modules coming online singly followed by all modules going offline, repeat forever. In either case, charge power will be limited. We do not yet know what, exactly, is causing this. However, it is confirmed that swapping charger units but keeping the OI control board can produce working results.&lt;br /&gt;
&lt;br /&gt;
===Cooling===&lt;br /&gt;
The direction of flow in the cooling plate does not seem to matter.&amp;lt;ref&amp;gt;https://openinverter.org/forum/viewtopic.php?p=2030#p2030&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Replacement Control Boards==&lt;br /&gt;
Replacement control board https://github.com/damienmaguire/Tesla-Charger&lt;br /&gt;
&lt;br /&gt;
v5 kit: https://www.evbmw.com/index.php/evbmw-webshop/tesla-boards/tesla-gen-2-charger-logic-board-kit&lt;br /&gt;
&lt;br /&gt;
v5 partially built board: https://www.evbmw.com/index.php/evbmw-webshop/tesla-boards/tesla-gen-2-charger-logic-board-partially-built&lt;br /&gt;
&lt;br /&gt;
github: https://github.com/damienmaguire/Tesla-Charger&lt;br /&gt;
&lt;br /&gt;
=== Charger Connections ===&lt;br /&gt;
[[File:Tesla Charger Logic connections.jpg|none|thumb|607x607px|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!A1&lt;br /&gt;
!A2&lt;br /&gt;
!A3&lt;br /&gt;
!A4&lt;br /&gt;
!A5&lt;br /&gt;
!&lt;br /&gt;
!B1&lt;br /&gt;
!B2&lt;br /&gt;
!B3&lt;br /&gt;
!B4&lt;br /&gt;
! B5&lt;br /&gt;
!B6&lt;br /&gt;
|-&lt;br /&gt;
|OUT2 - AC present&lt;br /&gt;
|&lt;br /&gt;
|D1 - enable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|12V supply&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|CANH&lt;br /&gt;
|Control Pilot&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!A6&lt;br /&gt;
!A7&lt;br /&gt;
! A8&lt;br /&gt;
!A9&lt;br /&gt;
!A10&lt;br /&gt;
!&lt;br /&gt;
!B7&lt;br /&gt;
!B8&lt;br /&gt;
!B9&lt;br /&gt;
!B10&lt;br /&gt;
!B11&lt;br /&gt;
!B12&lt;br /&gt;
|-&lt;br /&gt;
|OUT1 - HV enable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|D2 - 3p&lt;br /&gt;
|&lt;br /&gt;
| GND&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|CANL&lt;br /&gt;
|Proximity&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
The outputs will not output 12v, they are low side switches. If you require a 12v ac present signal then use a relay with its coil switched from the relevant pin. [https://raw.githubusercontent.com/damienmaguire/Tesla-Charger/master/V5/Charger_Gen2_V5aB3%20-%20Schematic.pdf wiring diagram][[File:AC DC Connections.jpg|left|thumb|600x600px]]]]&lt;br /&gt;
&lt;br /&gt;
====Connector part numbers====&lt;br /&gt;
AC and DC power connections (Molex Sabre series):&lt;br /&gt;
&lt;br /&gt;
*housing: 044441-2006&lt;br /&gt;
*pins: 043375-3001 (18-20AWG), 043375-0001 (14-16AWG)&lt;br /&gt;
&lt;br /&gt;
Logic connectors (Molex MX150L series):&lt;br /&gt;
&lt;br /&gt;
*housing: 10-way 19418-0014, 12-way 19418-0026&lt;br /&gt;
*pins: 33012-2002 (18-20AWG), 33012-2001 (14-16AWG)&lt;br /&gt;
&lt;br /&gt;
===Programming===&lt;br /&gt;
You&#039;ll need a ST-LINK/V2 smt32 programmer.  Unofficial ones are cheaply available from amazon and ebay.&lt;br /&gt;
&lt;br /&gt;
*ST-LINK programming utility: https://www.st.com/en/development-tools/stsw-link004.html&lt;br /&gt;
* stm32_loader.hex  https://openinverter.org/forum/viewtopic.php?f=7&amp;amp;t=1119&lt;br /&gt;
&#039;&#039;&#039;Two options:&#039;&#039;&#039;&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#openinverter style firmware https://openinverter.org/forum/viewtopic.php?t=1323 (only available via patreon for next few weeks)&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Target --&amp;gt; Connect&amp;quot; from top menu. You want to see the screen get filled with a data dump of symbols. In the upper right of the screen you can see it identified the device. &lt;br /&gt;
&lt;br /&gt;
In the main viewing window are multiple tabs, click the &amp;quot;Binary File&amp;quot; tab to select it. &lt;br /&gt;
&lt;br /&gt;
This will ask to open a file, you choose: &amp;quot;stm32_loader.hex&amp;quot; from openinverter.org, download ahead of time. This will change what shows up in the viewing window.  &lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Target --&amp;gt; Program and Verify&amp;quot; from the top menu. This pops up a window, and you can probably just click &amp;quot;Start&amp;quot; on that window. This programs the STM32 chip with the stm32_loader.hex file.  &lt;br /&gt;
&lt;br /&gt;
The STM32 on your v5 gen2 Tesla charger Board can now load other files.   &lt;br /&gt;
&lt;br /&gt;
You can close the stm32_loader.hex tab, and go back to the &amp;quot;Binary File&amp;quot; tab, which will ask to open another file. &lt;br /&gt;
&lt;br /&gt;
You choose: &amp;quot;Charger_Gen2_v5.hex&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
Same as last time, click &amp;quot;Target --&amp;gt; Program and Verify&amp;quot; from the top menu. And click Start. &lt;br /&gt;
&lt;br /&gt;
The STM32 on your v5 gen2 Tesla charger Board now also has the software to run.&lt;br /&gt;
&lt;br /&gt;
You are now done with the ST-Link USB dongle, it&#039;s no longer needed. &lt;br /&gt;
&lt;br /&gt;
Future updates can be done via WiFi. (must have esp8266 WiFi module programed https://openinverter.org/forum/viewtopic.php?f=5&amp;amp;t=8 )&lt;br /&gt;
&lt;br /&gt;
=== External CAN bus===&lt;br /&gt;
[[File:Gen2 Charger V5aB2 logic board.jpg|thumb|Gen2 Charger V5aB2 logic board with CAN wired to external pins]]&lt;br /&gt;
The V5aB2 version of the board has no connection to the external CAN bus (V5aB3 has) but you can add it with two bodge wires as shown in the picture. You will find CANH and CANL on the 3 pin header underneath the WiFi module. Route them over to CONN6 as shown. CONN2.1 (CANH) is connected to CONN6.24, CONN2.2 (CANL) to CONN6.26.&lt;br /&gt;
&lt;br /&gt;
Revision V5aB3 does not need this modification. On Revision V5aB3 you &#039;&#039;&#039;MUST&#039;&#039;&#039; close the solder jumper unless your charger is on an already terminated bus (that is, if the bus already has 2 termination resistors, one on each end, and measures 60 ohms with all devices powered off). If you do not use the external CAN, terminate the bus. If you have only two devices on the bus, terminate the bus. If you aren&#039;t sure, double check. &#039;&#039;&#039;Bus termination is important.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you attach to the external CAN bus, be aware that all internal CAN traffic is also seen on the external CAN bus. The following IDs are already used and mustn&#039;t used by any other device on the bus:&lt;br /&gt;
&lt;br /&gt;
207, 209, 20b, 217, 219, 21b, 227, 229, 22b, 237, 239, 23b, 247, 249, 24b, 327, 329, 32b, 347, 349, 34b, 357, 359, 35b, 367, 368, 369, 36b, 377, 379, 37b, 537, 539, 53b, 717, 719, 71b. &lt;br /&gt;
&lt;br /&gt;
====Functionality of external CAN bus====&lt;br /&gt;
With the CAN bus now available externally you can remote control your charger via CAN and also receive some values from it. The mapping is similar to the CHAdeMO CAN protocol. The feature is only available in the commercial firmware.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Charger CAN protocol - up to version 1.06.R&lt;br /&gt;
!ID&lt;br /&gt;
!Direction&lt;br /&gt;
!Byte 0&lt;br /&gt;
! Byte 1&lt;br /&gt;
!Byte 2&lt;br /&gt;
!Byte 3&lt;br /&gt;
!Byte 4&lt;br /&gt;
! Byte 5&lt;br /&gt;
! Byte 6&lt;br /&gt;
!Byte 7&lt;br /&gt;
|-&lt;br /&gt;
|0x102&lt;br /&gt;
|Receive by charger&lt;br /&gt;
|&lt;br /&gt;
|DC voltage limit MSB&lt;br /&gt;
|DC voltage limit LSB&lt;br /&gt;
| DC current set point&lt;br /&gt;
|==1 enable charging&lt;br /&gt;
|SoC&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x108&lt;br /&gt;
|Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|Max DC voltage MSB&lt;br /&gt;
| Max DC voltage LSB&lt;br /&gt;
|Max DC current&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x109&lt;br /&gt;
|Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|DC voltage MSB&lt;br /&gt;
|DC voltage LSB&lt;br /&gt;
|DC current&lt;br /&gt;
|&#039;&#039;0 when off, 5 when charging&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Example: transmit &amp;quot;0x102 # 0 0x1 0x86 0x14 0x1 50 0 0&amp;quot; to enable charging up to a voltage of 390V and a DC current of 20A, report SoC of 50%&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Charger CAN protocol - after version 1.06.R&lt;br /&gt;
!ID&lt;br /&gt;
!Direction&lt;br /&gt;
!Byte 0&lt;br /&gt;
!Byte 1&lt;br /&gt;
!Byte 2&lt;br /&gt;
!Byte 3&lt;br /&gt;
!Byte 4&lt;br /&gt;
!Byte 5&lt;br /&gt;
!Byte 6&lt;br /&gt;
!Byte 7&lt;br /&gt;
|-&lt;br /&gt;
| 0x102&lt;br /&gt;
|Receive by charger&lt;br /&gt;
|&lt;br /&gt;
|DC voltage limit MSB&lt;br /&gt;
|DC voltage limit LSB&lt;br /&gt;
|DC current set point&lt;br /&gt;
|&lt;br /&gt;
|==1 enable charging&lt;br /&gt;
|SoC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x108&lt;br /&gt;
|Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|Max DC voltage MSB&lt;br /&gt;
| Max DC voltage LSB&lt;br /&gt;
|Max DC current&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x109&lt;br /&gt;
| Transmit by charger&lt;br /&gt;
|Version=0&lt;br /&gt;
|DC voltage MSB&lt;br /&gt;
|DC voltage LSB&lt;br /&gt;
|DC current&lt;br /&gt;
|&lt;br /&gt;
|0 when off, 5 when charging&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
[[File:Parameter view of commercial firmware.png|thumb|Parameter view of commercial firmware]]&lt;br /&gt;
&lt;br /&gt;
===openinverter style charger firmware===&lt;br /&gt;
In addition to the open source firmware there is also an openinverter style firmware. It adds advanced features:&lt;br /&gt;
*Support for the standard open inverter web interface&lt;br /&gt;
*Parameter handling as known from the inverter firmware (see picture)&lt;br /&gt;
*Spot value handling like inverter including plotting, gauges, and logging&lt;br /&gt;
*Over the air update like inverter&lt;br /&gt;
*DC current control&lt;br /&gt;
* CAN control as described above&lt;br /&gt;
The firmware requires the board to be flashed with [https://github.com/jsphuebner/tumanako-inverter-fw-bootloader/releases stm32_loader.hex]. An Olimex MOD-ESP8266 must be programmed with the [https://github.com/jsphuebner/esp8266-web-interface openinverter web interface]. See [[Olimex MOD-WIFI-ESP8266]] and [https://openinverter.org/forum/viewtopic.php?f=5&amp;amp;t=8 this forum thread] for flashing instructions. With that done, future updates will happen via the web interface.&lt;br /&gt;
&lt;br /&gt;
The firmware will soon be fully published and is only available via patreon for now: https://www.patreon.com/openinverter&lt;br /&gt;
&lt;br /&gt;
====Connecting to the Web interface====&lt;br /&gt;
Depending on the version of your Olimex wifi dongle they are &amp;quot;open&amp;quot; or you need a password to connect.&lt;br /&gt;
&lt;br /&gt;
By default you can connect to the network (Access Point) and browse to: &#039;&#039;&#039;192.168.4.1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default all charger kits will have &#039;&#039;&#039;SSID&#039;&#039;&#039; : charger &#039;&#039;&#039;PASSWORD&#039;&#039;&#039; : charger123&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Its recommend that you change it. Nobody wants to drive and have some joker with a phone finding this information and accessing your charger.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Registration====&lt;br /&gt;
This step is no longer needed as the firmware will soon be published. It is already available on patreon: https://www.patreon.com/openinverter&lt;br /&gt;
&lt;br /&gt;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
===Commercial firmware usage manual===&lt;br /&gt;
==== Parameters====&lt;br /&gt;
The firmware exports a number of parameters to be modified by the user. All modifications are temporary until you hit &amp;quot;Save Parameters to Flash&amp;quot; at the top of the page.&lt;br /&gt;
&lt;br /&gt;
We will go over all of them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;idclim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This parameter is mainly relevant for CAN operation. It is transmitted via CAN to let the vehicle know how much DC current the charger can deliver. Each charger module maxes out at about 15.5A so the maximum total charging current is 46.5A. Since the total power is also limited to 10 kW it depends on the output voltage as well. There is no need to be exact on this, the firmware will automatically limit the AC input current to each module to the hardware maximum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iaclim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the per-module AC current limit. When charging from a 3-phase outlet (see below) each module will be allowed this current. When charging from single phase, this current will be equally distributed between the enabled chargers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;idcspnt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
DC charge current limit. An additional limit to charge power. It is also mapped to the CAN bus so if you have a BMS that calculates a maximum charge current you can forward this to the charger.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;chargerena&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here you can program which charger modules you want to enable. It is a flag channel, so 1 means &amp;quot;Module 1 enabled&amp;quot;, 2 means &amp;quot;Module 2 enabled&amp;quot; and 4 means &amp;quot;Module 3 enabled&amp;quot;. Combining these flags enables multiple modules, e.g. 5=4+1 enables modules 1 and 3. 7=4+2+1 enables all modules. This is the default. The parameter can not be directly changed, but you have to type &amp;quot;set chargerena 5&amp;quot; next to where it says &amp;quot;Send Custom Command&amp;quot; on the top of the page and then press the button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;udcspnt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This modifies the constant voltage setpoint of the chargers. This value is transmitted directly to the modules without further processing. It lets you add a constant voltage phase to your charge process. When reaching this voltage the chargers will control the current to maintain this voltage.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;udclim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This parameters specifies a charge end condition. When the voltage is hit the charging process stops and will not resume until you re-plug the charge cable. If you wish to add a constant voltage phase and control charge end by your BMS, set this parameter higher than udcspnt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;timelim&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;inputype&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Type2&#039;&#039;&#039;: Specifies one or more modules are operated on ONE common phase of a Type-2 EVSE. The limits imposed by &#039;&#039;cablelim&#039;&#039; and &#039;&#039;evselim&#039;&#039; (pilot signal) are distributed equally over the enabled modules. For example if you enable all 3 modules, the cable allows 32A but the EVSE only allows 16A, every module will run at 16/3=5.3A. Charging will start automatically as soon as proximity and a valid pilot signal is detected.&lt;br /&gt;
*&#039;&#039;&#039;Type2-3P&#039;&#039;&#039;: Specifies each module is connected to a different phase of a Type-2 EVSE. The limits imposed by &#039;&#039;cablelim&#039;&#039; and &#039;&#039;evselim&#039;&#039; are allowed for each module.&lt;br /&gt;
*&#039;&#039;&#039;Type-2Auto&#039;&#039;&#039;: relies on input D2 to indicate that 3 phase is present (from external relay), to allow charging on either single or three phase automatically.&lt;br /&gt;
*&#039;&#039;&#039;Type1&#039;&#039;&#039;: Like &#039;&#039;&#039;Type2&#039;&#039;&#039; but &#039;&#039;cablelim&#039;&#039; is always assumed 40A.&lt;br /&gt;
*&#039;&#039;&#039;Manual&#039;&#039;&#039;: Specifies one or more modules are operated on ONE common phase, power is distributed like in &#039;&#039;&#039;Type2&#039;&#039;&#039; mode. Charging starts as soon as the enable pin &amp;quot;D1&amp;quot; goes high. &#039;&#039;iaclim&#039;&#039; MUST be configured to the limits of your AC source as there is no automatic detection like in Type1 or Type2 modes.&lt;br /&gt;
*&#039;&#039;&#039;Manual-3P&#039;&#039;&#039;: Specifies that each module is connected to a different phase of 3-phase outlet. Each module is allowed &#039;&#039;iaclim&#039;&#039; AC current. &#039;&#039;iaclim&#039;&#039; MUST be configured to the limits of your AC source as there is no automatic detection like in Type1 or Type2 modes.&lt;br /&gt;
&#039;&#039;&#039;cancontrol&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When on, expect charging instructions via CAN message 0x102 as described above. Charging will start when the enable bit is set. when no CAN message is received for 1s, charging will stop. Note that the digital enable input &amp;quot;D1&amp;quot; also needs to high to allow charging. Also the autostart conditions apply when enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;idckp/idcki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Software pin, obtained by registration.&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
&lt;br /&gt;
Videos by Damien Maguire showing internals of the charger, CAN IDs, wiring, and development of the board:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=LqJ7HhS65po The Tesla Project : 10 Kw Gen 2 Charger]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=ULadBnl7wgM The Tesla Project : Charger Progress]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=mOIgp3QFg78 The Tesla Project : 10kW Charger Charging]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=BG4kYsoHe54 The Tesla Project : More Charger Hacking]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=bPLqXCiArVM The Tesla Project : Charger 10kw Run]&lt;br /&gt;
&lt;br /&gt;
A 15 min intro from a user perspective: https://www.youtube.com/watch?v=ibtr6v1k0cA&lt;br /&gt;
&lt;br /&gt;
==Common Issues==&lt;br /&gt;
&lt;br /&gt;
*The Tesla chargers are very sensitive to grounding. The case MUST be connected to vehicle 12v ground AND evse earth/ground when charging. [https://openinverter.org/forum/viewtopic.php?p=3890#p3890]&lt;br /&gt;
*With V5aB2, If you do NOT use the external CAN bus or are not properly terminated, &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module. When in doubt, check the resistance of the CAN bus with all devices off. It should be 60 ohms ideally. If you are not using the external CAN then it should be 120 ohms. &lt;br /&gt;
*People had problems with unreliable connectivity between ESP8266 &amp;amp; the charger board [https://openinverter.org/wiki/Olimex_MOD-WIFI-ESP8266#Common_Issues]&lt;br /&gt;
*Firmware &#039;&#039;&#039;1.09&#039;&#039;&#039; and &#039;&#039;&#039;1.10&#039;&#039;&#039; can lose the CAN map, making the logic board go silent, reset instructions here: [https://openinverter.org/forum/viewtopic.php?p=40617&amp;amp;sid=e2369fea2b502a419f55e5aac10fe169#p40617]&lt;br /&gt;
*If a module within the charger is enabled (and all three are enabled by default) then it &#039;&#039;&#039;MUST&#039;&#039;&#039; see AC and DC voltage when charging starts. If it does not then no current will flow on any module. So, triple check your wiring before starting. It can be easy to mix up the line and neutral wires of the AC input. This will not blow up anything but it won&#039;t work either. Mixing up the DC wires is a recipe for a bad time.&lt;br /&gt;
*Some chargers are just raised wrong. As covered above, for reasons we don&#039;t know, some modules will simply refuse to work properly. Most often this will happen to chargers that were previously used in super charger stations but it can happen to chargers that were pulled from Model S cars as well. There is not yet any known fix for this. If it happens the only current solution is a different charger or you live with slow charging.&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
Charger Dimensions: 500x300x100mm&lt;br /&gt;
&lt;br /&gt;
More specific dimensions and CAD info here: https://openinverter.org/forum/viewtopic.php?p=3641#p3641CAD&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_Large_Drive_Unit_(%22LDU%22)&amp;diff=3906</id>
		<title>Tesla Model S/X Large Drive Unit (&quot;LDU&quot;)</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_Large_Drive_Unit_(%22LDU%22)&amp;diff=3906"/>
		<updated>2023-06-14T01:25:22Z</updated>

		<summary type="html">&lt;p&gt;Collin80: Added a blurb about CAN control&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Tesla Model S/X Large Rear Drive Unit...&lt;br /&gt;
&lt;br /&gt;
[[LDU Connectors]]&lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=64 Purchase in openinverter shop]&lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/parameters/view.html?id=16 Parameters]&lt;br /&gt;
&lt;br /&gt;
[[Setup FAQ]]&lt;br /&gt;
&lt;br /&gt;
=== Ampseal Connector Mapping ===&lt;br /&gt;
[[File:LDU connection diagram.png|thumb|489x489px|LDU connection diagram]]&lt;br /&gt;
[[File:HV wiring.jpg|thumb|487x487px|HV wiring with precharge and main contactors]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;PIN NUMBER&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;OEM&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;OPEN SOURCE&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|IGN +12V&lt;br /&gt;
|IGN +12V&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|BRAKE ON N.O.&lt;br /&gt;
|BRAKE ON&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|BRAKE OFF N.C.&lt;br /&gt;
|PRECHARGE RELAY&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|CAN HIGH&lt;br /&gt;
|CAN HIGH&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|CAN LOW&lt;br /&gt;
|CAN LOW&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|CHG PROXIMITY&lt;br /&gt;
|MAIN CONTACTOR&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|HVIL IN&lt;br /&gt;
|FORWARD&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|HVIL OUT&lt;br /&gt;
|REVERSE&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|ENC +5V&lt;br /&gt;
|ENC +5V&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;10&#039;&#039;&#039;&lt;br /&gt;
|ENC A&lt;br /&gt;
|ENC A&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;11&#039;&#039;&#039;&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;12&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 1 +5V&lt;br /&gt;
|ACCEL 5V&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;13&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 1&lt;br /&gt;
|ACCEL INPUT&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;14&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 2&lt;br /&gt;
|BRAKE TRANSDUCER&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;15&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 1 GND&lt;br /&gt;
|ACCEL GND&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;16&#039;&#039;&#039;&lt;br /&gt;
|ENC B&lt;br /&gt;
|ENC B&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;17&#039;&#039;&#039;&lt;br /&gt;
|ENC GND&lt;br /&gt;
|ENC GND&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;18&#039;&#039;&#039;&lt;br /&gt;
|ENC SHIELD&lt;br /&gt;
|ENC SHIELD&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;19&#039;&#039;&#039;&lt;br /&gt;
|CAN HIGH OUT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;20&#039;&#039;&#039;&lt;br /&gt;
|CAN LOW OUT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;21&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 2 +5V&lt;br /&gt;
|CRUISE IN&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;22&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 2 GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;23&#039;&#039;&#039;&lt;br /&gt;
|12V ALWAYS T30&lt;br /&gt;
|START&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Tesla large drive unit logic board&#039;&#039;&#039; ===&lt;br /&gt;
This board replaces the original board  that comes with the OEM Tesla drive train. As opposed to the latter this board lets you use the drive train in the first place and allows you to fine-tune driving behaviour with the usual set of openinverter parameters. It does not restrict you in power output or regen input.&lt;br /&gt;
&lt;br /&gt;
You can fully control the board via CAN or via a set of digital and analog inputs.&lt;br /&gt;
&lt;br /&gt;
=== Application Info ===&lt;br /&gt;
If you buy the board from the openinverter shop it comes programmed with a recent software version. Please check [https://github.com/jsphuebner/stm32-sine/releases github] for recent software releases. In addition the board comes with a set of parameters appropriate to run the Tesla LDU. So it will work out of the box. Parameters that must not be changed are hidden to eliminate sources of error.&lt;br /&gt;
&lt;br /&gt;
You will need to solder the supplied connectors to the board. The drive unit connectors will plug right in.&lt;br /&gt;
&lt;br /&gt;
To test run your drive unit, supply the board with 12V and GND on the Ampseal connector. Also supply 12V „Forward“ to select forward direction.&lt;br /&gt;
&lt;br /&gt;
Supply inverter with some high voltage. For first tests it is recommended to put a large resistor/heating element/kettle in series.&lt;br /&gt;
&lt;br /&gt;
You can start in manual mode using the button on the web interface and enter like 1Hz for „Fslipspnt“ and some value between 10-50 for „ampnom“ to see if the motor spins up. Be careful because manual mode does not enforce a motor speed limit! However, „Fslipspnt“ sets the base speed requested of the motor. Setting it to 1Hz will spin the motor very slowly. Setting it to 5, 10, or 15Hz will spin it progressively faster. For any given speed you will need to experiment with „ampnom“ to find a happy place where enough current is allowed to flow but not too much. Finding a good set of values should make your motor spin reasonably smoothly.&lt;br /&gt;
&lt;br /&gt;
You may also set parameter „udcsw“ and „udcmin“ to 0 and start drive mode by pulsing 12V on „Start“. Then connect a pot between 5V, GND and „Pot“ (wiper). This will also spin the motor AND enforce a speed limit.&lt;br /&gt;
&lt;br /&gt;
By default the inverter is controlled as above - by using digital I/O and directly connecting an accelerator pedal. However, it is also possible to control it directly over CAN: [[CAN communication]]&lt;br /&gt;
&lt;br /&gt;
CAN control could be used to control the inverter via an external VCU such as the Zombie (not yet supported).&lt;br /&gt;
&lt;br /&gt;
=== On Encoder Issues ===&lt;br /&gt;
It is not uncommon to have issues with the encoder on these drive units. The encoder is connected via a 4 wire cable from the 23 pin external connector of the drive unit to the encoder which is situated on the opposite side of the drive unit. The biggest sign of encoder problems is the motor &amp;quot;bucking&amp;quot; back and forth and not wanting to spin properly in the requested direction. It may spin the direction you&#039;ve asked for but roughly and with great trouble. This situation needs to be corrected. There are a number of things that could be wrong:&lt;br /&gt;
&lt;br /&gt;
# The wires may be broken. You should attempt a continuity check of each of the wires.&lt;br /&gt;
# The encoder signals may be backward. There are two channels - A and B. They must be presented to the inverter in the proper order. If this is in doubt, try swapping them.&lt;br /&gt;
# One of the encoder signals may be missing. As above, there should always be two channels. They&#039;re &amp;quot;quadrature&amp;quot; which means that they fire 90 degrees apart.&lt;br /&gt;
&lt;br /&gt;
To check the encoder signals you should have either a logic analyzer or an oscilloscope. Both come in a wide range of prices. The encoder signal is not particularly fast, especially when the motor is not spinning that fast. As such, even cheap test equipment can be adequate. You may find that there is no particularly good place to connect to in order to read the encoder signals. But, there does exist a reasonable place - right at the 20 pin connector on the LDU board where the 23 pin external connector&#039;s wires are routed. If your logic analyzer or oscilloscope has little grabber adapters you can do something like in this picture:&lt;br /&gt;
[[File:ClipsOnPins-LDUEncoder.jpg|frame]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The pins on this connector are numbered starting with 1 at the far right and going more positive toward the left until you get to pin 20.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Pin Number&lt;br /&gt;
!Function&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Encoder 5V Source&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Encoder A Channel&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Encoder B Channel&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Encoder Ground&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So, in the picture, channel 0 is connected to encoder 5v (to monitor that voltage is properly there), channel 1 is connected to the A channel of the encoder, channel 2 is connected to the B encoder channel, and scope ground is connected to the encoder ground wire. This allows for monitoring all of the relevant signals. But, keep in mind not to short any pins while doing this. Very fine probes will be needed and extreme caution not to clip two pins together. The clips/grabbers in this picture are from a Saleae Logic Pro 8. This is *NOT* your cheapest option for monitoring encoder signals but does work very well. It also doubles as a 50Mhz oscilloscope which can be handy. Cheaper options (including knock offs of Saleae Logic) do exist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a picture of what it may look like when one encoder signal is missing:&lt;br /&gt;
[[File:Logic Encoder1.png|center|frame|Note how Channel 1 shows an encoder signal but Channel 2 looks completely flat. This should not occur. If one is showing a signal, so should the other.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another good way to check the encoder is to use the steps to enter manual mode but do not set „Fslipspnt“ nor „ampnom“. You need to not be in &amp;quot;Off&amp;quot; mode. In Off mode the speed and turns values do not update in the spot values. But, in manual mode they do. So, enter manual mode without asking for any speed, then turn the motor. With the motor spinning you should see some position feedback in the form of a non-zero speed value and the turns value should increment. If these things do not reliably occur then you may still be having encoder problems. If they do occur, still check to ensure that your A and B channels are the right way around.&lt;br /&gt;
&lt;br /&gt;
=== Other considerations ===&lt;br /&gt;
The motor itself seems to run as well in the reverse direction as in the forward direction. However if you are running the gearbox integrated with the drive unit in reverse you will want to replace the gearbox&#039;s oil pump with a reverse oil pump. These can be found on ZeroEV. [https://zero-ev.co.uk/product/tesla-large-drive-unit-replacement-reverse-drive-oil-pump/?v=3a52f3c22ed6]&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Tesla]] [[Category:Motor]] [[Category:Inverter]] [[Category:Gearbox]]&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_Large_Drive_Unit_(%22LDU%22)&amp;diff=3905</id>
		<title>Tesla Model S/X Large Drive Unit (&quot;LDU&quot;)</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_Large_Drive_Unit_(%22LDU%22)&amp;diff=3905"/>
		<updated>2023-06-13T21:52:05Z</updated>

		<summary type="html">&lt;p&gt;Collin80: Added additional info about how to use manual mode, added a section on encoder issues and how to diagnose them.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Tesla Model S/X Large Rear Drive Unit...&lt;br /&gt;
&lt;br /&gt;
[[LDU Connectors]]&lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=64 Purchase in openinverter shop]&lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/parameters/view.html?id=16 Parameters]&lt;br /&gt;
&lt;br /&gt;
[[Setup FAQ]]&lt;br /&gt;
&lt;br /&gt;
=== Ampseal Connector Mapping ===&lt;br /&gt;
[[File:LDU connection diagram.png|thumb|489x489px|LDU connection diagram]]&lt;br /&gt;
[[File:HV wiring.jpg|thumb|487x487px|HV wiring with precharge and main contactors]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;PIN NUMBER&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;OEM&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;OPEN SOURCE&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|IGN +12V&lt;br /&gt;
|IGN +12V&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|BRAKE ON N.O.&lt;br /&gt;
|BRAKE ON&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|BRAKE OFF N.C.&lt;br /&gt;
|PRECHARGE RELAY&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|CAN HIGH&lt;br /&gt;
|CAN HIGH&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|CAN LOW&lt;br /&gt;
|CAN LOW&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|CHG PROXIMITY&lt;br /&gt;
|MAIN CONTACTOR&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|HVIL IN&lt;br /&gt;
|FORWARD&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|HVIL OUT&lt;br /&gt;
|REVERSE&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|ENC +5V&lt;br /&gt;
|ENC +5V&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;10&#039;&#039;&#039;&lt;br /&gt;
|ENC A&lt;br /&gt;
|ENC A&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;11&#039;&#039;&#039;&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;12&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 1 +5V&lt;br /&gt;
|ACCEL 5V&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;13&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 1&lt;br /&gt;
|ACCEL INPUT&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;14&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 2&lt;br /&gt;
|BRAKE TRANSDUCER&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;15&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 1 GND&lt;br /&gt;
|ACCEL GND&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;16&#039;&#039;&#039;&lt;br /&gt;
|ENC B&lt;br /&gt;
|ENC B&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;17&#039;&#039;&#039;&lt;br /&gt;
|ENC GND&lt;br /&gt;
|ENC GND&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;18&#039;&#039;&#039;&lt;br /&gt;
|ENC SHIELD&lt;br /&gt;
|ENC SHIELD&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;19&#039;&#039;&#039;&lt;br /&gt;
|CAN HIGH OUT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;20&#039;&#039;&#039;&lt;br /&gt;
|CAN LOW OUT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;21&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 2 +5V&lt;br /&gt;
|CRUISE IN&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;22&#039;&#039;&#039;&lt;br /&gt;
|ACCEL 2 GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;23&#039;&#039;&#039;&lt;br /&gt;
|12V ALWAYS T30&lt;br /&gt;
|START&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Tesla large drive unit logic board&#039;&#039;&#039; ===&lt;br /&gt;
This board replaces the original board  that comes with the OEM Tesla drive train. As opposed to the latter this board lets you use the drive train in the first place and allows you to fine-tune driving behaviour with the usual set of openinverter parameters. It does not restrict you in power output or regen input.&lt;br /&gt;
&lt;br /&gt;
You can fully control the board via CAN or via a set of digital and analog inputs.&lt;br /&gt;
&lt;br /&gt;
=== Application Info ===&lt;br /&gt;
If you buy the board from the openinverter shop it comes programmed with a recent software version. Please check [https://github.com/jsphuebner/stm32-sine/releases github] for recent software releases. In addition the board comes with a set of parameters appropriate to run the Tesla LDU. So it will work out of the box. Parameters that must not be changed are hidden to eliminate sources of error.&lt;br /&gt;
&lt;br /&gt;
You will need to solder the supplied connectors to the board. The drive unit connectors will plug right in.&lt;br /&gt;
&lt;br /&gt;
To test run your drive unit, supply the board with 12V and GND on the Ampseal connector. Also supply 12V „Forward“ to select forward direction.&lt;br /&gt;
&lt;br /&gt;
Supply inverter with some high voltage. For first tests it is recommended to put a large resistor/heating element/kettle in series.&lt;br /&gt;
&lt;br /&gt;
You can start in manual mode using the button on the web interface and enter like 1Hz for „Fslipspnt“ and some value between 10-50 for „ampnom“ to see if the motor spins up. Be careful because manual mode does not enforce a motor speed limit! However, „Fslipspnt“ sets the base speed requested of the motor. Setting it to 1Hz will spin the motor very slowly. Setting it to 5, 10, or 15Hz will spin it progressively faster. For any given speed you will need to experiment with „ampnom“ to find a happy place where enough current is allowed to flow but not too much. Finding a good set of values should make your motor spin reasonably smoothly.&lt;br /&gt;
&lt;br /&gt;
You may also set parameter „udcsw“ and „udcmin“ to 0 and start drive mode by pulsing 12V on „Start“. Then connect a pot between 5V, GND and „Pot“ (wiper). This will also spin the motor AND enforce a speed limit.&lt;br /&gt;
&lt;br /&gt;
=== On Encoder Issues ===&lt;br /&gt;
It is not uncommon to have issues with the encoder on these drive units. The encoder is connected via a 4 wire cable from the 23 pin external connector of the drive unit to the encoder which is situated on the opposite side of the drive unit. The biggest sign of encoder problems is the motor &amp;quot;bucking&amp;quot; back and forth and not wanting to spin properly in the requested direction. It may spin the direction you&#039;ve asked for but roughly and with great trouble. This situation needs to be corrected. There are a number of things that could be wrong:&lt;br /&gt;
&lt;br /&gt;
# The wires may be broken. You should attempt a continuity check of each of the wires.&lt;br /&gt;
# The encoder signals may be backward. There are two channels - A and B. They must be presented to the inverter in the proper order. If this is in doubt, try swapping them.&lt;br /&gt;
# One of the encoder signals may be missing. As above, there should always be two channels. They&#039;re &amp;quot;quadrature&amp;quot; which means that they fire 90 degrees apart.&lt;br /&gt;
&lt;br /&gt;
To check the encoder signals you should have either a logic analyzer or an oscilloscope. Both come in a wide range of prices. The encoder signal is not particularly fast, especially when the motor is not spinning that fast. As such, even cheap test equipment can be adequate. You may find that there is no particularly good place to connect to in order to read the encoder signals. But, there does exist a reasonable place - right at the 20 pin connector on the LDU board where the 23 pin external connector&#039;s wires are routed. If your logic analyzer or oscilloscope has little grabber adapters you can do something like in this picture:&lt;br /&gt;
[[File:ClipsOnPins-LDUEncoder.jpg|frame]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The pins on this connector are numbered starting with 1 at the far right and going more positive toward the left until you get to pin 20.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Pin Number&lt;br /&gt;
!Function&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Encoder 5V Source&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Encoder A Channel&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Encoder B Channel&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Encoder Ground&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So, in the picture, channel 0 is connected to encoder 5v (to monitor that voltage is properly there), channel 1 is connected to the A channel of the encoder, channel 2 is connected to the B encoder channel, and scope ground is connected to the encoder ground wire. This allows for monitoring all of the relevant signals. But, keep in mind not to short any pins while doing this. Very fine probes will be needed and extreme caution not to clip two pins together. The clips/grabbers in this picture are from a Saleae Logic Pro 8. This is *NOT* your cheapest option for monitoring encoder signals but does work very well. It also doubles as a 50Mhz oscilloscope which can be handy. Cheaper options (including knock offs of Saleae Logic) do exist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a picture of what it may look like when one encoder signal is missing:&lt;br /&gt;
[[File:Logic Encoder1.png|center|frame|Note how Channel 1 shows an encoder signal but Channel 2 looks completely flat. This should not occur. If one is showing a signal, so should the other.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another good way to check the encoder is to use the steps to enter manual mode but do not set „Fslipspnt“ nor „ampnom“. You need to not be in &amp;quot;Off&amp;quot; mode. In Off mode the speed and turns values do not update in the spot values. But, in manual mode they do. So, enter manual mode without asking for any speed, then turn the motor. With the motor spinning you should see some position feedback in the form of a non-zero speed value and the turns value should increment. If these things do not reliably occur then you may still be having encoder problems. If they do occur, still check to ensure that your A and B channels are the right way around.&lt;br /&gt;
&lt;br /&gt;
=== Other considerations ===&lt;br /&gt;
The motor itself seems to run as well in the reverse direction as in the forward direction. However if you are running the gearbox integrated with the drive unit in reverse you will want to replace the gearbox&#039;s oil pump with a reverse oil pump. These can be found on ZeroEV. [https://zero-ev.co.uk/product/tesla-large-drive-unit-replacement-reverse-drive-oil-pump/?v=3a52f3c22ed6]&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Tesla]] [[Category:Motor]] [[Category:Inverter]] [[Category:Gearbox]]&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:ClipsOnPins-LDUEncoder.jpg&amp;diff=3904</id>
		<title>File:ClipsOnPins-LDUEncoder.jpg</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:ClipsOnPins-LDUEncoder.jpg&amp;diff=3904"/>
		<updated>2023-06-13T21:44:24Z</updated>

		<summary type="html">&lt;p&gt;Collin80: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grabber clips on the pins of 20 pin connector on LDU board&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:Logic_Encoder1.png&amp;diff=3903</id>
		<title>File:Logic Encoder1.png</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:Logic_Encoder1.png&amp;diff=3903"/>
		<updated>2023-06-13T21:28:08Z</updated>

		<summary type="html">&lt;p&gt;Collin80: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Picture showing two lines - one jumps up and down showing a valid encoder signal, the other is completely flat&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_A/C_Compressor_Gen2&amp;diff=3680</id>
		<title>Tesla Model S/X A/C Compressor Gen2</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_A/C_Compressor_Gen2&amp;diff=3680"/>
		<updated>2023-03-30T22:56:03Z</updated>

		<summary type="html">&lt;p&gt;Collin80: /* Overview */ Details of the CAN based controller are now known&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
There are two known variants of A/C compressors used in Model S &amp;amp; X. The first generation is a unit by Denso which can be controlled via PWM. Later units built by HVCC and Hanon are CAN-controlled - details for controlling these variants are found here. Details of the PWM version are found in the GEN1 topic.&lt;br /&gt;
&lt;br /&gt;
Early years of Model S (2013-2014) used an ES34C by Denso with part number 6007380-00-D.&lt;br /&gt;
&lt;br /&gt;
Later models (2015+) used a HVCC ESC33 with Tesla part number 1028398-00-E, 1028398-00-F and 1028398-00-J. Tesla also used the Hanon HES33 and is found with number 1063369-00-D, 1063369-00-E, 1063369-00-F and 1063369-00-G. &lt;br /&gt;
&lt;br /&gt;
==Gen 2 Unit (HVCC ES33, Hanon HES33)==&lt;br /&gt;
&lt;br /&gt;
=== Power Draw ===&lt;br /&gt;
As per: https://www.diyelectriccar.com/threads/tesla-a-c-compressor-questions.189978/post-1061852&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Current draw at maximum load is in the neighborhood of 12 amps @ 360V, so somewhere around 4.5kW draw.&#039;&#039; This has not been confirmed for the CAN version covered here. However, it is reasonable to assume that the power draw is similar to the GEN1.&lt;br /&gt;
&lt;br /&gt;
===Control/Pinouts===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|+LV pinout&lt;br /&gt;
!pin&lt;br /&gt;
!function&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|12V Enable Pin (White/DarkBlue or Red/Green)&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|CAN High (White/Red or Red/White)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|CAN Low (Red)&lt;br /&gt;
|-&lt;br /&gt;
|4 &lt;br /&gt;
|Ground (Black)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The colors listed are for the OEM harness. The colors are different between model years. However, the CAN wires will be the two wires that are twisted together. Ground seems always to be black leaving the enable pin to the the remaining wire.&lt;br /&gt;
&lt;br /&gt;
This compressor will provide no CAN traffic at all given only 12V. One must provide approximately 340V DC power to the HV pins, ground pin 4, ground the chassis of the compressor to the frame of the vehicle, and then provide +12V to pin 1 to wake the unit up. It will then begin to send out periodic CAN status messages.&lt;br /&gt;
&lt;br /&gt;
===Wiring/Connectors===&lt;br /&gt;
&lt;br /&gt;
====HV====&lt;br /&gt;
Polarity of the HV connector (as looking into the connector):&lt;br /&gt;
&lt;br /&gt;
[[File:Denso-ES34C-HV-polarity.jpg|border|200x200px]]&lt;br /&gt;
&lt;br /&gt;
Details of the connector itself are currently unknown, though an HV cable from a Lexus hybrid (i.e. GS450H) A/C compressor has been known to work if a Tesla assembly can&#039;t be sourced.&lt;br /&gt;
====LV====&lt;br /&gt;
&lt;br /&gt;
Not currently sure of the connector part #. I used an original harness from a 2015 Model S.&lt;br /&gt;
&lt;br /&gt;
====CAN Control====&lt;br /&gt;
&lt;br /&gt;
The compressor requires only one ID in order to begin operation:&lt;br /&gt;
&lt;br /&gt;
0x28A - 8 Bytes of data&lt;br /&gt;
&lt;br /&gt;
# Bytes 0 and 1 encode the target duty cycle for the compressor in 0.1% increments. For instance, 40% is then 400 as a value. Values are stored little endian and so byte 0 is the low byte and byte 1 is the high byte. 400 will be encoded as 0x90 0x01&lt;br /&gt;
# Bytes 2 and 3 encode the maximum power draw allowable in watts. This is also stored little endian. For instance, 3000W is 0xB8 0x0B&lt;br /&gt;
# Byte 4 can be set to 0&lt;br /&gt;
# Byte 5 must be set to 1 to enable the compressor&lt;br /&gt;
# Bytes 6 and 7 can be set to 0&lt;br /&gt;
&lt;br /&gt;
So, to command 40% duty cycle and a maximum power draw of 3000W you would send&lt;br /&gt;
0x28A - 90 01 B8 0B 00 01 00 00&lt;br /&gt;
&lt;br /&gt;
Testing was done with this message being sent every 50ms. It may not be required to send the message this frequently. 100ms interval is probably sufficient.&lt;br /&gt;
&lt;br /&gt;
The compressor will report status on two main IDs:&lt;br /&gt;
&lt;br /&gt;
0x223 - Various status flags&lt;br /&gt;
# Bytes 0 and 1 encode the speed of the compressor in RPM. (Little endian as all signals for the compressor are encoded)&lt;br /&gt;
# Bytes 2 and 3 encode the output duty cycle in tenths of a percent&lt;br /&gt;
# Byte 4 encodes the temperature of the compressor&#039;s built-in inverter. This is degrees Centigrade + 40. (So, a reading of 0 means -40C)&lt;br /&gt;
# Byte 5 has many status bits. If any of them are 1 you&#039;re going to have a bad time.&lt;br /&gt;
# Byte 6 continues the error flags. You want this value to also read zero.&lt;br /&gt;
# Byte 7 the top bit (0x80 / bit 7) is &amp;quot;Compressor is Ready!&amp;quot; The lower 4 bits are the compressor status but only the bottom 2 bits are used. 0 = None, 1 = Normal, 2 = Wait, 3 = Faulted&lt;br /&gt;
&lt;br /&gt;
As an example:&lt;br /&gt;
0x223 68 05 0E 00 41 00 00 81 means 1384RPM, 1.4% duty cycle, 25C inverter, no faults, compressor is ready, status is normal&lt;br /&gt;
&lt;br /&gt;
0x233 - High voltage status&lt;br /&gt;
&lt;br /&gt;
# Bytes 0 and 1 encode the high voltage reading in tenths of a volt. This signal, as all others, is little endian.&lt;br /&gt;
# Byte 2 encodes the 12V input voltage. In theory it should be in tenths of a volt but I have it reporting as 0xFF&lt;br /&gt;
# Bytes 3 and 4 encode the compressor current draw in tenths of an amp&lt;br /&gt;
# Bytes 5 and 6 encode the actual power draw of the compressor in watts&lt;br /&gt;
&lt;br /&gt;
As an example:&lt;br /&gt;
0x233 65 0E FF 0B 00 94 01 00 means 368.5V, 1.1A, 404 watts (LV stuck at 25.5V) &lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
GEVCU7 will shortly have example code for how to command the compressor and interpret the status feedback.&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:HVAC]]&lt;br /&gt;
[[Category:Thermal Management]]&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_A/C_Compressor_Gen2&amp;diff=3679</id>
		<title>Tesla Model S/X A/C Compressor Gen2</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_A/C_Compressor_Gen2&amp;diff=3679"/>
		<updated>2023-03-30T22:53:16Z</updated>

		<summary type="html">&lt;p&gt;Collin80: Created page with &amp;quot;== Overview == There are two known variants of A/C compressors used in Model S &amp;amp; X. The first generation is a unit by Denso which can be controlled via PWM. Later units built by HVCC and Hanon are CAN-controlled - details for controlling these variants are found here. Details of the PWM version are found in the GEN1 topic.  Early years of Model S (2013-2014) used an ES34C by Denso with part number 6007380-00-D.  Later models (2015+) used a HVCC ESC33 with Tesla part numb...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
There are two known variants of A/C compressors used in Model S &amp;amp; X. The first generation is a unit by Denso which can be controlled via PWM. Later units built by HVCC and Hanon are CAN-controlled - details for controlling these variants are found here. Details of the PWM version are found in the GEN1 topic.&lt;br /&gt;
&lt;br /&gt;
Early years of Model S (2013-2014) used an ES34C by Denso with part number 6007380-00-D.&lt;br /&gt;
&lt;br /&gt;
Later models (2015+) used a HVCC ESC33 with Tesla part number 1028398-00-E, 1028398-00-F and 1028398-00-J. Tesla also used the Hanon HES33 and is found with number 1063369-00-D, 1063369-00-E, 1063369-00-F and 1063369-00-G. As mentioned previously, both these later types are unfortunately CAN controlled and details remain unknown.&lt;br /&gt;
&lt;br /&gt;
==Gen 2 Unit (HVCC ES33, Hanon HES33)==&lt;br /&gt;
&lt;br /&gt;
=== Power Draw ===&lt;br /&gt;
As per: https://www.diyelectriccar.com/threads/tesla-a-c-compressor-questions.189978/post-1061852&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Current draw at maximum load is in the neighborhood of 12 amps @ 360V, so somewhere around 4.5kW draw.&#039;&#039; This has not been confirmed for the CAN version covered here. However, it is reasonable to assume that the power draw is similar to the GEN1.&lt;br /&gt;
&lt;br /&gt;
===Control/Pinouts===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
|+LV pinout&lt;br /&gt;
!pin&lt;br /&gt;
!function&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|12V Enable Pin (White/DarkBlue or Red/Green)&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|CAN High (White/Red or Red/White)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|CAN Low (Red)&lt;br /&gt;
|-&lt;br /&gt;
|4 &lt;br /&gt;
|Ground (Black)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The colors listed are for the OEM harness. The colors are different between model years. However, the CAN wires will be the two wires that are twisted together. Ground seems always to be black leaving the enable pin to the the remaining wire.&lt;br /&gt;
&lt;br /&gt;
This compressor will provide no CAN traffic at all given only 12V. One must provide approximately 340V DC power to the HV pins, ground pin 4, ground the chassis of the compressor to the frame of the vehicle, and then provide +12V to pin 1 to wake the unit up. It will then begin to send out periodic CAN status messages.&lt;br /&gt;
&lt;br /&gt;
===Wiring/Connectors===&lt;br /&gt;
&lt;br /&gt;
====HV====&lt;br /&gt;
Polarity of the HV connector (as looking into the connector):&lt;br /&gt;
&lt;br /&gt;
[[File:Denso-ES34C-HV-polarity.jpg|border|200x200px]]&lt;br /&gt;
&lt;br /&gt;
Details of the connector itself are currently unknown, though an HV cable from a Lexus hybrid (i.e. GS450H) A/C compressor has been known to work if a Tesla assembly can&#039;t be sourced.&lt;br /&gt;
====LV====&lt;br /&gt;
&lt;br /&gt;
Not currently sure of the connector part #. I used an original harness from a 2015 Model S.&lt;br /&gt;
&lt;br /&gt;
====CAN Control====&lt;br /&gt;
&lt;br /&gt;
The compressor requires only one ID in order to begin operation:&lt;br /&gt;
&lt;br /&gt;
0x28A - 8 Bytes of data&lt;br /&gt;
&lt;br /&gt;
# Bytes 0 and 1 encode the target duty cycle for the compressor in 0.1% increments. For instance, 40% is then 400 as a value. Values are stored little endian and so byte 0 is the low byte and byte 1 is the high byte. 400 will be encoded as 0x90 0x01&lt;br /&gt;
# Bytes 2 and 3 encode the maximum power draw allowable in watts. This is also stored little endian. For instance, 3000W is 0xB8 0x0B&lt;br /&gt;
# Byte 4 can be set to 0&lt;br /&gt;
# Byte 5 must be set to 1 to enable the compressor&lt;br /&gt;
# Bytes 6 and 7 can be set to 0&lt;br /&gt;
&lt;br /&gt;
So, to command 40% duty cycle and a maximum power draw of 3000W you would send&lt;br /&gt;
0x28A - 90 01 B8 0B 00 01 00 00&lt;br /&gt;
&lt;br /&gt;
Testing was done with this message being sent every 50ms. It may not be required to send the message this frequently. 100ms interval is probably sufficient.&lt;br /&gt;
&lt;br /&gt;
The compressor will report status on two main IDs:&lt;br /&gt;
&lt;br /&gt;
0x223 - Various status flags&lt;br /&gt;
# Bytes 0 and 1 encode the speed of the compressor in RPM. (Little endian as all signals for the compressor are encoded)&lt;br /&gt;
# Bytes 2 and 3 encode the output duty cycle in tenths of a percent&lt;br /&gt;
# Byte 4 encodes the temperature of the compressor&#039;s built-in inverter. This is degrees Centigrade + 40. (So, a reading of 0 means -40C)&lt;br /&gt;
# Byte 5 has many status bits. If any of them are 1 you&#039;re going to have a bad time.&lt;br /&gt;
# Byte 6 continues the error flags. You want this value to also read zero.&lt;br /&gt;
# Byte 7 the top bit (0x80 / bit 7) is &amp;quot;Compressor is Ready!&amp;quot; The lower 4 bits are the compressor status but only the bottom 2 bits are used. 0 = None, 1 = Normal, 2 = Wait, 3 = Faulted&lt;br /&gt;
&lt;br /&gt;
As an example:&lt;br /&gt;
0x223 68 05 0E 00 41 00 00 81 means 1384RPM, 1.4% duty cycle, 25C inverter, no faults, compressor is ready, status is normal&lt;br /&gt;
&lt;br /&gt;
0x233 - High voltage status&lt;br /&gt;
&lt;br /&gt;
# Bytes 0 and 1 encode the high voltage reading in tenths of a volt. This signal, as all others, is little endian.&lt;br /&gt;
# Byte 2 encodes the 12V input voltage. In theory it should be in tenths of a volt but I have it reporting as 0xFF&lt;br /&gt;
# Bytes 3 and 4 encode the compressor current draw in tenths of an amp&lt;br /&gt;
# Bytes 5 and 6 encode the actual power draw of the compressor in watts&lt;br /&gt;
&lt;br /&gt;
As an example:&lt;br /&gt;
0x233 65 0E FF 0B 00 94 01 00 means 368.5V, 1.1A, 404 watts (LV stuck at 25.5V) &lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
GEVCU7 will shortly have example code for how to command the compressor and interpret the status feedback.&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:HVAC]]&lt;br /&gt;
[[Category:Thermal Management]]&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Category:Tesla&amp;diff=3678</id>
		<title>Category:Tesla</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Category:Tesla&amp;diff=3678"/>
		<updated>2023-03-30T22:09:19Z</updated>

		<summary type="html">&lt;p&gt;Collin80: /* Other HV systems */ Add link for Gen2 AC compressor - I will soon create that page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Model S/X==&lt;br /&gt;
===Drive Units===&lt;br /&gt;
*[[Tesla Model S/X Small Drive Unit (&amp;quot;SDU&amp;quot;)|Small Drive Unit (&amp;quot;SDU&amp;quot;)]]&lt;br /&gt;
*[[Tesla Model S/X Large Drive Unit (&amp;quot;LDU&amp;quot;)|Large Drive Unit (&amp;quot;LDU&amp;quot;)]]&lt;br /&gt;
===Other HV systems===&lt;br /&gt;
*[[Tesla Model S/X GEN2 Charger|L2 AC Charger (GEN2)]]&lt;br /&gt;
*[[Tesla Model S GEN1 Charger|L2 AC Charger (GEN1)]]&lt;br /&gt;
*[[Tesla Model S GEN1 Rear HVJB|Rear HVJB (GEN1)]]&lt;br /&gt;
*[[Tesla Model S Front HVJB|Front HVJB (GEN2 - Model S only)]]&lt;br /&gt;
*[[Tesla Model S/X DC/DC Converter|DC-DC converter (GEN2)]]&lt;br /&gt;
*[[Tesla Model S/X A/C Compressor|A/C compressor (GEN1)]]&lt;br /&gt;
*[[Tesla Model S/X A/C Compressor Gen2|A/C Compressor (GEN2)]]&lt;br /&gt;
*[[Tesla Model S Battery Heater|Battery heater (Model S only)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Model 3/Y==&lt;br /&gt;
===Drive Units===&lt;br /&gt;
*[[Tesla Model 3 Front Drive Unit|Front Drive Unit]]&lt;br /&gt;
*[[Tesla Model 3 Rear Drive Unit|Rear Drive Unit]]&lt;br /&gt;
===Other HV systems===&lt;br /&gt;
*[[Tesla Model 3 Battery|Battery]]&lt;br /&gt;
*[[Tesla Model 3 Contactors|Contactors]]&lt;br /&gt;
* [[Tesla Model 3 Charger/DCDC (&amp;quot;PCS&amp;quot;)|L2 Charger &amp;amp; DC-DC (&amp;quot;PCS&amp;quot;)]]&lt;br /&gt;
==Resources==&lt;br /&gt;
*[[Tesla CAD Models]]&lt;br /&gt;
*[https://epc.tesla.com/en/catalogs Tesla EPC (Electronic Parts Catalogue)]&lt;br /&gt;
==Sourcing Tesla Drive Units==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+2012-2017* Model S/X Drive Units&lt;br /&gt;
!Trim Designation&lt;br /&gt;
!Front Drive Unit&lt;br /&gt;
!Rear Drive Unit&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;##&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;N/A&#039;&#039;&lt;br /&gt;
|Base LDU&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;P##&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;N/A&#039;&#039;&lt;br /&gt;
|Sport** LDU&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;##D&#039;&#039;&#039;&lt;br /&gt;
|SDU&lt;br /&gt;
|SDU&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;P##D&#039;&#039;&#039;&lt;br /&gt;
|SDU&lt;br /&gt;
|Sport LDU&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | * Depending on the source, in either 2017 or 2019 Tesla began changing drive unit selections in the Model S and X&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;UPDATED 6 May 2021: Based on thread found here: [https://openinverter.org/forum/viewtopic.php?f=10&amp;amp;t=1625 Teardown - Tesla LDU - Inverter - openinverter forum], the base and sport LDUs use different IGBTs&lt;br /&gt;
|}SDU: Small Drive Unit (note: there are two different cases for the SDU, front and rear)&lt;br /&gt;
&lt;br /&gt;
LDU: Large Drive Unit&lt;/div&gt;</summary>
		<author><name>Collin80</name></author>
	</entry>
</feed>