<?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=Janosch</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=Janosch"/>
	<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/Special:Contributions/Janosch"/>
	<updated>2026-04-28T22:13:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Application_Support&amp;diff=4215</id>
		<title>Application Support</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Application_Support&amp;diff=4215"/>
		<updated>2023-10-27T13:42:20Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Openinverter is an opensource project, i.e. there is no large company behind it that has paid employees. Therefore all products that you buy in the openinverter shop, the EVBMW shop or that you order yourself from a PCB manufacturer are self-supported. It means you need to research the needed information on the forum or on this wiki.&lt;br /&gt;
&lt;br /&gt;
The developers are well aware that this research can be a show-stopper. Since we don&#039;t want people to get stuck in their project there are paid support options:&lt;br /&gt;
&lt;br /&gt;
* Johannes Hübner offers [https://openinverter.org/shop/index.php?route=product/product&amp;amp;path=60&amp;amp;product_id=65 support time by the hour]. Most commonly you will [https://openinverter.org/forum/viewtopic.php?t=937 grant remote access] to your inverter and speak via video chat to diagnose and solve problems&lt;br /&gt;
* Janosch Oppermann offers [http://foxev.io/openinverter/?ref=oiw support time by the hour]. Any questions/projects/troubleshooting welcome.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Application_Support&amp;diff=4070</id>
		<title>Application Support</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Application_Support&amp;diff=4070"/>
		<updated>2023-09-11T10:53:23Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Openinverter is an opensource project, i.e. there is no large company behind it that has paid employees. Therefore all products that you buy in the openinverter shop, the EVBMW shop or that you order yourself from a PCB manufacturer are self-supported. It means you need to research the needed information on the forum or on this wiki.&lt;br /&gt;
&lt;br /&gt;
The developers are well aware that this research can be a show-stopper. Since we don&#039;t want people to get stuck in their project there are paid support options:&lt;br /&gt;
&lt;br /&gt;
* Johannes Hübner offers [https://openinverter.org/shop/index.php?route=product/product&amp;amp;path=60&amp;amp;product_id=65 support time by the hour]. Most commonly you will [https://openinverter.org/forum/viewtopic.php?t=937 grant remote access] to your inverter and speak via video chat to diagnose and solve problems&lt;br /&gt;
* Janosch Oppermann offers [http://foxev.io/?ref=oiw support time by the hour]. Any questions/projects/troubleshooting welcome.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Application_Support&amp;diff=4063</id>
		<title>Application Support</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Application_Support&amp;diff=4063"/>
		<updated>2023-08-28T16:28:06Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Openinverter is an opensource project, i.e. there is no large company behind it that has paid employees. Therefore all products that you buy in the openinverter shop, the EVBMW shop or that you order yourself from a PCB manufacturer are self-supported. It means you need to research the needed information on the forum or on this wiki.&lt;br /&gt;
&lt;br /&gt;
The developers are well aware that this research can be a show-stopper. Since we don&#039;t want people to get stuck in their project there are paid support options:&lt;br /&gt;
&lt;br /&gt;
* Johannes Hübner offers [https://openinverter.org/shop/index.php?route=product/product&amp;amp;path=60&amp;amp;product_id=65 support time by the hour]. Most commonly you will [https://openinverter.org/forum/viewtopic.php?t=937 grant remote access] to your inverter and speak via video chat to diagnose and solve problems&lt;br /&gt;
* Janosch Oppermann offers [http://foxev.io support time by the hour]. Any questions/projects/troubleshooting welcome.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Using_FOC_Software&amp;diff=3862</id>
		<title>Using FOC Software</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Using_FOC_Software&amp;diff=3862"/>
		<updated>2023-05-28T09:15:32Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Software setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Synchronous motors have turned out only to be well drivable when their stator current is controlled by means of a feedback current loop. Due to this, the existing feed forward control used for induction motors could not be extended for use with synchronous motors. Therefor the well known field oriented control approach was implemented in a separate software.&lt;br /&gt;
&lt;br /&gt;
Here is a video manual, created by Johannes Hubner and Damien Maguire, which describes process of setting up FOC-operated system from the very beginning: https://youtu.be/1SlL6cEoRBgv It is strongly recommended to watch it carefully.&lt;br /&gt;
&lt;br /&gt;
== Hardware requirements ==&lt;br /&gt;
Field oriented control is only implemented for permanent magnet motors. Moreover it is optimized for IPM motors (interior permanent magnet). So it will not drive BLDC motors in an efficient manner. It will yield no movement at all with induction motors. &lt;br /&gt;
&lt;br /&gt;
Since the absolute rotor position is a key factor with synchronous motors, said software requires an absolute position feedback device. This can be a resolver or a [https://www.melexis.com/-/media/files/documents/datasheets/mlx91204-datasheet-melexis.pdf sin/cos chip] on top of a small magnet. Resolvers will need a so-called excitation. That is a high frequency (4.4kHz in our case) sine wave. Only V3 main boards generate this excitation signal. sin/cos chips do not need excitation and can also be run with V2 main boards.&lt;br /&gt;
&lt;br /&gt;
Most of Damiens Toyota Designs implement V3 main board circuitry.&lt;br /&gt;
&lt;br /&gt;
So to sum up&lt;br /&gt;
* IPM (Interior Permanent Magnet Synchronous Motor)&lt;br /&gt;
* Resolver or sin/cos chip&lt;br /&gt;
* V3 [https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=58 Mainboard]&lt;br /&gt;
&lt;br /&gt;
== Encoder setup ==&lt;br /&gt;
&lt;br /&gt;
The rev3 mainboard requires sin and cos resolver/encoder inputs between 0 and 3.3V, centred around 1.65V. The Melexis MLX91204 encoder chip linked above unfortunately does not operate on 3.3V, and requires 5V, and it outputs 0.5-4.5V (centred around 2.5V). This is easy enough to &#039;fix&#039; by using a simple resistor potential divider, but it can be difficult to arrive at a strong signal centred on 1.65V. The openinverter software will cope with a small offset, but to improve encoder performance, a new parameter &#039;sincosofs&#039; has been introduced (committed on 23rd Feb, no new releases since then as yet). To set this, slowly turn the motor while measuring the voltage from the encoder (after your resistor divider). Note down min and max voltages (these should be between, but as close as possible, to 0V and 3.3V) and calculate the average (min voltage + max voltage, divide by two). This gives your signal midpoint. To convert to digits, divide this by 3.3, then multiply by 4096. Enter your result as sincosofs, and save parameters.&lt;br /&gt;
&lt;br /&gt;
== Software setup ==&lt;br /&gt;
First of all you need to flash your board with preferable the [https://github.com/jsphuebner/stm32-sine/releases/latest latest] FOC version (stm32_foc.bin or hex). It will identify itself with the version value of &amp;quot;X.YY.R-foc&amp;quot;. &#039;&#039;&#039;Version [https://github.com/jsphuebner/stm32-sine/releases/tag/v4.97.R 4.97.R] is the last one that supports switching from Run mode to Manual Run mode! Silly Johannes keeps forgetting to fix this. So temporarily switch to 4.97.R.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If not using a pretuned kit (like Leaf dropin board) do the [[Schematics and Instructions#Connecting the sensor boards|usual current and voltage calibration]]. Be aware that polarity is important. So if current flows &#039;&#039;&#039;from&#039;&#039;&#039; the IGBT &#039;&#039;&#039;to&#039;&#039;&#039; the motor the reading must be positive. Therefor it is possible to set negative gain. When setting negative gain ocurlim must be negative also.&lt;br /&gt;
&lt;br /&gt;
Find out the number of stator pole pairs. Resolver polepairs are either the same as stator pole pairs or 1. sin/cos is always respolepairs=1. Set &amp;quot;encmode&amp;quot; to &amp;quot;Resolver&amp;quot; or &amp;quot;sin/cos&amp;quot;, respectively. Set syncadv=10.&lt;br /&gt;
&lt;br /&gt;
It is important that the PWM channels line up with the current sensors. So current sensor &amp;quot;il1&amp;quot; must sense the phase generated by &amp;quot;PWM1&amp;quot;, same for il2. You don&#039;t need to hardware-swap anything since we have parameter &amp;quot;pinswap&amp;quot;. For example on some inverters current sensors are on phases 1 and 3. (next software revision) has the entry &amp;quot;PWMOutput23&amp;quot; in pinswap. That will essentially make PWM channel 3 responsible for phase 2 and PWM channel 2 becomes phase 3.&lt;br /&gt;
&lt;br /&gt;
Next step is to find out your motors &amp;quot;syncofs&amp;quot;. That is the offset between what the resolver reports as 0° and what actually is 0° alignment between the stator and the rotor magnetic field. To do this, a test mode has been implemented. First start your inverter with the &amp;quot;start&amp;quot; input, then switch to manual mode with the corresponding button on the web interface. &#039;&#039;&#039;Warning&#039;&#039;&#039;: manual mode does not implement any rotor speed limit! When used carelessly you might overspeed your motor to the point were it looses structural integrity - it explodes. So have means to brake your motor externally e.g. by doing this tuning with an already mounted motor and jacked up wheels. Then you can use your cars friction brakes. &#039;&#039;If the motor doesn&#039;t spin at all during the process but you hear the PWM whine and il1 and il2 show current flowing, try swapping 2 of the motor phases over.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tuning Process:&lt;br /&gt;
# Go into manual mode -&amp;gt; start input, then button on web interface. Select forward direction.&lt;br /&gt;
# Observe value &amp;quot;angle&amp;quot; and turn rotor by hand -&amp;gt; you should see angle changes between 0 to 360°. If not, check resolver connection and excitation signal.&lt;br /&gt;
# Start with syncofs=0&lt;br /&gt;
# enter a positive value for &amp;quot;manualid&amp;quot;. Start low, with respect to motor rating. E.g. 5% of rated current&lt;br /&gt;
# Keep increasing the value until you notice that the motor starts to spin - make sure you hear PWM going&lt;br /&gt;
# If motor spins, change syncofs in 1000 digit increments until it stops spinning. If you need to go below 0, like -1000 enter 64536 (=65536-1000)&lt;br /&gt;
# If manualid is less than about max_motor_current/2 go back to 4. When approaching rated_motor_current/2 make your increments/decrements smaller, like down to 300 digits&lt;br /&gt;
# You have found 1 of 2 possible offsets. Now you can enter a small value for &amp;quot;manualiq&amp;quot; and set &amp;quot;manualid&amp;quot; to 0.1, the motor should spin smooth in both directions&lt;br /&gt;
# If it behaves differently in forward and reverse, add 32768 to syncofs. If the resulting value is &amp;gt; 65535, subtract 32768 instead (or do modulo addition in the first place)&lt;br /&gt;
Congratulations, the most difficult step is done. The default values or curkp and curki can usually stay untouched, I don&#039;t know a good tuning procedure anyway. It are dependent on the motor inductance and higher values can yield higher stability. Next set up the &amp;quot;throtcur&amp;quot; parameter. It defines how many motor amps are produced per % of throttle travel.&lt;br /&gt;
&lt;br /&gt;
Internally, this is split into a so-called direct and a quadrature current by means of the &amp;quot;Most Torque Per Amp&amp;quot; algorithm (MTPA). MTPA usually needs setup for the motor that your working with. You can customize the two parameters lqminusld and fluxlinkage, ideally with the real values of your motor. Otherwise keep fluxlinkage at its default, start with lqminusld=1 and slowly raise it until you get best acceleration.&lt;br /&gt;
&lt;br /&gt;
SPM motors (magnets mounted outside the rotor) need lqminusld set to 0.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3034</id>
		<title>I want a cheap EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3034"/>
		<updated>2022-12-08T10:39:01Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Audi A2 Conversion.png|thumb|[https://openinverter.org/forum/viewtopic.php?t=650 Audi A2 with Prius Inverter]]]&lt;br /&gt;
[[File:VW Bug EV.png|thumb|[https://openinverter.org/forum/viewtopic.php?t=1130 VW Beetle 2003 EV conversion]]]&lt;br /&gt;
&lt;br /&gt;
=== components ===&lt;br /&gt;
You will want Integrated components, that fulfill multiple functions in your build at the same time:&lt;br /&gt;
&lt;br /&gt;
- cheap motor &amp;amp; inverter, ideally combined units ([[Toyota Prius Gen2 Inverter]], )&lt;br /&gt;
&lt;br /&gt;
- cheap batteries, this will be your biggest expense ([[Nissan Leaf BMS]], BMW i3, repurposed hybrid batteries?)&lt;br /&gt;
&lt;br /&gt;
- smaller battery packs can be compensated for by enabling [[Rapid Charging|rapid charging]]&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter ([[Mitsubishi Outlander DCDC OBC]]&lt;br /&gt;
&lt;br /&gt;
- charger  ( integrated into existing units, such as Nissan Leaf PDM, Mitsubishi Outlander charger &amp;amp; DCDC, Prius Inverter &amp;amp; charger )&lt;br /&gt;
&lt;br /&gt;
=== legalities ===&lt;br /&gt;
If you are on a budget, make sure your locality allows what you are trying to do:&lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/forum/viewtopic.php?t=543 UK] [https://openinverter.org/forum/viewtopic.php?t=2379 UK2] [[United Kingdom]]&lt;br /&gt;
&lt;br /&gt;
[[The Netherlands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a [[I want a powerful ev conversion|performant ev conversion]] check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:VW_Bug_EV.png&amp;diff=3033</id>
		<title>File:VW Bug EV.png</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:VW_Bug_EV.png&amp;diff=3033"/>
		<updated>2022-12-08T10:38:28Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VW Bug EV&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_powerful_EV_Conversion&amp;diff=3032</id>
		<title>I want a powerful EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_powerful_EV_Conversion&amp;diff=3032"/>
		<updated>2022-12-08T10:37:21Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:GT86.png|thumb|[https://openinverter.org/forum/viewtopic.php?t=326 Toyota GT86 with Nissan Leaf Motor]]]&lt;br /&gt;
You will need the following components:&lt;br /&gt;
[[File:Der Panzer.png|thumb|[https://openinverter.org/forum/viewtopic.php?t=29 Tesla Powered BMW E31]]]&lt;br /&gt;
&lt;br /&gt;
=== components ===&lt;br /&gt;
[[File:Boxster EV.png|thumb|[https://openinverter.org/forum/viewtopic.php?t=210 Porsche Boxster 986 Tesla conversion]]]&lt;br /&gt;
- motor &amp;amp; powerful inverter ([[Tesla Model 3 Rear Drive Unit]], [[Tesla Model 3 Front Drive Unit|Tesla Model 3 Front Drive Unit,]] [[Tesla Inverter FAQ]] )&lt;br /&gt;
&lt;br /&gt;
- batteries with high allowable discharge rate ([[Tesla Model 3 Battery]])&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter(can be omitted for drag racing) ([[Tesla Model S DC/DC Converter]])&lt;br /&gt;
&lt;br /&gt;
- charger (can be off-vehicle) ( X )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a [[I want a cheap ev conversion|cheap ev conversion]] check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:GT86.png&amp;diff=3031</id>
		<title>File:GT86.png</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:GT86.png&amp;diff=3031"/>
		<updated>2022-12-08T10:36:36Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GT86&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3030</id>
		<title>I want a cheap EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3030"/>
		<updated>2022-12-08T10:35:05Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Audi A2 Conversion.png|thumb|[https://openinverter.org/forum/viewtopic.php?t=650 Audi A2 with Prius Inverter]]]&lt;br /&gt;
&lt;br /&gt;
=== components ===&lt;br /&gt;
You will want Integrated components, that fulfill multiple functions in your build at the same time:&lt;br /&gt;
&lt;br /&gt;
- cheap motor &amp;amp; inverter, ideally combined units ([[Toyota Prius Gen2 Inverter]], )&lt;br /&gt;
&lt;br /&gt;
- cheap batteries, this will be your biggest expense ([[Nissan Leaf BMS]], BMW i3, repurposed hybrid batteries?)&lt;br /&gt;
&lt;br /&gt;
- smaller battery packs can be compensated for by enabling [[Rapid Charging|rapid charging]]&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter ([[Mitsubishi Outlander DCDC OBC]]&lt;br /&gt;
&lt;br /&gt;
- charger  ( integrated into existing units, such as Nissan Leaf PDM, Mitsubishi Outlander charger &amp;amp; DCDC, Prius Inverter &amp;amp; charger )&lt;br /&gt;
&lt;br /&gt;
=== legalities ===&lt;br /&gt;
If you are on a budget, make sure your locality allows what you are trying to do:&lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/forum/viewtopic.php?t=543 UK] [https://openinverter.org/forum/viewtopic.php?t=2379 UK2] [[United Kingdom]]&lt;br /&gt;
&lt;br /&gt;
[[The Netherlands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a [[I want a powerful ev conversion|performant ev conversion]] check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_powerful_EV_Conversion&amp;diff=3029</id>
		<title>I want a powerful EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_powerful_EV_Conversion&amp;diff=3029"/>
		<updated>2022-12-08T10:33:39Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You will need the following components:&lt;br /&gt;
[[File:Der Panzer.png|thumb|[https://openinverter.org/forum/viewtopic.php?t=29 Tesla Powered BMW E31]]]&lt;br /&gt;
&lt;br /&gt;
=== components ===&lt;br /&gt;
[[File:Boxster EV.png|thumb|[https://openinverter.org/forum/viewtopic.php?t=210 Porsche Boxster 986 Tesla conversion]]]&lt;br /&gt;
- motor &amp;amp; powerful inverter ([[Tesla Model 3 Rear Drive Unit]], [[Tesla Model 3 Front Drive Unit|Tesla Model 3 Front Drive Unit,]] [[Tesla Inverter FAQ]] )&lt;br /&gt;
&lt;br /&gt;
- batteries with high allowable discharge rate ([[Tesla Model 3 Battery]])&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter(can be omitted for drag racing) ([[Tesla Model S DC/DC Converter]])&lt;br /&gt;
&lt;br /&gt;
- charger (can be off-vehicle) ( X )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a [[I want a cheap ev conversion|cheap ev conversion]] check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:Der_Panzer.png&amp;diff=3028</id>
		<title>File:Der Panzer.png</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:Der_Panzer.png&amp;diff=3028"/>
		<updated>2022-12-08T10:33:04Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Panzer&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3027</id>
		<title>I want a cheap EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3027"/>
		<updated>2022-12-08T10:31:34Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Audi A2 Conversion.png|thumb|[https://openinverter.org/forum/viewtopic.php?t=650 Audi A2 with Prius Inverter]]]&lt;br /&gt;
&lt;br /&gt;
=== components ===&lt;br /&gt;
You will want Integrated components, that fulfill multiple functions in your build at the same time:&lt;br /&gt;
&lt;br /&gt;
- cheap motor &amp;amp; inverter, ideally combined units ([[Toyota Prius Gen2 Inverter]], )&lt;br /&gt;
&lt;br /&gt;
- cheap batteries, this will be your biggest expense ([[Nissan Leaf BMS]], BMW i3, repurposed hybrid batteries?)&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter ([[Mitsubishi Outlander DCDC OBC]]&lt;br /&gt;
&lt;br /&gt;
- charger  ( integrated into existing units, such as Nissan Leaf PDM, Mitsubishi Outlander charger &amp;amp; DCDC, Prius Inverter &amp;amp; charger )&lt;br /&gt;
&lt;br /&gt;
=== legalities ===&lt;br /&gt;
If you are on a budget, make sure your locality allows what you are trying to do:&lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/forum/viewtopic.php?t=543 UK] [https://openinverter.org/forum/viewtopic.php?t=2379 UK2] [[United Kingdom]]&lt;br /&gt;
&lt;br /&gt;
[[The Netherlands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a [[I want a powerful ev conversion|performant ev conversion]] check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:Audi_A2_Conversion.png&amp;diff=3026</id>
		<title>File:Audi A2 Conversion.png</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:Audi_A2_Conversion.png&amp;diff=3026"/>
		<updated>2022-12-08T10:31:07Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Audi&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_powerful_EV_Conversion&amp;diff=3025</id>
		<title>I want a powerful EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_powerful_EV_Conversion&amp;diff=3025"/>
		<updated>2022-12-08T10:26:36Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You will need the following components:&lt;br /&gt;
&lt;br /&gt;
=== components ===&lt;br /&gt;
[[File:Boxster EV.png|thumb|[https://openinverter.org/forum/viewtopic.php?t=210 Porsche Boxster 986 Tesla conversion]]]&lt;br /&gt;
- motor &amp;amp; powerful inverter ([[Tesla Model 3 Rear Drive Unit]], [[Tesla Model 3 Front Drive Unit|Tesla Model 3 Front Drive Unit,]] [[Tesla Inverter FAQ]] )&lt;br /&gt;
&lt;br /&gt;
- batteries with high allowable discharge rate ([[Tesla Model 3 Battery]])&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter(can be omitted for drag racing) ([[Tesla Model S DC/DC Converter]])&lt;br /&gt;
&lt;br /&gt;
- charger (can be off-vehicle) ( X )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a [[I want a cheap ev conversion|cheap ev conversion]] check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:Boxster_EV.png&amp;diff=3024</id>
		<title>File:Boxster EV.png</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:Boxster_EV.png&amp;diff=3024"/>
		<updated>2022-12-08T10:25:58Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Boxster EV&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Main_Page_Old&amp;diff=3023</id>
		<title>Main Page Old</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Main_Page_Old&amp;diff=3023"/>
		<updated>2022-12-08T10:18:14Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Before you begin: =&lt;br /&gt;
&#039;&#039;&#039;Please take the time to read.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You undertake &#039;&#039;&#039;your&#039;&#039;&#039; project at &#039;&#039;&#039;your own risk.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information provided on this wiki and the support forums is intended as information only&#039;&#039;&#039;.  The Open Inverter project and its contributors take no responsibility for how you use the information contained within these pages, nor any liability for injuries, or death, that may result from your actions.   &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Developers&#039;s time is best spent developing;&#039;&#039;&#039; &#039;&#039;&#039;Support is best found in the forums&#039;&#039;&#039; - Developers of various projects are often bombarded with private messages and emails. Managing these emails and questions is a extremely large undertaking. Please read, and take the time to understand the information available here and across the web if you don&#039;t understand a topic. Developers are not your personal support team, unless you want to pay them directly for their time.     &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consider donating to the many developers&#039;&#039;&#039; that have made all this possible and to help keep making things possible: [https://www.patreon.com/openinverter www.patreon.com/openinverter], https://www.evbmw.com/, https://www.paypal.com/paypalme/celeron55    &lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/forum/index.php &#039;&#039;&#039;Always check the forums&#039;&#039;&#039;], new developments and solutions are coming along every day, questions being answered, or perhaps you can answer. we work better as a community sharing our knowledge...    &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;...update this wiki.&#039;&#039;&#039; Answers and solutions should find their way here so they don&#039;t remain buried in a 30 page long support thread. To edit the wiki, login with your forum credentials.    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Welcome to the open inverter community&#039;&#039;&#039;&lt;br /&gt;
= Legalities=&lt;br /&gt;
*[[Legalities|Legalities around conversion projects]]&lt;br /&gt;
Different countries have different legislation, if you want you car to certified for the road in your country please take the time to review this section. It might save you going down the wrong direction and creating something that can never be driven, or incur costs.&lt;br /&gt;
= Introduction =&lt;br /&gt;
The open inverter started as a scratch built inverter and control board led by Johannes Hübner who designed and built his open open source AC motor controller dubbed the &amp;quot;open inverter&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Since then, the community has established and documented hardware and software approaches to reuse OEM inverters with the Open control board, and has more recently started on controlling OEM inverters over CAN, a process which doesn&#039;t require replacing any internal parts. &lt;br /&gt;
&lt;br /&gt;
The main goal of the open inverter community is to reverse engineer many of these components for use in a variety of projects such as: &lt;br /&gt;
&lt;br /&gt;
* EV conversion&lt;br /&gt;
* Energy storage&lt;br /&gt;
* Power generation&lt;br /&gt;
* Charging infrastructure&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
Open inverter projects now span over many different areas surrounding PEV, HEV, and PHEV components, such as: &lt;br /&gt;
* Motor Controllers&lt;br /&gt;
* 1-3 phase power converters&lt;br /&gt;
* DC/DC converters&lt;br /&gt;
* buck/boost converters&lt;br /&gt;
* Battery Management Systems (BMS)&lt;br /&gt;
* Vehicle integration&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
As a result, there is a growing collection of open source software and hardware designed for the never ending list of OEM parts.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s a variety of methods of repurposing these OEM components. Methods here are generally chosen with future proofing in mind , reducing chances of firmware or software updates from the manufacture &amp;quot;bricking&amp;quot; or blocking the open source control efforts.  &lt;br /&gt;
&lt;br /&gt;
such efforts include:  &lt;br /&gt;
&lt;br /&gt;
* Mainboard/brain replacement&lt;br /&gt;
*[[Getting started with CAN bus|CANBUS/LINBUS]]&lt;br /&gt;
*[[wikipedia:Synchronous_serial_communication|Sync serial]]&lt;br /&gt;
*[[wikipedia:FlexRay|FlexRay]]&lt;br /&gt;
*[[wikipedia:Pulse-width_modulation|PWM]]&lt;br /&gt;
* Sirmware/software reprogramming&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
Resulting in many bespoke boards running the main open inverter software or other open/semi-open source code designed to ether replace OEM motherboards or VCUs.  &lt;br /&gt;
&lt;br /&gt;
This has lead to a large collection of different boards and software, many with redundant features.  To unify many of these development projects, the community at large is focused on making a set of standard VCUs and replacement control boards which handle the ever growing list of OEM components.    &lt;br /&gt;
&lt;br /&gt;
=== Many of the VCU and replacement boards consist of these 3 main parts: ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Hardware&lt;br /&gt;
!Firmware&lt;br /&gt;
!Web Interface&lt;br /&gt;
|-&lt;br /&gt;
|The design and development of the [[Main Board Version 3|control hardware]] based around an STM32F103 chip. This provides the control signals to the power stage and on to the attached components.&lt;br /&gt;
|The development of the code that goes on the STM32F103 chips and determines, amongst other things what signals are sent to the power stage and the attached components.&lt;br /&gt;
|Using an ESP8266 chip, the development of a simple [[Web Interface|web based interface]] to adjust the parameters on the firmware chip and to display values returned from the chip, for example motor speed (RPM).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
===Glossary of Terms===&lt;br /&gt;
It is recommended you read the &#039;&#039;&#039;[[Glossary of Terms]]&#039;&#039;&#039; before you begin. Often you&#039;ll find TLAs (three letter acronyms) peppered through the support forum and on this wiki, take the time to familiarise yourself with them before hand, remember this exists, or bookmark/favourite it so you can referent back to it.&lt;br /&gt;
&lt;br /&gt;
===EV conversions:===&lt;br /&gt;
A few main parts are needed for an EV conversion, such as:&lt;br /&gt;
*[[Motors]]&lt;br /&gt;
*[[:Category:Inverter|Inverter]]&lt;br /&gt;
**(&#039;&#039;&#039;Note:&#039;&#039;&#039; ZombieVerter projects require a matched pair of Inverter and Motor as they would have come out of a vehicle)&lt;br /&gt;
*[[Batteries]]&lt;br /&gt;
*[[:Category:Charger|Chargers / Charge Controllers]]&lt;br /&gt;
*[[:Category:DC/DC|DC/DC Converters]]&lt;br /&gt;
*[[:Category:HVJB|HV Junction Box]]&lt;br /&gt;
*[[Heaters]]&lt;br /&gt;
*[[:Category:HVAC|HVAC]]&lt;br /&gt;
*Brake Assist &lt;br /&gt;
**Vacuum Pumps&lt;br /&gt;
**Electronic Brake Boosters&lt;br /&gt;
*[[:Category:Power Steering|Power Steering]]&lt;br /&gt;
*[[Rapid Charging]]&lt;br /&gt;
&lt;br /&gt;
Existing information on these items can be found on the &amp;lt;u&amp;gt;[[EV Conversion Parts]]&amp;lt;/u&amp;gt; page.&lt;br /&gt;
&lt;br /&gt;
===OEM Parts: ===&lt;br /&gt;
A variety of [[:Category:OEM|OEM]] parts members of the community have reversed engineered for custom use cases:&lt;br /&gt;
*[[:Category:BMW|BMW]]&lt;br /&gt;
*[[:Category:Chevrolet|Chevrolet]]&lt;br /&gt;
*[[:Category:Ford|Ford]]&lt;br /&gt;
*[[:Category:Hyundai|Hyundai]]&lt;br /&gt;
*[[Isabellenhütte Heusler]]&lt;br /&gt;
*[[:Category:Mercedes-Benz|Mercedes-Benz]]&lt;br /&gt;
*[[:Category:Mitsubishi|Mitsubishi]]&lt;br /&gt;
*[[Nissan]]&lt;br /&gt;
*[[:Category:Opel|Opel/Vauxhall]]&lt;br /&gt;
*[[:Category:Tesla|Tesla]]&lt;br /&gt;
*[[Toyota|Toyota/Lexus]]&lt;br /&gt;
*[[:Category:VAG|VAG (VW, Audi, Skoda, Seat, Porsche, ...)]]&lt;br /&gt;
*[[:Category:Volvo|Volvo]]&amp;lt;br /&amp;gt;&lt;br /&gt;
===FAQ===&lt;br /&gt;
&lt;br /&gt;
*[[Common Inverter FAQ]] - questions common to all hardware variants&lt;br /&gt;
*[[Tesla Inverter FAQ]] - questions regarding Tesla Large Drive Units and Small Drive Units&lt;br /&gt;
*[[Electronics Basics]] - general advice for troubleshooting electronic circuits&lt;br /&gt;
*[[I want a cheap ev conversion|cheap EV conversions]] - this entry point for the penny pinchers&lt;br /&gt;
*[[I want a powerful ev conversion|performant EV conversions]]  - where torque trumps money&lt;br /&gt;
&lt;br /&gt;
=mechanical design database=&lt;br /&gt;
[[Mechanical design database]]&lt;br /&gt;
&lt;br /&gt;
here you will find measurements, models, files, etc for a variety of components  such as:&lt;br /&gt;
&lt;br /&gt;
*adapter plates&lt;br /&gt;
*motor couplers&lt;br /&gt;
* drive shaft flanges&lt;br /&gt;
*battery mounts&lt;br /&gt;
*etc.&lt;br /&gt;
&lt;br /&gt;
=Open Inverter Projects=&lt;br /&gt;
&lt;br /&gt;
===Open Inverter (Core Project/s)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Description  / Notes&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ZombieVerter VCU&#039;&#039;&#039;&lt;br /&gt;
*[[ZombieVerter VCU]]&lt;br /&gt;
*[[Web Interface (ZombieVerter VCU)|Web Interface]]&lt;br /&gt;
*[[OEM component compatibility]]&lt;br /&gt;
|Designed around a matched pair of Inverter and Motor taken from the original OEM vehicle the ZombieVerter is there to make those two components believe they are still in the original vehicle and are fed necessary commands to act as if they still are and interpret and responses back from the equipment for feedback (regen / rpm / etc)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Open Inverter Hardware&#039;&#039;&#039;&lt;br /&gt;
*[[Hardware Theory of Operation]]&lt;br /&gt;
*[[Schematics and Instructions]] - for the &amp;quot;vanilla&amp;quot; inverter kit.&lt;br /&gt;
*[[Mini Mainboard]]&lt;br /&gt;
*[[Main Board Version 3]]&lt;br /&gt;
*[[Main Board Version 2]]&lt;br /&gt;
*[[Main Board Version 1]]&lt;br /&gt;
*[[Sense Boards]]&lt;br /&gt;
*[[Gate Driver]]&lt;br /&gt;
*[[Sensor Board|Legacy Sensor Board]]&lt;br /&gt;
*[[OEM Repurposing]]&lt;br /&gt;
|Quite flexible in its application. The Open Inverter can be used to build a custom inverter itself where you supply the high power and high voltage components to create your own inverter, or to be used as the basis to take over control of OEM inverters so that they can drive nearly any attached motor to that inverter.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |&#039;&#039;&#039;Open Inverter Software&#039;&#039;&#039;&lt;br /&gt;
*[[Using FOC Software]]&lt;br /&gt;
*[[Downloads]]&lt;br /&gt;
*[[Features]]&lt;br /&gt;
*[[Web Interface]]&lt;br /&gt;
*[[Battery Charging]]&lt;br /&gt;
*[[Errors]]&lt;br /&gt;
*[[CAN communication]]&lt;br /&gt;
*[[Parameters]] (Tune your inverter)&lt;br /&gt;
*[[Configuration Files]]&lt;br /&gt;
*[[Software Theory of Operation]]&lt;br /&gt;
*[[Open Inverter Testing]]&lt;br /&gt;
|Two of the more important software aspects to master are below.&amp;lt;!-- Just repurposed the can comms and parameters text. didn&#039;t want to get rid, but also perhaps more from the left column could be here? --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CAN communication&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Common across boards is the ability to communicate with a CAN Bus, which is a &#039;control area network&#039; or a technical way of saying how various components, sensors, controls, etc communicate with one another within the car. &#039;&#039;&#039;Read more about [[CAN communication|CAN Communication]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There is also a project to standardise the messages across the various control boards, [[Introduction CAN STD|read more]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The openinverter firmware uses a set of about 70 parameters to adapt it to different inverter power stages, motors and position feedback systems. Also it lets you calibrate the throttle pedal, change regenerative braking settings and so on. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameter definitions can be found here: [[Parameters]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working parameter sets can be found in the [https://openinverter.org/parameters openinverter parameter database]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Open Inverter Related Projects (Control Boards/VCUs)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Project&lt;br /&gt;
!Description  / Notes&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Tesla|Tesla Small Drive and Large Drive Units:]]&#039;&#039;&#039;&lt;br /&gt;
|Commonly there is a large drive unit and small drive unit available from the Model S. &amp;lt;!-- Model 3 options? --&amp;gt;&lt;br /&gt;
These combine the inverter and motor into a single package.  &lt;br /&gt;
&lt;br /&gt;
The control boards for these replace the existing control board within them. &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Lexus GS450h Drivetrain]]:&#039;&#039;&#039;&lt;br /&gt;
|The GS450h contains a gearbox (where the motors are located).&lt;br /&gt;
Using the [[ZombieVerter VCU]], the inverter and the gearbox itself provide  &lt;br /&gt;
&lt;br /&gt;
a powerful set up suitable for rear wheel drive set ups, replacing the existing longitudinally mounted gearbox.  &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Toyota Prius Gen3 Board|Prius Generation 3 Inverter:]]&#039;&#039;&#039;&lt;br /&gt;
|A cheap available inverter from the popular Prius hybrid, this&lt;br /&gt;
board goes inside that inverter and allows you to control the features of it.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Auris/Yaris Inverter:]]&#039;&#039;&#039;&lt;br /&gt;
|Similar to the Prius board, there&#039;s subtle differences between them&lt;br /&gt;
and therefore the need for a separate board. &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Nissan Leaf Gen2 Board]]&#039;&#039;&#039;&lt;br /&gt;
|Replaces the nissan OEM logic board with a rev 3 openiverter main board&lt;br /&gt;
|-&lt;br /&gt;
|[[Ford ranger ev board|&#039;&#039;&#039;Ford ranger ev board&#039;&#039;&#039;]]&lt;br /&gt;
|openinverter kit for the ford ranger ev&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |[[OEM Repurposing|&#039;&#039;&#039;All Control Boards / OEM Inverters&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use inverter as a battery Charger===&lt;br /&gt;
Both the open inverter and some OEM inverters can be used as a battery charger, further saving on component costs. You can read more about how the open inverter and the theory of charging [[Battery Charging|here]].&lt;br /&gt;
&lt;br /&gt;
===Open Inverter Renewables Projects===&lt;br /&gt;
Recently added to the forums are projects and discussions around turning the Open Inverter project towards capturing, storing and using renewable energy.&amp;lt;!--&amp;gt;&lt;br /&gt;
If you need help with your EV conversion check out my &amp;lt;u&amp;gt;consulting offers&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Finally, if you want to support the project &amp;lt;u&amp;gt;visit the shop&amp;lt;/u&amp;gt;, become a &amp;lt;u&amp;gt;Patron&amp;lt;/u&amp;gt; or send donations to paypal &#039;at&#039; johanneshuebner.com .&lt;br /&gt;
&amp;lt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Open Inverter CAN std.=&lt;br /&gt;
*[[Introduction CAN STD|Introduction]]&lt;br /&gt;
*[[CAN table CAN STD|CAN table]]&lt;br /&gt;
*[[Getting started with CAN bus]]&lt;br /&gt;
&lt;br /&gt;
=Conversion Projects=&lt;br /&gt;
*[[VW Polo 86C Conversion]]&lt;br /&gt;
*[[Touran Conversion]]&lt;br /&gt;
*[[Audi A2 Conversion]]&lt;br /&gt;
*[https://openinverter.org/forum/viewtopic.php?f=11&amp;amp;t=326&amp;amp;hilit=gt86 toyota gt86 nissan leaf motor]&lt;br /&gt;
*[https://openinverter.org/forum/viewtopic.php?f=11&amp;amp;t=210 Porsche Boxster 986 Tesla conversion]&lt;br /&gt;
*[https://openinverter.org/forum/viewforum.php?f=11 Further Projects on the forum]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Main_Page_Old&amp;diff=3022</id>
		<title>Main Page Old</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Main_Page_Old&amp;diff=3022"/>
		<updated>2022-12-08T10:16:13Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Before you begin: =&lt;br /&gt;
&#039;&#039;&#039;Please take the time to read.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You undertake &#039;&#039;&#039;your&#039;&#039;&#039; project at &#039;&#039;&#039;your own risk.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information provided on this wiki and the support forums is intended as information only&#039;&#039;&#039;.  The Open Inverter project and its contributors take no responsibility for how you use the information contained within these pages, nor any liability for injuries, or death, that may result from your actions.   &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Developers&#039;s time is best spent developing;&#039;&#039;&#039; &#039;&#039;&#039;Support is best found in the forums&#039;&#039;&#039; - Developers of various projects are often bombarded with private messages and emails. Managing these emails and questions is a extremely large undertaking. Please read, and take the time to understand the information available here and across the web if you don&#039;t understand a topic. Developers are not your personal support team, unless you want to pay them directly for their time.     &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consider donating to the many developers&#039;&#039;&#039; that have made all this possible and to help keep making things possible: [https://www.patreon.com/openinverter www.patreon.com/openinverter], https://www.evbmw.com/, https://www.paypal.com/paypalme/celeron55    &lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/forum/index.php &#039;&#039;&#039;Always check the forums&#039;&#039;&#039;], new developments and solutions are coming along every day, questions being answered, or perhaps you can answer. we work better as a community sharing our knowledge...    &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;...update this wiki.&#039;&#039;&#039; Answers and solutions should find their way here so they don&#039;t remain buried in a 30 page long support thread. To edit the wiki, login with your forum credentials.    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Welcome to the open inverter community&#039;&#039;&#039;&lt;br /&gt;
= Legalities=&lt;br /&gt;
*[[Legalities|Legalities around conversion projects]]&lt;br /&gt;
Different countries have different legislation, if you want you car to certified for the road in your country please take the time to review this section. It might save you going down the wrong direction and creating something that can never be driven, or incur costs.&lt;br /&gt;
= Introduction =&lt;br /&gt;
The open inverter started as a scratch built inverter and control board led by Johannes Hübner who designed and built his open open source AC motor controller dubbed the &amp;quot;open inverter&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Since then, the community has established and documented hardware and software approaches to reuse OEM inverters with the Open control board, and has more recently started on controlling OEM inverters over CAN, a process which doesn&#039;t require replacing any internal parts. &lt;br /&gt;
&lt;br /&gt;
The main goal of the open inverter community is to reverse engineer many of these components for use in a variety of projects such as: &lt;br /&gt;
&lt;br /&gt;
* EV conversion&lt;br /&gt;
* Energy storage&lt;br /&gt;
* Power generation&lt;br /&gt;
* Charging infrastructure&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
Open inverter projects now span over many different areas surrounding PEV, HEV, and PHEV components, such as: &lt;br /&gt;
* Motor Controllers&lt;br /&gt;
* 1-3 phase power converters&lt;br /&gt;
* DC/DC converters&lt;br /&gt;
* buck/boost converters&lt;br /&gt;
* Battery Management Systems (BMS)&lt;br /&gt;
* Vehicle integration&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
As a result, there is a growing collection of open source software and hardware designed for the never ending list of OEM parts.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s a variety of methods of repurposing these OEM components. Methods here are generally chosen with future proofing in mind , reducing chances of firmware or software updates from the manufacture &amp;quot;bricking&amp;quot; or blocking the open source control efforts.  &lt;br /&gt;
&lt;br /&gt;
such efforts include:  &lt;br /&gt;
&lt;br /&gt;
* Mainboard/brain replacement&lt;br /&gt;
*[[Getting started with CAN bus|CANBUS/LINBUS]]&lt;br /&gt;
*[[wikipedia:Synchronous_serial_communication|Sync serial]]&lt;br /&gt;
*[[wikipedia:FlexRay|FlexRay]]&lt;br /&gt;
*[[wikipedia:Pulse-width_modulation|PWM]]&lt;br /&gt;
* Sirmware/software reprogramming&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
Resulting in many bespoke boards running the main open inverter software or other open/semi-open source code designed to ether replace OEM motherboards or VCUs.  &lt;br /&gt;
&lt;br /&gt;
This has lead to a large collection of different boards and software, many with redundant features.  To unify many of these development projects, the community at large is focused on making a set of standard VCUs and replacement control boards which handle the ever growing list of OEM components.    &lt;br /&gt;
&lt;br /&gt;
=== Many of the VCU and replacement boards consist of these 3 main parts: ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Hardware&lt;br /&gt;
!Firmware&lt;br /&gt;
!Web Interface&lt;br /&gt;
|-&lt;br /&gt;
|The design and development of the [[Main Board Version 3|control hardware]] based around an STM32F103 chip. This provides the control signals to the power stage and on to the attached components.&lt;br /&gt;
|The development of the code that goes on the STM32F103 chips and determines, amongst other things what signals are sent to the power stage and the attached components.&lt;br /&gt;
|Using an ESP8266 chip, the development of a simple [[Web Interface|web based interface]] to adjust the parameters on the firmware chip and to display values returned from the chip, for example motor speed (RPM).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
===Glossary of Terms===&lt;br /&gt;
It is recommended you read the &#039;&#039;&#039;[[Glossary of Terms]]&#039;&#039;&#039; before you begin. Often you&#039;ll find TLAs (three letter acronyms) peppered through the support forum and on this wiki, take the time to familiarise yourself with them before hand, remember this exists, or bookmark/favourite it so you can referent back to it.&lt;br /&gt;
&lt;br /&gt;
===EV conversions:===&lt;br /&gt;
A few main parts are needed for an EV conversion, such as:&lt;br /&gt;
*[[Motors]]&lt;br /&gt;
*[[:Category:Inverter|Inverter]]&lt;br /&gt;
**(&#039;&#039;&#039;Note:&#039;&#039;&#039; ZombieVerter projects require a matched pair of Inverter and Motor as they would have come out of a vehicle)&lt;br /&gt;
*[[Batteries]]&lt;br /&gt;
*[[:Category:Charger|Chargers / Charge Controllers]]&lt;br /&gt;
*[[:Category:DC/DC|DC/DC Converters]]&lt;br /&gt;
*[[:Category:HVJB|HV Junction Box]]&lt;br /&gt;
*[[Heaters]]&lt;br /&gt;
*[[:Category:HVAC|HVAC]]&lt;br /&gt;
*Brake Assist &lt;br /&gt;
**Vacuum Pumps&lt;br /&gt;
**Electronic Brake Boosters&lt;br /&gt;
*[[:Category:Power Steering|Power Steering]]&lt;br /&gt;
*[[Rapid Charging]]&lt;br /&gt;
&lt;br /&gt;
Existing information on these items can be found on the &amp;lt;u&amp;gt;[[EV Conversion Parts]]&amp;lt;/u&amp;gt; page.&lt;br /&gt;
&lt;br /&gt;
===OEM Parts: ===&lt;br /&gt;
A variety of [[:Category:OEM|OEM]] parts members of the community have reversed engineered for custom use cases:&lt;br /&gt;
*[[:Category:BMW|BMW]]&lt;br /&gt;
*[[:Category:Chevrolet|Chevrolet]]&lt;br /&gt;
*[[:Category:Ford|Ford]]&lt;br /&gt;
*[[:Category:Hyundai|Hyundai]]&lt;br /&gt;
*[[Isabellenhütte Heusler]]&lt;br /&gt;
*[[:Category:Mercedes-Benz|Mercedes-Benz]]&lt;br /&gt;
*[[:Category:Mitsubishi|Mitsubishi]]&lt;br /&gt;
*[[Nissan]]&lt;br /&gt;
*[[:Category:Opel|Opel/Vauxhall]]&lt;br /&gt;
*[[:Category:Tesla|Tesla]]&lt;br /&gt;
*[[Toyota|Toyota/Lexus]]&lt;br /&gt;
*[[:Category:VAG|VAG (VW, Audi, Skoda, Seat, Porsche, ...)]]&lt;br /&gt;
*[[:Category:Volvo|Volvo]]&amp;lt;br /&amp;gt;&lt;br /&gt;
===FAQ===&lt;br /&gt;
&lt;br /&gt;
*[[Common Inverter FAQ]] - questions common to all hardware variants&lt;br /&gt;
*[[Tesla Inverter FAQ]] - questions regarding Tesla Large Drive Units and Small Drive Units&lt;br /&gt;
*[[Electronics Basics]] - general advice for troubleshooting electronic circuits&lt;br /&gt;
*Path: I want a [[I want a cheap ev conversion|cheap EV]] conversion!&lt;br /&gt;
*Path: I want a [[I want a powerful ev conversion|performant EV]] conversion!&lt;br /&gt;
&lt;br /&gt;
=mechanical design database=&lt;br /&gt;
[[Mechanical design database]]&lt;br /&gt;
&lt;br /&gt;
here you will find measurements, models, files, etc for a variety of components  such as:&lt;br /&gt;
&lt;br /&gt;
*adapter plates&lt;br /&gt;
*motor couplers&lt;br /&gt;
* drive shaft flanges&lt;br /&gt;
*battery mounts&lt;br /&gt;
*etc.&lt;br /&gt;
&lt;br /&gt;
=Open Inverter Projects=&lt;br /&gt;
&lt;br /&gt;
===Open Inverter (Core Project/s)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Description  / Notes&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ZombieVerter VCU&#039;&#039;&#039;&lt;br /&gt;
*[[ZombieVerter VCU]]&lt;br /&gt;
*[[Web Interface (ZombieVerter VCU)|Web Interface]]&lt;br /&gt;
*[[OEM component compatibility]]&lt;br /&gt;
|Designed around a matched pair of Inverter and Motor taken from the original OEM vehicle the ZombieVerter is there to make those two components believe they are still in the original vehicle and are fed necessary commands to act as if they still are and interpret and responses back from the equipment for feedback (regen / rpm / etc)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Open Inverter Hardware&#039;&#039;&#039;&lt;br /&gt;
*[[Hardware Theory of Operation]]&lt;br /&gt;
*[[Schematics and Instructions]] - for the &amp;quot;vanilla&amp;quot; inverter kit.&lt;br /&gt;
*[[Mini Mainboard]]&lt;br /&gt;
*[[Main Board Version 3]]&lt;br /&gt;
*[[Main Board Version 2]]&lt;br /&gt;
*[[Main Board Version 1]]&lt;br /&gt;
*[[Sense Boards]]&lt;br /&gt;
*[[Gate Driver]]&lt;br /&gt;
*[[Sensor Board|Legacy Sensor Board]]&lt;br /&gt;
*[[OEM Repurposing]]&lt;br /&gt;
|Quite flexible in its application. The Open Inverter can be used to build a custom inverter itself where you supply the high power and high voltage components to create your own inverter, or to be used as the basis to take over control of OEM inverters so that they can drive nearly any attached motor to that inverter.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |&#039;&#039;&#039;Open Inverter Software&#039;&#039;&#039;&lt;br /&gt;
*[[Using FOC Software]]&lt;br /&gt;
*[[Downloads]]&lt;br /&gt;
*[[Features]]&lt;br /&gt;
*[[Web Interface]]&lt;br /&gt;
*[[Battery Charging]]&lt;br /&gt;
*[[Errors]]&lt;br /&gt;
*[[CAN communication]]&lt;br /&gt;
*[[Parameters]] (Tune your inverter)&lt;br /&gt;
*[[Configuration Files]]&lt;br /&gt;
*[[Software Theory of Operation]]&lt;br /&gt;
*[[Open Inverter Testing]]&lt;br /&gt;
|Two of the more important software aspects to master are below.&amp;lt;!-- Just repurposed the can comms and parameters text. didn&#039;t want to get rid, but also perhaps more from the left column could be here? --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CAN communication&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Common across boards is the ability to communicate with a CAN Bus, which is a &#039;control area network&#039; or a technical way of saying how various components, sensors, controls, etc communicate with one another within the car. &#039;&#039;&#039;Read more about [[CAN communication|CAN Communication]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There is also a project to standardise the messages across the various control boards, [[Introduction CAN STD|read more]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The openinverter firmware uses a set of about 70 parameters to adapt it to different inverter power stages, motors and position feedback systems. Also it lets you calibrate the throttle pedal, change regenerative braking settings and so on. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameter definitions can be found here: [[Parameters]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working parameter sets can be found in the [https://openinverter.org/parameters openinverter parameter database]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Open Inverter Related Projects (Control Boards/VCUs)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Project&lt;br /&gt;
!Description  / Notes&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Tesla|Tesla Small Drive and Large Drive Units:]]&#039;&#039;&#039;&lt;br /&gt;
|Commonly there is a large drive unit and small drive unit available from the Model S. &amp;lt;!-- Model 3 options? --&amp;gt;&lt;br /&gt;
These combine the inverter and motor into a single package.  &lt;br /&gt;
&lt;br /&gt;
The control boards for these replace the existing control board within them. &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Lexus GS450h Drivetrain]]:&#039;&#039;&#039;&lt;br /&gt;
|The GS450h contains a gearbox (where the motors are located).&lt;br /&gt;
Using the [[ZombieVerter VCU]], the inverter and the gearbox itself provide  &lt;br /&gt;
&lt;br /&gt;
a powerful set up suitable for rear wheel drive set ups, replacing the existing longitudinally mounted gearbox.  &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Toyota Prius Gen3 Board|Prius Generation 3 Inverter:]]&#039;&#039;&#039;&lt;br /&gt;
|A cheap available inverter from the popular Prius hybrid, this&lt;br /&gt;
board goes inside that inverter and allows you to control the features of it.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Auris/Yaris Inverter:]]&#039;&#039;&#039;&lt;br /&gt;
|Similar to the Prius board, there&#039;s subtle differences between them&lt;br /&gt;
and therefore the need for a separate board. &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Nissan Leaf Gen2 Board]]&#039;&#039;&#039;&lt;br /&gt;
|Replaces the nissan OEM logic board with a rev 3 openiverter main board&lt;br /&gt;
|-&lt;br /&gt;
|[[Ford ranger ev board|&#039;&#039;&#039;Ford ranger ev board&#039;&#039;&#039;]]&lt;br /&gt;
|openinverter kit for the ford ranger ev&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |[[OEM Repurposing|&#039;&#039;&#039;All Control Boards / OEM Inverters&#039;&#039;&#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Use inverter as a battery Charger===&lt;br /&gt;
Both the open inverter and some OEM inverters can be used as a battery charger, further saving on component costs. You can read more about how the open inverter and the theory of charging [[Battery Charging|here]].&lt;br /&gt;
&lt;br /&gt;
===Open Inverter Renewables Projects===&lt;br /&gt;
Recently added to the forums are projects and discussions around turning the Open Inverter project towards capturing, storing and using renewable energy.&amp;lt;!--&amp;gt;&lt;br /&gt;
If you need help with your EV conversion check out my &amp;lt;u&amp;gt;consulting offers&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Finally, if you want to support the project &amp;lt;u&amp;gt;visit the shop&amp;lt;/u&amp;gt;, become a &amp;lt;u&amp;gt;Patron&amp;lt;/u&amp;gt; or send donations to paypal &#039;at&#039; johanneshuebner.com .&lt;br /&gt;
&amp;lt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Open Inverter CAN std.=&lt;br /&gt;
*[[Introduction CAN STD|Introduction]]&lt;br /&gt;
*[[CAN table CAN STD|CAN table]]&lt;br /&gt;
*[[Getting started with CAN bus]]&lt;br /&gt;
&lt;br /&gt;
=Conversion Projects=&lt;br /&gt;
*[[VW Polo 86C Conversion]]&lt;br /&gt;
*[[Touran Conversion]]&lt;br /&gt;
*[[Audi A2 Conversion]]&lt;br /&gt;
*[https://openinverter.org/forum/viewtopic.php?f=11&amp;amp;t=326&amp;amp;hilit=gt86 toyota gt86 nissan leaf motor]&lt;br /&gt;
*[https://openinverter.org/forum/viewtopic.php?f=11&amp;amp;t=210 Porsche Boxster 986 Tesla conversion]&lt;br /&gt;
*[https://openinverter.org/forum/viewforum.php?f=11 Further Projects on the forum]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3021</id>
		<title>I want a cheap EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3021"/>
		<updated>2022-12-08T10:14:58Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== components ===&lt;br /&gt;
You will want Integrated components, that fulfill multiple functions in your build at the same time:&lt;br /&gt;
&lt;br /&gt;
- cheap motor &amp;amp; inverter, ideally combined units ([[Toyota Prius Gen2 Inverter]], )&lt;br /&gt;
&lt;br /&gt;
- cheap batteries, this will be your biggest expense ([[Nissan Leaf BMS]], BMW i3, repurposed hybrid batteries?)&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter ([[Mitsubishi Outlander DCDC OBC]]&lt;br /&gt;
&lt;br /&gt;
- charger  ( integrated into existing units, such as Nissan Leaf PDM, Mitsubishi Outlander charger &amp;amp; DCDC, Prius Inverter &amp;amp; charger )&lt;br /&gt;
&lt;br /&gt;
=== legalities ===&lt;br /&gt;
If you are on a budget, make sure your locality allows what you are trying to do:&lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/forum/viewtopic.php?t=543 UK] [https://openinverter.org/forum/viewtopic.php?t=2379 UK2] [[United Kingdom]]&lt;br /&gt;
&lt;br /&gt;
[[The Netherlands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a [[I want a powerful ev conversion|performant ev conversion]] check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3020</id>
		<title>I want a cheap EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3020"/>
		<updated>2022-12-08T10:12:49Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You will need the following components:&lt;br /&gt;
&lt;br /&gt;
=== components ===&lt;br /&gt;
- cheap motor &amp;amp; inverter, ideally combined units ([[Toyota Prius Gen2 Inverter]], )&lt;br /&gt;
&lt;br /&gt;
- cheap batteries, this will be your biggest expense ([[Nissan Leaf BMS]], BMW i3, repurposed hybrid batteries?)&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter ([[Mitsubishi Outlander DCDC OBC]]&lt;br /&gt;
&lt;br /&gt;
- charger  ( integrated into existing units, such as Nissan Leaf PDM, Mitsubishi Outlander charger &amp;amp; DCDC, Prius Inverter &amp;amp; charger )&lt;br /&gt;
&lt;br /&gt;
=== legalities ===&lt;br /&gt;
If you are on a budget, make sure your locality allows what you are trying to do:&lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/forum/viewtopic.php?t=543 UK] [https://openinverter.org/forum/viewtopic.php?t=2379 UK2] [[United Kingdom]]&lt;br /&gt;
&lt;br /&gt;
[[The Netherlands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a [[I want a powerful ev conversion|performant ev conversion]] check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_powerful_EV_Conversion&amp;diff=3019</id>
		<title>I want a powerful EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_powerful_EV_Conversion&amp;diff=3019"/>
		<updated>2022-12-08T10:09:46Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You will need the following components:&lt;br /&gt;
&lt;br /&gt;
=== components ===&lt;br /&gt;
- motor &amp;amp; powerful inverter ([[Tesla Model 3 Rear Drive Unit]], [[Tesla Model 3 Front Drive Unit|Tesla Model 3 Front Drive Unit,]] [[Tesla Inverter FAQ]] )&lt;br /&gt;
&lt;br /&gt;
- batteries with high allowable discharge rate ([[Tesla Model 3 Battery]])&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter(can be omitted for drag racing) ([[Tesla Model S DC/DC Converter]])&lt;br /&gt;
&lt;br /&gt;
- charger (can be off-vehicle) ( X )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a [[I want a cheap ev conversion|cheap ev conversion]] check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3018</id>
		<title>I want a cheap EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_cheap_EV_Conversion&amp;diff=3018"/>
		<updated>2022-12-08T10:05:50Z</updated>

		<summary type="html">&lt;p&gt;Janosch: For the penny pinchers!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You will need the following components:&lt;br /&gt;
&lt;br /&gt;
=== components ===&lt;br /&gt;
- cheap motor &amp;amp; inverter, ideally combined units ([[Toyota Prius Gen2 Inverter]], )&lt;br /&gt;
&lt;br /&gt;
- cheap batteries, this will be your biggest expense ([[Nissan Leaf BMS]], BMW i3, repurposed hybrid batteries?)&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter ([[Mitsubishi Outlander DCDC OBC]]&lt;br /&gt;
&lt;br /&gt;
- charger  ( integrated into existing units, such as Nissan Leaf PDM, Mitsubishi Outlander charger &amp;amp; DCDC, Prius Inverter &amp;amp; charger )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a [[I want a powerful ev conversion|performant ev conversion]] check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=I_want_a_powerful_EV_Conversion&amp;diff=3017</id>
		<title>I want a powerful EV Conversion</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=I_want_a_powerful_EV_Conversion&amp;diff=3017"/>
		<updated>2022-12-08T10:00:12Z</updated>

		<summary type="html">&lt;p&gt;Janosch: stub for a path start&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You will need the following components:&lt;br /&gt;
&lt;br /&gt;
=== components ===&lt;br /&gt;
- motor &amp;amp; powerful inverter ([[Tesla Model 3 Rear Drive Unit]], [[Tesla Model 3 Front Drive Unit|Tesla Model 3 Front Drive Unit,]] [[Tesla Inverter FAQ]] )&lt;br /&gt;
&lt;br /&gt;
- batteries with high allowable discharge rate ([[Tesla Model 3 Battery]])&lt;br /&gt;
&lt;br /&gt;
- DC/DC converter(can be omitted for drag racing) ([[Tesla Model S DC/DC Converter]])&lt;br /&gt;
&lt;br /&gt;
- charger (can be off-vehicle) ( X )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a cheap ev conversion check the sister page.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=3004</id>
		<title>Nissan Leaf BMS</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=3004"/>
		<updated>2022-12-01T14:55:03Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Extending Sensing Wires */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we collect information about Nissans BMS.&lt;br /&gt;
&lt;br /&gt;
A well fleshed out comm stack is implemented in the stm32-car project: https://github.com/jsphuebner/stm32-car&lt;br /&gt;
&lt;br /&gt;
=== Connectors ===&lt;br /&gt;
Credit goes to Wolftronix for figuring this out.&lt;br /&gt;
&lt;br /&gt;
You will also find it on the [https://www.diyelectriccar.com/forums/showpost.php?p=871121&amp;amp;postcount=207 diyelectriccar] forum, you will need to sign up for downloading&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P4 24 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P3 32 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P6 16 Pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P5 40 Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|1&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|1&lt;br /&gt;
|61&lt;br /&gt;
|60&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|3&lt;br /&gt;
|2&lt;br /&gt;
|14&lt;br /&gt;
|2&lt;br /&gt;
|23&lt;br /&gt;
|22&lt;br /&gt;
|18&lt;br /&gt;
|2&lt;br /&gt;
|49&lt;br /&gt;
|48&lt;br /&gt;
|10&lt;br /&gt;
|2&lt;br /&gt;
|63&lt;br /&gt;
|62&lt;br /&gt;
|22&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|5&lt;br /&gt;
|4&lt;br /&gt;
|15&lt;br /&gt;
|3&lt;br /&gt;
|25&lt;br /&gt;
|24&lt;br /&gt;
|19&lt;br /&gt;
|3&lt;br /&gt;
|51&lt;br /&gt;
|50&lt;br /&gt;
|11&lt;br /&gt;
|3&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|7&lt;br /&gt;
|6&lt;br /&gt;
|16&lt;br /&gt;
|4&lt;br /&gt;
|27&lt;br /&gt;
|26&lt;br /&gt;
|20&lt;br /&gt;
|4&lt;br /&gt;
|53&lt;br /&gt;
|52&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|9&lt;br /&gt;
|8&lt;br /&gt;
|17&lt;br /&gt;
|5&lt;br /&gt;
|29&lt;br /&gt;
|28&lt;br /&gt;
|21&lt;br /&gt;
|5&lt;br /&gt;
|55&lt;br /&gt;
|54&lt;br /&gt;
|13&lt;br /&gt;
|5&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|11&lt;br /&gt;
|10&lt;br /&gt;
|18&lt;br /&gt;
|6&lt;br /&gt;
|31&lt;br /&gt;
|30&lt;br /&gt;
|22&lt;br /&gt;
|6&lt;br /&gt;
|57&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|6&lt;br /&gt;
|71&lt;br /&gt;
|68&lt;br /&gt;
|26&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|13&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|7&lt;br /&gt;
|33&lt;br /&gt;
|32&lt;br /&gt;
|23&lt;br /&gt;
|7&lt;br /&gt;
|59&lt;br /&gt;
|56&lt;br /&gt;
|15&lt;br /&gt;
|7&lt;br /&gt;
|73&lt;br /&gt;
|70&lt;br /&gt;
|27&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|15&lt;br /&gt;
|14&lt;br /&gt;
|20&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|24&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|58&lt;br /&gt;
|16&lt;br /&gt;
|8&lt;br /&gt;
|75&lt;br /&gt;
|72&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|21&lt;br /&gt;
|9&lt;br /&gt;
|35&lt;br /&gt;
|36&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|77&lt;br /&gt;
|74&lt;br /&gt;
|29&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|22&lt;br /&gt;
|10&lt;br /&gt;
|37&lt;br /&gt;
|38&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|10&lt;br /&gt;
|79&lt;br /&gt;
|76&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|17&lt;br /&gt;
|18&lt;br /&gt;
|23&lt;br /&gt;
|11&lt;br /&gt;
|39&lt;br /&gt;
|40&lt;br /&gt;
|27&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|78&lt;br /&gt;
|31&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|20&lt;br /&gt;
|24&lt;br /&gt;
|12&lt;br /&gt;
|41&lt;br /&gt;
|42&lt;br /&gt;
|28&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|12&lt;br /&gt;
|81&lt;br /&gt;
|80&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|43&lt;br /&gt;
|44&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|83&lt;br /&gt;
|82&lt;br /&gt;
|33&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|45&lt;br /&gt;
|46&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|85&lt;br /&gt;
|84&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|47&lt;br /&gt;
|48&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|87&lt;br /&gt;
|86&lt;br /&gt;
|35&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|89&lt;br /&gt;
|88&lt;br /&gt;
|36&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|91&lt;br /&gt;
|90&lt;br /&gt;
|37&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|18&lt;br /&gt;
|93&lt;br /&gt;
|92&lt;br /&gt;
|38&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|19&lt;br /&gt;
|95&lt;br /&gt;
|94&lt;br /&gt;
|39&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|20&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Connector part numbers ====&lt;br /&gt;
In case you need to adapt or extend the sense wires, you will need the male and female connectors and the respective pins. Here are the part numbers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Part&lt;br /&gt;
|Number&lt;br /&gt;
|Notes&lt;br /&gt;
|-&lt;br /&gt;
|16-pole male&lt;br /&gt;
|1473796-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16-pole female&lt;br /&gt;
|1318386-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole male&lt;br /&gt;
|1376103-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole female&lt;br /&gt;
|1318917-1&lt;br /&gt;
|-&lt;br /&gt;
|32-pole male&lt;br /&gt;
|1473799-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32-pole female&lt;br /&gt;
|1318747-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|40-pole male&lt;br /&gt;
|1376113-2&lt;br /&gt;
|Solder part, crimp not available&lt;br /&gt;
|-&lt;br /&gt;
|40-pole female&lt;br /&gt;
|1318389-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin male&lt;br /&gt;
|1376109-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin female&lt;br /&gt;
|1123343-1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CAN Messages ===&lt;br /&gt;
Upon powerup the unit spits out messages that contain various useful info. After a while these messages stop and you have to send 50B#00 00 00 C0 00 00 00 to get it going again.&lt;br /&gt;
&lt;br /&gt;
All messages are big endian, i.e. hi-byte, lo-byte!&lt;br /&gt;
&lt;br /&gt;
To get the individual cell voltages, first issue 79B#02 21 02 FF FF FF FF FF.  You will receive the first reply looking like this: 7BB#10 C6 61 02 0E C9 0E C0. &lt;br /&gt;
&lt;br /&gt;
Now send 27 times 79B#30 01 00 FF FF FF FF FF and you get 7BB#21 0E C0 0E C2 0E C0 0E. It is one index byte and 7 data bytes. So after 28 messages you will have collected 98 words (16-bit) of data. Every other message it stretches over to the next message. The first the last two words are unknown so we discard them. That leaves us with 96 Words that represent the cell voltages in mV in big endian format.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/spreadsheets/d/1EHa4R85BttuY4JZ-EnssH4YZddpsDVu6rUFm0P7ouwg/edit#gid=7&lt;br /&gt;
&lt;br /&gt;
=== Different Versions ===&lt;br /&gt;
[[File:NissanLeafV2BMS.jpg|thumb|Version 2 BMS with grey LV and black HV connector]]&lt;br /&gt;
Their seem to be at least two different versions of the LBC out there, as discovered here: https://openinverter.org/forum/viewtopic.php?f=13&amp;amp;t=370&amp;amp;start=10&lt;br /&gt;
&lt;br /&gt;
The earlier version has only white input headers while the later version has ONE black HV header and a grey low voltage header. We call the first version the &amp;quot;white&amp;quot; BMS and the later version the &amp;quot;grey&amp;quot; BMS.&lt;br /&gt;
&lt;br /&gt;
Treated as a black box the main differences are:&lt;br /&gt;
* Interlock is between Pin 8 and Pin 21 on white BMS as opposed to Pin 8 and Pin 6 on grey BMS&lt;br /&gt;
* Ignition input is on pin 6 on white as opposed to pin 7 on grey&lt;br /&gt;
* White BMS expects 4 temperature sensors, grey BMS only 3&lt;br /&gt;
* Supposedly the current sensors GND is on Pin 7 but I found Pin 7 internally unconnected and left GND on Pin 15&lt;br /&gt;
So if you have a &amp;quot;grey&amp;quot; wiring loom but a white LBC you need to move Pin 6 over to Pin 21 and Pin 7 to Pin 6.&lt;br /&gt;
&lt;br /&gt;
To mitigate the missing temperature sensor you need to bridge the two input internally behind the input stage. Therefor remove R59. Then Find R62 and bridge it over to the adjacent channel 4. If you want you can use the resistor you just removed.&lt;br /&gt;
&lt;br /&gt;
=== CAN connector pins ===&lt;br /&gt;
Pins for CAN-H and CAN-L and others as identified by wolftronix in the diagram below. Pins are for LB11 and LB12 connectors in Nissan terminology.&lt;br /&gt;
[[File:Nissan Leaf BMS Connector Pins LB11 LB12.png|thumb|LB11 LB12 mappings]]&lt;br /&gt;
&lt;br /&gt;
=== 40kWh BMS ===&lt;br /&gt;
The pinout for +12V, CAN-H, CAN-L, Ignition and HV is identical o previous versions.&lt;br /&gt;
&lt;br /&gt;
It uses a daisy chain of MAX17823B for sensing cell voltages.&lt;br /&gt;
[[File:40kwh Nissan Leaf BMS.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Extending Sensing Wires ===&lt;br /&gt;
People have succesfully extended sensing wires on a 30kWh pack, beware of extending them too much on a 40kWh pack as this can cause a variety of issues [https://openinverter.org/forum/viewtopic.php?t=2737]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=3003</id>
		<title>Nissan Leaf BMS</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=3003"/>
		<updated>2022-12-01T14:53:06Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Extending Sensing Wires */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we collect information about Nissans BMS.&lt;br /&gt;
&lt;br /&gt;
A well fleshed out comm stack is implemented in the stm32-car project: https://github.com/jsphuebner/stm32-car&lt;br /&gt;
&lt;br /&gt;
=== Connectors ===&lt;br /&gt;
Credit goes to Wolftronix for figuring this out.&lt;br /&gt;
&lt;br /&gt;
You will also find it on the [https://www.diyelectriccar.com/forums/showpost.php?p=871121&amp;amp;postcount=207 diyelectriccar] forum, you will need to sign up for downloading&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P4 24 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P3 32 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P6 16 Pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P5 40 Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|1&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|1&lt;br /&gt;
|61&lt;br /&gt;
|60&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|3&lt;br /&gt;
|2&lt;br /&gt;
|14&lt;br /&gt;
|2&lt;br /&gt;
|23&lt;br /&gt;
|22&lt;br /&gt;
|18&lt;br /&gt;
|2&lt;br /&gt;
|49&lt;br /&gt;
|48&lt;br /&gt;
|10&lt;br /&gt;
|2&lt;br /&gt;
|63&lt;br /&gt;
|62&lt;br /&gt;
|22&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|5&lt;br /&gt;
|4&lt;br /&gt;
|15&lt;br /&gt;
|3&lt;br /&gt;
|25&lt;br /&gt;
|24&lt;br /&gt;
|19&lt;br /&gt;
|3&lt;br /&gt;
|51&lt;br /&gt;
|50&lt;br /&gt;
|11&lt;br /&gt;
|3&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|7&lt;br /&gt;
|6&lt;br /&gt;
|16&lt;br /&gt;
|4&lt;br /&gt;
|27&lt;br /&gt;
|26&lt;br /&gt;
|20&lt;br /&gt;
|4&lt;br /&gt;
|53&lt;br /&gt;
|52&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|9&lt;br /&gt;
|8&lt;br /&gt;
|17&lt;br /&gt;
|5&lt;br /&gt;
|29&lt;br /&gt;
|28&lt;br /&gt;
|21&lt;br /&gt;
|5&lt;br /&gt;
|55&lt;br /&gt;
|54&lt;br /&gt;
|13&lt;br /&gt;
|5&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|11&lt;br /&gt;
|10&lt;br /&gt;
|18&lt;br /&gt;
|6&lt;br /&gt;
|31&lt;br /&gt;
|30&lt;br /&gt;
|22&lt;br /&gt;
|6&lt;br /&gt;
|57&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|6&lt;br /&gt;
|71&lt;br /&gt;
|68&lt;br /&gt;
|26&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|13&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|7&lt;br /&gt;
|33&lt;br /&gt;
|32&lt;br /&gt;
|23&lt;br /&gt;
|7&lt;br /&gt;
|59&lt;br /&gt;
|56&lt;br /&gt;
|15&lt;br /&gt;
|7&lt;br /&gt;
|73&lt;br /&gt;
|70&lt;br /&gt;
|27&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|15&lt;br /&gt;
|14&lt;br /&gt;
|20&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|24&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|58&lt;br /&gt;
|16&lt;br /&gt;
|8&lt;br /&gt;
|75&lt;br /&gt;
|72&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|21&lt;br /&gt;
|9&lt;br /&gt;
|35&lt;br /&gt;
|36&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|77&lt;br /&gt;
|74&lt;br /&gt;
|29&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|22&lt;br /&gt;
|10&lt;br /&gt;
|37&lt;br /&gt;
|38&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|10&lt;br /&gt;
|79&lt;br /&gt;
|76&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|17&lt;br /&gt;
|18&lt;br /&gt;
|23&lt;br /&gt;
|11&lt;br /&gt;
|39&lt;br /&gt;
|40&lt;br /&gt;
|27&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|78&lt;br /&gt;
|31&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|20&lt;br /&gt;
|24&lt;br /&gt;
|12&lt;br /&gt;
|41&lt;br /&gt;
|42&lt;br /&gt;
|28&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|12&lt;br /&gt;
|81&lt;br /&gt;
|80&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|43&lt;br /&gt;
|44&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|83&lt;br /&gt;
|82&lt;br /&gt;
|33&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|45&lt;br /&gt;
|46&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|85&lt;br /&gt;
|84&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|47&lt;br /&gt;
|48&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|87&lt;br /&gt;
|86&lt;br /&gt;
|35&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|89&lt;br /&gt;
|88&lt;br /&gt;
|36&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|91&lt;br /&gt;
|90&lt;br /&gt;
|37&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|18&lt;br /&gt;
|93&lt;br /&gt;
|92&lt;br /&gt;
|38&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|19&lt;br /&gt;
|95&lt;br /&gt;
|94&lt;br /&gt;
|39&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|20&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Connector part numbers ====&lt;br /&gt;
In case you need to adapt or extend the sense wires, you will need the male and female connectors and the respective pins. Here are the part numbers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Part&lt;br /&gt;
|Number&lt;br /&gt;
|Notes&lt;br /&gt;
|-&lt;br /&gt;
|16-pole male&lt;br /&gt;
|1473796-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16-pole female&lt;br /&gt;
|1318386-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole male&lt;br /&gt;
|1376103-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole female&lt;br /&gt;
|1318917-1&lt;br /&gt;
|-&lt;br /&gt;
|32-pole male&lt;br /&gt;
|1473799-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32-pole female&lt;br /&gt;
|1318747-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|40-pole male&lt;br /&gt;
|1376113-2&lt;br /&gt;
|Solder part, crimp not available&lt;br /&gt;
|-&lt;br /&gt;
|40-pole female&lt;br /&gt;
|1318389-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin male&lt;br /&gt;
|1376109-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin female&lt;br /&gt;
|1123343-1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CAN Messages ===&lt;br /&gt;
Upon powerup the unit spits out messages that contain various useful info. After a while these messages stop and you have to send 50B#00 00 00 C0 00 00 00 to get it going again.&lt;br /&gt;
&lt;br /&gt;
All messages are big endian, i.e. hi-byte, lo-byte!&lt;br /&gt;
&lt;br /&gt;
To get the individual cell voltages, first issue 79B#02 21 02 FF FF FF FF FF.  You will receive the first reply looking like this: 7BB#10 C6 61 02 0E C9 0E C0. &lt;br /&gt;
&lt;br /&gt;
Now send 27 times 79B#30 01 00 FF FF FF FF FF and you get 7BB#21 0E C0 0E C2 0E C0 0E. It is one index byte and 7 data bytes. So after 28 messages you will have collected 98 words (16-bit) of data. Every other message it stretches over to the next message. The first the last two words are unknown so we discard them. That leaves us with 96 Words that represent the cell voltages in mV in big endian format.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/spreadsheets/d/1EHa4R85BttuY4JZ-EnssH4YZddpsDVu6rUFm0P7ouwg/edit#gid=7&lt;br /&gt;
&lt;br /&gt;
=== Different Versions ===&lt;br /&gt;
[[File:NissanLeafV2BMS.jpg|thumb|Version 2 BMS with grey LV and black HV connector]]&lt;br /&gt;
Their seem to be at least two different versions of the LBC out there, as discovered here: https://openinverter.org/forum/viewtopic.php?f=13&amp;amp;t=370&amp;amp;start=10&lt;br /&gt;
&lt;br /&gt;
The earlier version has only white input headers while the later version has ONE black HV header and a grey low voltage header. We call the first version the &amp;quot;white&amp;quot; BMS and the later version the &amp;quot;grey&amp;quot; BMS.&lt;br /&gt;
&lt;br /&gt;
Treated as a black box the main differences are:&lt;br /&gt;
* Interlock is between Pin 8 and Pin 21 on white BMS as opposed to Pin 8 and Pin 6 on grey BMS&lt;br /&gt;
* Ignition input is on pin 6 on white as opposed to pin 7 on grey&lt;br /&gt;
* White BMS expects 4 temperature sensors, grey BMS only 3&lt;br /&gt;
* Supposedly the current sensors GND is on Pin 7 but I found Pin 7 internally unconnected and left GND on Pin 15&lt;br /&gt;
So if you have a &amp;quot;grey&amp;quot; wiring loom but a white LBC you need to move Pin 6 over to Pin 21 and Pin 7 to Pin 6.&lt;br /&gt;
&lt;br /&gt;
To mitigate the missing temperature sensor you need to bridge the two input internally behind the input stage. Therefor remove R59. Then Find R62 and bridge it over to the adjacent channel 4. If you want you can use the resistor you just removed.&lt;br /&gt;
&lt;br /&gt;
=== CAN connector pins ===&lt;br /&gt;
Pins for CAN-H and CAN-L and others as identified by wolftronix in the diagram below. Pins are for LB11 and LB12 connectors in Nissan terminology.&lt;br /&gt;
[[File:Nissan Leaf BMS Connector Pins LB11 LB12.png|thumb|LB11 LB12 mappings]]&lt;br /&gt;
&lt;br /&gt;
=== 40kWh BMS ===&lt;br /&gt;
The pinout for +12V, CAN-H, CAN-L, Ignition and HV is identical o previous versions.&lt;br /&gt;
&lt;br /&gt;
It uses a daisy chain of MAX17823B for sensing cell voltages.&lt;br /&gt;
[[File:40kwh Nissan Leaf BMS.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Extending Sensing Wires ===&lt;br /&gt;
People have succesfully extended sensing wires on a 30kWh pack, beware of extending them too much on a 40kWh pack as this can cause a variety of issues with the 40kWh LeafBMS [https://openinverter.org/forum/viewtopic.php?t=2737]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=3002</id>
		<title>Nissan Leaf BMS</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=3002"/>
		<updated>2022-12-01T14:52:52Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Extending Sensing Wires */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we collect information about Nissans BMS.&lt;br /&gt;
&lt;br /&gt;
A well fleshed out comm stack is implemented in the stm32-car project: https://github.com/jsphuebner/stm32-car&lt;br /&gt;
&lt;br /&gt;
=== Connectors ===&lt;br /&gt;
Credit goes to Wolftronix for figuring this out.&lt;br /&gt;
&lt;br /&gt;
You will also find it on the [https://www.diyelectriccar.com/forums/showpost.php?p=871121&amp;amp;postcount=207 diyelectriccar] forum, you will need to sign up for downloading&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P4 24 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P3 32 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P6 16 Pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P5 40 Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|1&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|1&lt;br /&gt;
|61&lt;br /&gt;
|60&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|3&lt;br /&gt;
|2&lt;br /&gt;
|14&lt;br /&gt;
|2&lt;br /&gt;
|23&lt;br /&gt;
|22&lt;br /&gt;
|18&lt;br /&gt;
|2&lt;br /&gt;
|49&lt;br /&gt;
|48&lt;br /&gt;
|10&lt;br /&gt;
|2&lt;br /&gt;
|63&lt;br /&gt;
|62&lt;br /&gt;
|22&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|5&lt;br /&gt;
|4&lt;br /&gt;
|15&lt;br /&gt;
|3&lt;br /&gt;
|25&lt;br /&gt;
|24&lt;br /&gt;
|19&lt;br /&gt;
|3&lt;br /&gt;
|51&lt;br /&gt;
|50&lt;br /&gt;
|11&lt;br /&gt;
|3&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|7&lt;br /&gt;
|6&lt;br /&gt;
|16&lt;br /&gt;
|4&lt;br /&gt;
|27&lt;br /&gt;
|26&lt;br /&gt;
|20&lt;br /&gt;
|4&lt;br /&gt;
|53&lt;br /&gt;
|52&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|9&lt;br /&gt;
|8&lt;br /&gt;
|17&lt;br /&gt;
|5&lt;br /&gt;
|29&lt;br /&gt;
|28&lt;br /&gt;
|21&lt;br /&gt;
|5&lt;br /&gt;
|55&lt;br /&gt;
|54&lt;br /&gt;
|13&lt;br /&gt;
|5&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|11&lt;br /&gt;
|10&lt;br /&gt;
|18&lt;br /&gt;
|6&lt;br /&gt;
|31&lt;br /&gt;
|30&lt;br /&gt;
|22&lt;br /&gt;
|6&lt;br /&gt;
|57&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|6&lt;br /&gt;
|71&lt;br /&gt;
|68&lt;br /&gt;
|26&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|13&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|7&lt;br /&gt;
|33&lt;br /&gt;
|32&lt;br /&gt;
|23&lt;br /&gt;
|7&lt;br /&gt;
|59&lt;br /&gt;
|56&lt;br /&gt;
|15&lt;br /&gt;
|7&lt;br /&gt;
|73&lt;br /&gt;
|70&lt;br /&gt;
|27&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|15&lt;br /&gt;
|14&lt;br /&gt;
|20&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|24&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|58&lt;br /&gt;
|16&lt;br /&gt;
|8&lt;br /&gt;
|75&lt;br /&gt;
|72&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|21&lt;br /&gt;
|9&lt;br /&gt;
|35&lt;br /&gt;
|36&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|77&lt;br /&gt;
|74&lt;br /&gt;
|29&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|22&lt;br /&gt;
|10&lt;br /&gt;
|37&lt;br /&gt;
|38&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|10&lt;br /&gt;
|79&lt;br /&gt;
|76&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|17&lt;br /&gt;
|18&lt;br /&gt;
|23&lt;br /&gt;
|11&lt;br /&gt;
|39&lt;br /&gt;
|40&lt;br /&gt;
|27&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|78&lt;br /&gt;
|31&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|20&lt;br /&gt;
|24&lt;br /&gt;
|12&lt;br /&gt;
|41&lt;br /&gt;
|42&lt;br /&gt;
|28&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|12&lt;br /&gt;
|81&lt;br /&gt;
|80&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|43&lt;br /&gt;
|44&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|83&lt;br /&gt;
|82&lt;br /&gt;
|33&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|45&lt;br /&gt;
|46&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|85&lt;br /&gt;
|84&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|47&lt;br /&gt;
|48&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|87&lt;br /&gt;
|86&lt;br /&gt;
|35&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|89&lt;br /&gt;
|88&lt;br /&gt;
|36&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|91&lt;br /&gt;
|90&lt;br /&gt;
|37&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|18&lt;br /&gt;
|93&lt;br /&gt;
|92&lt;br /&gt;
|38&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|19&lt;br /&gt;
|95&lt;br /&gt;
|94&lt;br /&gt;
|39&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|20&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Connector part numbers ====&lt;br /&gt;
In case you need to adapt or extend the sense wires, you will need the male and female connectors and the respective pins. Here are the part numbers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Part&lt;br /&gt;
|Number&lt;br /&gt;
|Notes&lt;br /&gt;
|-&lt;br /&gt;
|16-pole male&lt;br /&gt;
|1473796-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16-pole female&lt;br /&gt;
|1318386-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole male&lt;br /&gt;
|1376103-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole female&lt;br /&gt;
|1318917-1&lt;br /&gt;
|-&lt;br /&gt;
|32-pole male&lt;br /&gt;
|1473799-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32-pole female&lt;br /&gt;
|1318747-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|40-pole male&lt;br /&gt;
|1376113-2&lt;br /&gt;
|Solder part, crimp not available&lt;br /&gt;
|-&lt;br /&gt;
|40-pole female&lt;br /&gt;
|1318389-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin male&lt;br /&gt;
|1376109-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin female&lt;br /&gt;
|1123343-1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CAN Messages ===&lt;br /&gt;
Upon powerup the unit spits out messages that contain various useful info. After a while these messages stop and you have to send 50B#00 00 00 C0 00 00 00 to get it going again.&lt;br /&gt;
&lt;br /&gt;
All messages are big endian, i.e. hi-byte, lo-byte!&lt;br /&gt;
&lt;br /&gt;
To get the individual cell voltages, first issue 79B#02 21 02 FF FF FF FF FF.  You will receive the first reply looking like this: 7BB#10 C6 61 02 0E C9 0E C0. &lt;br /&gt;
&lt;br /&gt;
Now send 27 times 79B#30 01 00 FF FF FF FF FF and you get 7BB#21 0E C0 0E C2 0E C0 0E. It is one index byte and 7 data bytes. So after 28 messages you will have collected 98 words (16-bit) of data. Every other message it stretches over to the next message. The first the last two words are unknown so we discard them. That leaves us with 96 Words that represent the cell voltages in mV in big endian format.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/spreadsheets/d/1EHa4R85BttuY4JZ-EnssH4YZddpsDVu6rUFm0P7ouwg/edit#gid=7&lt;br /&gt;
&lt;br /&gt;
=== Different Versions ===&lt;br /&gt;
[[File:NissanLeafV2BMS.jpg|thumb|Version 2 BMS with grey LV and black HV connector]]&lt;br /&gt;
Their seem to be at least two different versions of the LBC out there, as discovered here: https://openinverter.org/forum/viewtopic.php?f=13&amp;amp;t=370&amp;amp;start=10&lt;br /&gt;
&lt;br /&gt;
The earlier version has only white input headers while the later version has ONE black HV header and a grey low voltage header. We call the first version the &amp;quot;white&amp;quot; BMS and the later version the &amp;quot;grey&amp;quot; BMS.&lt;br /&gt;
&lt;br /&gt;
Treated as a black box the main differences are:&lt;br /&gt;
* Interlock is between Pin 8 and Pin 21 on white BMS as opposed to Pin 8 and Pin 6 on grey BMS&lt;br /&gt;
* Ignition input is on pin 6 on white as opposed to pin 7 on grey&lt;br /&gt;
* White BMS expects 4 temperature sensors, grey BMS only 3&lt;br /&gt;
* Supposedly the current sensors GND is on Pin 7 but I found Pin 7 internally unconnected and left GND on Pin 15&lt;br /&gt;
So if you have a &amp;quot;grey&amp;quot; wiring loom but a white LBC you need to move Pin 6 over to Pin 21 and Pin 7 to Pin 6.&lt;br /&gt;
&lt;br /&gt;
To mitigate the missing temperature sensor you need to bridge the two input internally behind the input stage. Therefor remove R59. Then Find R62 and bridge it over to the adjacent channel 4. If you want you can use the resistor you just removed.&lt;br /&gt;
&lt;br /&gt;
=== CAN connector pins ===&lt;br /&gt;
Pins for CAN-H and CAN-L and others as identified by wolftronix in the diagram below. Pins are for LB11 and LB12 connectors in Nissan terminology.&lt;br /&gt;
[[File:Nissan Leaf BMS Connector Pins LB11 LB12.png|thumb|LB11 LB12 mappings]]&lt;br /&gt;
&lt;br /&gt;
=== 40kWh BMS ===&lt;br /&gt;
The pinout for +12V, CAN-H, CAN-L, Ignition and HV is identical o previous versions.&lt;br /&gt;
&lt;br /&gt;
It uses a daisy chain of MAX17823B for sensing cell voltages.&lt;br /&gt;
[[File:40kwh Nissan Leaf BMS.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Extending Sensing Wires ===&lt;br /&gt;
People have succesfully extended sensing wires on a 30kWh pack, beware of extending them too much/on a 40kWh pack as this can cause a variety of issues with the 40kWh LeafBMS [https://openinverter.org/forum/viewtopic.php?t=2737]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=3001</id>
		<title>Nissan Leaf BMS</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=3001"/>
		<updated>2022-12-01T14:52:32Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we collect information about Nissans BMS.&lt;br /&gt;
&lt;br /&gt;
A well fleshed out comm stack is implemented in the stm32-car project: https://github.com/jsphuebner/stm32-car&lt;br /&gt;
&lt;br /&gt;
=== Connectors ===&lt;br /&gt;
Credit goes to Wolftronix for figuring this out.&lt;br /&gt;
&lt;br /&gt;
You will also find it on the [https://www.diyelectriccar.com/forums/showpost.php?p=871121&amp;amp;postcount=207 diyelectriccar] forum, you will need to sign up for downloading&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P4 24 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P3 32 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P6 16 Pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P5 40 Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|1&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|1&lt;br /&gt;
|61&lt;br /&gt;
|60&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|3&lt;br /&gt;
|2&lt;br /&gt;
|14&lt;br /&gt;
|2&lt;br /&gt;
|23&lt;br /&gt;
|22&lt;br /&gt;
|18&lt;br /&gt;
|2&lt;br /&gt;
|49&lt;br /&gt;
|48&lt;br /&gt;
|10&lt;br /&gt;
|2&lt;br /&gt;
|63&lt;br /&gt;
|62&lt;br /&gt;
|22&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|5&lt;br /&gt;
|4&lt;br /&gt;
|15&lt;br /&gt;
|3&lt;br /&gt;
|25&lt;br /&gt;
|24&lt;br /&gt;
|19&lt;br /&gt;
|3&lt;br /&gt;
|51&lt;br /&gt;
|50&lt;br /&gt;
|11&lt;br /&gt;
|3&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|7&lt;br /&gt;
|6&lt;br /&gt;
|16&lt;br /&gt;
|4&lt;br /&gt;
|27&lt;br /&gt;
|26&lt;br /&gt;
|20&lt;br /&gt;
|4&lt;br /&gt;
|53&lt;br /&gt;
|52&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|9&lt;br /&gt;
|8&lt;br /&gt;
|17&lt;br /&gt;
|5&lt;br /&gt;
|29&lt;br /&gt;
|28&lt;br /&gt;
|21&lt;br /&gt;
|5&lt;br /&gt;
|55&lt;br /&gt;
|54&lt;br /&gt;
|13&lt;br /&gt;
|5&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|11&lt;br /&gt;
|10&lt;br /&gt;
|18&lt;br /&gt;
|6&lt;br /&gt;
|31&lt;br /&gt;
|30&lt;br /&gt;
|22&lt;br /&gt;
|6&lt;br /&gt;
|57&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|6&lt;br /&gt;
|71&lt;br /&gt;
|68&lt;br /&gt;
|26&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|13&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|7&lt;br /&gt;
|33&lt;br /&gt;
|32&lt;br /&gt;
|23&lt;br /&gt;
|7&lt;br /&gt;
|59&lt;br /&gt;
|56&lt;br /&gt;
|15&lt;br /&gt;
|7&lt;br /&gt;
|73&lt;br /&gt;
|70&lt;br /&gt;
|27&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|15&lt;br /&gt;
|14&lt;br /&gt;
|20&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|24&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|58&lt;br /&gt;
|16&lt;br /&gt;
|8&lt;br /&gt;
|75&lt;br /&gt;
|72&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|21&lt;br /&gt;
|9&lt;br /&gt;
|35&lt;br /&gt;
|36&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|77&lt;br /&gt;
|74&lt;br /&gt;
|29&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|22&lt;br /&gt;
|10&lt;br /&gt;
|37&lt;br /&gt;
|38&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|10&lt;br /&gt;
|79&lt;br /&gt;
|76&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|17&lt;br /&gt;
|18&lt;br /&gt;
|23&lt;br /&gt;
|11&lt;br /&gt;
|39&lt;br /&gt;
|40&lt;br /&gt;
|27&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|78&lt;br /&gt;
|31&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|20&lt;br /&gt;
|24&lt;br /&gt;
|12&lt;br /&gt;
|41&lt;br /&gt;
|42&lt;br /&gt;
|28&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|12&lt;br /&gt;
|81&lt;br /&gt;
|80&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|43&lt;br /&gt;
|44&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|83&lt;br /&gt;
|82&lt;br /&gt;
|33&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|45&lt;br /&gt;
|46&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|85&lt;br /&gt;
|84&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|47&lt;br /&gt;
|48&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|87&lt;br /&gt;
|86&lt;br /&gt;
|35&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|89&lt;br /&gt;
|88&lt;br /&gt;
|36&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|91&lt;br /&gt;
|90&lt;br /&gt;
|37&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|18&lt;br /&gt;
|93&lt;br /&gt;
|92&lt;br /&gt;
|38&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|19&lt;br /&gt;
|95&lt;br /&gt;
|94&lt;br /&gt;
|39&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|20&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Connector part numbers ====&lt;br /&gt;
In case you need to adapt or extend the sense wires, you will need the male and female connectors and the respective pins. Here are the part numbers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Part&lt;br /&gt;
|Number&lt;br /&gt;
|Notes&lt;br /&gt;
|-&lt;br /&gt;
|16-pole male&lt;br /&gt;
|1473796-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16-pole female&lt;br /&gt;
|1318386-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole male&lt;br /&gt;
|1376103-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole female&lt;br /&gt;
|1318917-1&lt;br /&gt;
|-&lt;br /&gt;
|32-pole male&lt;br /&gt;
|1473799-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32-pole female&lt;br /&gt;
|1318747-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|40-pole male&lt;br /&gt;
|1376113-2&lt;br /&gt;
|Solder part, crimp not available&lt;br /&gt;
|-&lt;br /&gt;
|40-pole female&lt;br /&gt;
|1318389-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin male&lt;br /&gt;
|1376109-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin female&lt;br /&gt;
|1123343-1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CAN Messages ===&lt;br /&gt;
Upon powerup the unit spits out messages that contain various useful info. After a while these messages stop and you have to send 50B#00 00 00 C0 00 00 00 to get it going again.&lt;br /&gt;
&lt;br /&gt;
All messages are big endian, i.e. hi-byte, lo-byte!&lt;br /&gt;
&lt;br /&gt;
To get the individual cell voltages, first issue 79B#02 21 02 FF FF FF FF FF.  You will receive the first reply looking like this: 7BB#10 C6 61 02 0E C9 0E C0. &lt;br /&gt;
&lt;br /&gt;
Now send 27 times 79B#30 01 00 FF FF FF FF FF and you get 7BB#21 0E C0 0E C2 0E C0 0E. It is one index byte and 7 data bytes. So after 28 messages you will have collected 98 words (16-bit) of data. Every other message it stretches over to the next message. The first the last two words are unknown so we discard them. That leaves us with 96 Words that represent the cell voltages in mV in big endian format.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/spreadsheets/d/1EHa4R85BttuY4JZ-EnssH4YZddpsDVu6rUFm0P7ouwg/edit#gid=7&lt;br /&gt;
&lt;br /&gt;
=== Different Versions ===&lt;br /&gt;
[[File:NissanLeafV2BMS.jpg|thumb|Version 2 BMS with grey LV and black HV connector]]&lt;br /&gt;
Their seem to be at least two different versions of the LBC out there, as discovered here: https://openinverter.org/forum/viewtopic.php?f=13&amp;amp;t=370&amp;amp;start=10&lt;br /&gt;
&lt;br /&gt;
The earlier version has only white input headers while the later version has ONE black HV header and a grey low voltage header. We call the first version the &amp;quot;white&amp;quot; BMS and the later version the &amp;quot;grey&amp;quot; BMS.&lt;br /&gt;
&lt;br /&gt;
Treated as a black box the main differences are:&lt;br /&gt;
* Interlock is between Pin 8 and Pin 21 on white BMS as opposed to Pin 8 and Pin 6 on grey BMS&lt;br /&gt;
* Ignition input is on pin 6 on white as opposed to pin 7 on grey&lt;br /&gt;
* White BMS expects 4 temperature sensors, grey BMS only 3&lt;br /&gt;
* Supposedly the current sensors GND is on Pin 7 but I found Pin 7 internally unconnected and left GND on Pin 15&lt;br /&gt;
So if you have a &amp;quot;grey&amp;quot; wiring loom but a white LBC you need to move Pin 6 over to Pin 21 and Pin 7 to Pin 6.&lt;br /&gt;
&lt;br /&gt;
To mitigate the missing temperature sensor you need to bridge the two input internally behind the input stage. Therefor remove R59. Then Find R62 and bridge it over to the adjacent channel 4. If you want you can use the resistor you just removed.&lt;br /&gt;
&lt;br /&gt;
=== CAN connector pins ===&lt;br /&gt;
Pins for CAN-H and CAN-L and others as identified by wolftronix in the diagram below. Pins are for LB11 and LB12 connectors in Nissan terminology.&lt;br /&gt;
[[File:Nissan Leaf BMS Connector Pins LB11 LB12.png|thumb|LB11 LB12 mappings]]&lt;br /&gt;
&lt;br /&gt;
=== 40kWh BMS ===&lt;br /&gt;
The pinout for +12V, CAN-H, CAN-L, Ignition and HV is identical o previous versions.&lt;br /&gt;
&lt;br /&gt;
It uses a daisy chain of MAX17823B for sensing cell voltages.&lt;br /&gt;
[[File:40kwh Nissan Leaf BMS.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Extending Sensing Wires ===&lt;br /&gt;
People have succesfully extended sensing wires on a 30kWh pack, beware of extending them too much/on a 40kWh pack as this can cause a variety of issues with the 40kWh LeafBMS [https://openinverter.org/forum/viewtopic.php?t=2737&amp;amp;start=25]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=CAN_communication&amp;diff=2930</id>
		<title>CAN communication</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=CAN_communication&amp;diff=2930"/>
		<updated>2022-11-10T12:38:42Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Mapping values to arbitrary CAN messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Revision 2 main board supports CAN communication. The CAN bus can be used for configuration and for obtaining values like voltages, input states etc. The CAN messages are configurable and can be adjusted to be compatible with existing equipment.&lt;br /&gt;
&lt;br /&gt;
Since firmware 3.75 throttle and digital inputs can be controlled via CAN.&lt;br /&gt;
&lt;br /&gt;
Be aware that all CAN mapping uses decimal numbers. So COB ID 0x123 must be entered as &#039;&#039;&#039;291&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Controlling throttle via CAN ==&lt;br /&gt;
If you want to send the throttle and regen magnitude commands via CAN rather then via analog inputs you have to set &amp;quot;potmode&amp;quot; to &amp;quot;CAN&amp;quot; (=2). Next you have to map a CAN message to pot and optionally pot2. So say you have a digital throttle that sends values from 0 to 1000 for 0 to 100% travel on CAN-Id 100 in the first two bytes.&lt;br /&gt;
* Configure potmin=0 and potmax=1000&lt;br /&gt;
* Map CAN message to pot: can rx pot 100 0 16 32&lt;br /&gt;
The last parameter, 32, tells the CAN module to apply the internal fixed point scaling.&lt;br /&gt;
&lt;br /&gt;
CAN messages must be received every 500ms, otherwise throttle times out and is set to 0.&lt;br /&gt;
&lt;br /&gt;
== Controlling Digital IO via CAN ==&lt;br /&gt;
6 signals, namely cruise, start, brake, forward, backward and bms can be controlled via CAN. The CAN message is ORed to the physical inputs so you can have mixed signals also. Digital CAN IO doesn&#039;t need to be explicitely configured, it works as soon as you map a CAN message to &amp;quot;canio&amp;quot;. &amp;quot;canio&amp;quot; is bit-encoded:&lt;br /&gt;
* Bit 0: cruise&lt;br /&gt;
* Bit 1: start&lt;br /&gt;
* Bit 2: brake&lt;br /&gt;
* Bit 3: forward&lt;br /&gt;
* Bit 4: reverse&lt;br /&gt;
* Bit 5: bms&lt;br /&gt;
So say you have a BMS that transmits an over/under voltage bit on CAN Id 200, 2nd data bit&lt;br /&gt;
 can rx canio 200 2 1 1024&lt;br /&gt;
Note the 1024x gain that shifts the bit into the correct position (5 fraction bits plus 5th data bit). In this case all other IOs remain traditional, only BMS is controlled via CAN. Note that you cannot map multiple CAN messages onto &amp;quot;canio&amp;quot; as they would overwrite each other.&lt;br /&gt;
&lt;br /&gt;
If you have a managed to mangle all 6 bits into one message, say CAN Id 300, first 6 bits the mapping is done like so&lt;br /&gt;
 can rx canio 300 0 6 32&lt;br /&gt;
The same timeout mechanism is used as for throttle control, so after 500ms with no message the CAN-mapped inputs are assumed off. Traditional inputs remain unaffected.&lt;br /&gt;
&lt;br /&gt;
== Setting and reading parameters via SDO ==&lt;br /&gt;
The abbreviation SDO is taken from the CANOpen protocol. It assigns a certain meaning to the 8 data bits of a CAN frame.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Purpose&lt;br /&gt;
!CAN-Id&lt;br /&gt;
!Byte 1 (Cmd)&lt;br /&gt;
!Bytes 2-3 (Index)&lt;br /&gt;
!Byte 4 (Subindex)&lt;br /&gt;
!Bytes 5-8 (Data)&lt;br /&gt;
|-&lt;br /&gt;
|Set Value&lt;br /&gt;
|0x601&lt;br /&gt;
|0x40&lt;br /&gt;
|0x2000&lt;br /&gt;
|Value Index&lt;br /&gt;
|Value x 32&lt;br /&gt;
|-&lt;br /&gt;
|Set Value Reply&lt;br /&gt;
|0x581&lt;br /&gt;
|0x23&lt;br /&gt;
|0x2000&lt;br /&gt;
|Value Index&lt;br /&gt;
|Value x 32&lt;br /&gt;
|-&lt;br /&gt;
|Get Value&lt;br /&gt;
|0x601&lt;br /&gt;
|0x22&lt;br /&gt;
|0x2000&lt;br /&gt;
|Value Index&lt;br /&gt;
|don&#039;t care&lt;br /&gt;
|-&lt;br /&gt;
|Get Value Reply&lt;br /&gt;
|0x581&lt;br /&gt;
|0x43&lt;br /&gt;
|0x2000&lt;br /&gt;
|Value Index&lt;br /&gt;
|Value x 32&lt;br /&gt;
|-&lt;br /&gt;
|Map Value TX to COB ID yyy&lt;br /&gt;
|0x601&lt;br /&gt;
|0x40&lt;br /&gt;
|0x3yyy&lt;br /&gt;
|Value Index&lt;br /&gt;
|Byte 5: bit offset, Byte 6: bit length, Bytes 7,8: scaling&lt;br /&gt;
|-&lt;br /&gt;
|Map Value RX to COB ID yyy&lt;br /&gt;
|0x601&lt;br /&gt;
|0x40&lt;br /&gt;
|0x4yyy&lt;br /&gt;
|Value Index&lt;br /&gt;
|Byte 5: bit offset, Byte 6: bit length, Bytes 7,8: scaling&lt;br /&gt;
|-&lt;br /&gt;
|Abort - invalid index&lt;br /&gt;
|0x581&lt;br /&gt;
|0x80&lt;br /&gt;
|Index of request&lt;br /&gt;
|Value Index&lt;br /&gt;
|Abort Code = 0x06020000&lt;br /&gt;
|-&lt;br /&gt;
|Abort - value out of range&lt;br /&gt;
|0x581&lt;br /&gt;
|0x80&lt;br /&gt;
|Index of request&lt;br /&gt;
|Value Index&lt;br /&gt;
|Abort Code = 0x06090030&lt;br /&gt;
|-&lt;br /&gt;
|Set Param&lt;br /&gt;
|0x601&lt;br /&gt;
|0x40&lt;br /&gt;
|0x2001&lt;br /&gt;
|Param Id&lt;br /&gt;
|Value x 32&lt;br /&gt;
|-&lt;br /&gt;
|Set Param Reply&lt;br /&gt;
|0x581&lt;br /&gt;
|0x23&lt;br /&gt;
|0x2001&lt;br /&gt;
|Param Id&lt;br /&gt;
|Value x 32&lt;br /&gt;
|-&lt;br /&gt;
|Get Param&lt;br /&gt;
|0x601&lt;br /&gt;
|0x22&lt;br /&gt;
|0x2001&lt;br /&gt;
|Param Id&lt;br /&gt;
|don&#039;t care&lt;br /&gt;
|-&lt;br /&gt;
|Get Param Reply&lt;br /&gt;
|0x581&lt;br /&gt;
|0x43&lt;br /&gt;
|0x2001&lt;br /&gt;
|Param Id&lt;br /&gt;
|Value x 32&lt;br /&gt;
|}&lt;br /&gt;
The value index must be determined by counting the output of the list command. E.g. &amp;quot;boost&amp;quot; at the very top has index 0, potnom has index 77. The indexes can change over firmware versions as new parameters are added somewhere in between.&lt;br /&gt;
&lt;br /&gt;
The Get/Set Param commands use the unique parameter identifier assigned to each savable parameter. These do not vary between firmware versions. Only savable parameters not spot values can be read and written by these commands.&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&amp;lt;code&amp;gt;0x601 # 0x22 0x00 0x20 0x00 0 0 0 0&amp;lt;/code&amp;gt;   Get value of &amp;quot;boost&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0x601 # 0x40 0x00 0x20 0x01 0x80 0x0C 0 0&amp;lt;/code&amp;gt; Set &amp;quot;fweak&amp;quot; to 100Hz (0xC80=3200 because scaled by 32)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0x601 # 0x40 0xAA 0x31 0x01 0x08 0x10 1 0&amp;lt;/code&amp;gt; Map value of fweak to COB ID 0x1AA, starting at bit 8, stretching 16 bits, scaled by 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;0x601 # 0x22 0x10 0x20 0x0D 0 0 0 0&amp;lt;/code&amp;gt;   Get value of &amp;quot;pwmfrq&amp;quot; on any firmware version or build (0x0D = 13 from the PARAM_ENTRY() for &amp;quot;pwmfrq&amp;quot; in param_prj.h)&lt;br /&gt;
&lt;br /&gt;
== Mapping values to arbitrary CAN messages ==&lt;br /&gt;
Values can be mapped into a certain bit range of the 64 payload bits of a CAN message. They can either be read from the message or sent via a message. To do so enter&lt;br /&gt;
 can tx udc 123 0 16 10&lt;br /&gt;
This maps the value of udc to a CAN message with id 123 bits 0..15 (start at bit 0, span over 16 bits) with a gain of 10.&lt;br /&gt;
 can tx din_forward 123 24 1 1&lt;br /&gt;
would map the pin state of the forward input to bit 24 of CAN message with id 123.&lt;br /&gt;
&lt;br /&gt;
If you want to clear all messages, type&lt;br /&gt;
 can clear&lt;br /&gt;
If you want to remove only a specific signal (starting version 4.18.R) type&lt;br /&gt;
 can del &amp;lt;name&amp;gt;&lt;br /&gt;
To save your can map simply type &amp;quot;save&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://openinverter.org/forum/viewtopic.php?t=1468 idcmin, idcmax example]&lt;br /&gt;
&lt;br /&gt;
=== Mapping Values through the web interface ===&lt;br /&gt;
Value can also be mapped through the web interface.&lt;br /&gt;
&lt;br /&gt;
[[File:Spot values.png|alt=Spot values|thumb|Spot values]]&lt;br /&gt;
&lt;br /&gt;
* CAN Id&lt;br /&gt;
** This is the Can Id assigned to the message.&lt;br /&gt;
* Position&lt;br /&gt;
** This is where in the 64 bit length of the CAN message the data should start.&lt;br /&gt;
* Bits&lt;br /&gt;
** How many bits are assigned to send the data.&lt;br /&gt;
* Gain&lt;br /&gt;
** This applies the internal fixed point scaling.&lt;br /&gt;
* Map to CAN&lt;br /&gt;
** TX to tell the control board to transmit the data onto the CANBUS&lt;br /&gt;
** RX to tell the control board to expect to receive this data from the CANBUS&lt;br /&gt;
&lt;br /&gt;
=== Limits ===&lt;br /&gt;
* A maximum of 10 messages can be defined&lt;br /&gt;
* Per message a maximum of 8 values can be mapped&lt;br /&gt;
* a value can not span across the 32-bit boundary, i.e. it must be fully contained in the first or second 32 bits of the message. E.g. &amp;quot;can tx udc 123 16 32 10&amp;quot; is not allowed&lt;br /&gt;
* A value can span maximum 32 bits&lt;br /&gt;
&lt;br /&gt;
== Endianness ==&lt;br /&gt;
CAN messages sent to, or received from the inverter are Little-endian.&lt;br /&gt;
&lt;br /&gt;
If you are sending or receiving messages containing multi-byte values then the byte order must be taken into account.&lt;br /&gt;
&lt;br /&gt;
[[Category:CAN]] [[Category:OpenInverter]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Mitsubishi_Outlander_DCDC_OBC&amp;diff=2886</id>
		<title>Mitsubishi Outlander DCDC OBC</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Mitsubishi_Outlander_DCDC_OBC&amp;diff=2886"/>
		<updated>2022-10-21T17:49:22Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* DC-DC Converter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Mitsubishi Outlander PHEV (2012-2018 models) feature a compact CANBus controlled 3.7kw charger suitable for budget EV conversions. Units can be bought for under £200. Part numbers are: W005T70271 (pre 2018) [https://openinverter.org/forum/viewtopic.php?p=31366#p31366], W005T70272 (post 2018) [https://openinverter.org/forum/viewtopic.php?p=23876#p23876]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
forum thread: https://openinverter.org/forum/viewtopic.php?t=628&lt;br /&gt;
&lt;br /&gt;
3d scan cad file: https://grabcad.com/library/outlander-phev-charger-and-dcdc-1&lt;br /&gt;
==Dimensions==&lt;br /&gt;
 * Length 370mm&lt;br /&gt;
 * Width 270mm&lt;br /&gt;
 * Height 150mm&lt;br /&gt;
[[File:Outlander phev charger dimensions.jpg|thumb|link=Special:FilePath/Outlander_phev_charger_dimensions.jpg]][[File:Mitsubishi Outlander PHEV dimensions.jpg|thumb|link=Special:FilePath/Mitsubishi_Outlander_PHEV_dimensions.jpg]][[File:Mitsubishi Outlander PHEV height.jpg|thumb|link=Special:FilePath/Mitsubishi_Outlander_PHEV_height.jpg]]&lt;br /&gt;
==DC-DC Converter==&lt;br /&gt;
The charger has an integrated DC-DC converter outputting a fixed 14.5V. The converter requires battery voltage between 200V and 400V on the DC bus. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;at about 397v the dcdc appears to stop operating via the enable lines. currently untested if it continues via can. [https://openinverter.org/forum/viewtopic.php?p=47144#p47144] &lt;br /&gt;
&lt;br /&gt;
To start the DC-DC converter, first to apply 12V to pin 7 and GND to pin 10. You also need to have its casing connected to common GND and 12V at the Pin 8 IGCT main power pin.&lt;br /&gt;
&lt;br /&gt;
Then apply 12V ENABLE signal to pin 4 and you will see 14.5Vdc on the power line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The DCDC is capable of at least 1800W of power.&lt;br /&gt;
&lt;br /&gt;
==Connections==&lt;br /&gt;
The charger is controlled via a 13-pin connector mounted on a short tail into the case. Connectors seem to be widely available to mate with this. Search for &amp;quot;Sumitomo 6189-1092 13-WAY CONNECTOR KIT Inc Terminals &amp;amp; seals [13-AC001]&amp;quot;.[[File:13 pin connector.png|thumb]]Pinout as as follows:&lt;br /&gt;
*Pin 1 (Orange) NC on outlander&lt;br /&gt;
*Pin 2 NC on outlander&lt;br /&gt;
*Pin 3 (Blue) NC on outlander&lt;br /&gt;
*Pin 4 Sense line for DC to DC converter&lt;br /&gt;
*Pin 5 CHIN (Serial protocol to EV Remote wifi module)&lt;br /&gt;
*Pin 6 CAN H (Black)&lt;br /&gt;
*Pin 7 DC SW enables the DC:DC converter &lt;br /&gt;
*Pin 8 IGCT main power to charger&lt;br /&gt;
*Pin 9 Control Pilot from charging cable&lt;br /&gt;
*Pin 10 GND&lt;br /&gt;
*Pin 11 NC&lt;br /&gt;
*Pin 12 CHOT (Serial protocol to EV Remote wifi module)&lt;br /&gt;
*Pin 13 CAN L (Red)&lt;br /&gt;
&lt;br /&gt;
The AC power connector is Yakaza 90980-11413&amp;lt;nowiki/&amp;gt;https://www.auto-click.co.uk/7283-7350-30?search=90980-11413&lt;br /&gt;
&lt;br /&gt;
==Charge Control==&lt;br /&gt;
There is no voltage adjustment only current so your controller needs to monitor output voltage and step the charge current. Regardless of the set current the pilot signal will limit the charge current automatically. The pilot signal duty cycle is available on the can bus.&lt;br /&gt;
==CANBus Messages==&lt;br /&gt;
[https://openinverter.org/forum/download/file.php?id=6649 Outlander Charger DBC File]&lt;br /&gt;
&lt;br /&gt;
The CANBus interface operates at 500kbps/100ms.&lt;br /&gt;
&lt;br /&gt;
Starting charging requires two messages:&lt;br /&gt;
&lt;br /&gt;
0x285 alone will connect the EVSE but won&#039;t charge until you send 0x286. Byte 2 = 0xb6 pulls in the EVSE.&lt;br /&gt;
&lt;br /&gt;
0x286 byte 2 sets the DC charge current, there is a voltage setting on byte 0 and 1. The charger reads this value only once. To update it, you have to first power cycle the 12V line &amp;quot;Pin 8 IGCT main power to charger&amp;quot;.&lt;br /&gt;
 - Byte 0-1 = Voltage setpoint (Big Endian e.g. 0x0E 0x74 = 3700 = 370v)&lt;br /&gt;
 - Byte 2 = Current in amps x 10&lt;br /&gt;
The charger also returns information over the CANbus:&lt;br /&gt;
&lt;br /&gt;
0x377h 8bytes DC-DC converter status	&lt;br /&gt;
 - B0+B1 = 12V Battery voltage	(h04DC=12,45V -&amp;gt; 0,01V/bit)	&lt;br /&gt;
 - B2+B3 = 12V Supply current	(H53=8,3A -&amp;gt; 0,1A/bit)	&lt;br /&gt;
 - B4 = Temperature 1		(starts at -40degC, +1degC/bit)	&lt;br /&gt;
 - B5 = Temperature 2		(starts at -40degC, +1degC/bit)	&lt;br /&gt;
 - B6 = Temperature 3		(starts at -40degC, +1degC/bit)	&lt;br /&gt;
 - B7 = Statusbyte 		(h20=standby, h21=error, h22=in operation)&lt;br /&gt;
 -  - bit0(LSB) = Error&lt;br /&gt;
 -  - bit1	= In Operation&lt;br /&gt;
 -  - bit3      = &lt;br /&gt;
 -  - bit4      =&lt;br /&gt;
 -  - bit5      = Ready&lt;br /&gt;
 -  - bit6	= 		&lt;br /&gt;
 -  - bit7(MSB) =&lt;br /&gt;
&lt;br /&gt;
0x389	&lt;br /&gt;
 - B0 = Battery Voltage (as seen by the charger), needs to be scaled x 2, so can represent up to 255*2V; used to monitor battery during charge	&lt;br /&gt;
 - B1 = Charger supply voltage, no scaling needed	&lt;br /&gt;
 - B6 = Charger Supply Current x 10&lt;br /&gt;
&lt;br /&gt;
0x38A	&lt;br /&gt;
 - B0 = temp x 2?	&lt;br /&gt;
 - B1 = temp x 2?	&lt;br /&gt;
 - B3 = EVSE Control Duty Cycle (granny cable ~26 = 26%)&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Mitsubishi]] [[Category:Charger]] [[Category:DC/DC]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=2851</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=2851"/>
		<updated>2022-10-03T11:42:10Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Charger connection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
The Tesla GEN2 charger is a single/three phase 10kW AC charger that was fitted in the Model S from 2012 until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.&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;
&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;
&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;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
Charger Dimensions: 500x300x100mm&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;
&lt;br /&gt;
&lt;br /&gt;
== Charger connection ==&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;
&lt;br /&gt;
====Two options:====&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#Or commercial software: https://openinverter.org/files/stm32_charger.zip&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 to 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 V4aB3 does not need this modification. If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&lt;br /&gt;
&lt;br /&gt;
If the charger is the first/last device on your CAN bus there is nothing else to do. If it is somewhere in the middle you have to remove the bus termination resistor R1.&lt;br /&gt;
&lt;br /&gt;
Before doing this 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;
==Commercial charger firmware==&lt;br /&gt;
In addition to the open source firmware there is also a commercial 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;
===&#039;&#039;&#039;Connecting to the Web interface&#039;&#039;&#039;===&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;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
[[File:Tesla Charger Serial.png|frame]]&lt;br /&gt;
The firmware will work without registration but charging time is limited to 5 minutes. To overcome this, a board-specific pin must be bought. In order to do this the firmware and web interface must be installed and working.&lt;br /&gt;
&lt;br /&gt;
Go to the [https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=67 openinverter webshop] and check out as many pins as you need. When checking out add the serial number(s) of your board(s) in the order option. You will find the serial number on the bottom of the page as last spot value.&lt;br /&gt;
&lt;br /&gt;
You will then receive an email containing one pin for each board. Enter the pin in the web interface in the &amp;quot;pin&amp;quot; parameter. When the pin is correct it will be automatically saved to flash and your board is ready to be used.&lt;br /&gt;
&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;
====idclim====&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;
====iaclim====&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;
====idcspnt====&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;
====chargerena====&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;
====udcspnt====&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;
====udclim====&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;
====timelim====&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
====inputype====&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;
&lt;br /&gt;
====cancontrol====&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;
====idckp/idcki====&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
====pin====&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;
* If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&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;
&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=2848</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=2848"/>
		<updated>2022-09-30T19:28:39Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Charger connection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
The Tesla GEN2 charger is a single/three phase 10kW AC charger that was fitted in the Model S from 2012 until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.&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;
&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;
&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;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
Charger Dimensions: 500x300x100mm&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;
&lt;br /&gt;
&lt;br /&gt;
== Charger connection ==&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.[[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;
&lt;br /&gt;
====Two options:====&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#Or commercial software: https://openinverter.org/files/stm32_charger.zip&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 to 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 V4aB3 does not need this modification. If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&lt;br /&gt;
&lt;br /&gt;
If the charger is the first/last device on your CAN bus there is nothing else to do. If it is somewhere in the middle you have to remove the bus termination resistor R1.&lt;br /&gt;
&lt;br /&gt;
Before doing this 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;
==Commercial charger firmware==&lt;br /&gt;
In addition to the open source firmware there is also a commercial 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;
===&#039;&#039;&#039;Connecting to the Web interface&#039;&#039;&#039;===&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;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
[[File:Tesla Charger Serial.png|frame]]&lt;br /&gt;
The firmware will work without registration but charging time is limited to 5 minutes. To overcome this, a board-specific pin must be bought. In order to do this the firmware and web interface must be installed and working.&lt;br /&gt;
&lt;br /&gt;
Go to the [https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=67 openinverter webshop] and check out as many pins as you need. When checking out add the serial number(s) of your board(s) in the order option. You will find the serial number on the bottom of the page as last spot value.&lt;br /&gt;
&lt;br /&gt;
You will then receive an email containing one pin for each board. Enter the pin in the web interface in the &amp;quot;pin&amp;quot; parameter. When the pin is correct it will be automatically saved to flash and your board is ready to be used.&lt;br /&gt;
&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;
====idclim====&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;
====iaclim====&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;
====idcspnt====&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;
====chargerena====&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;
====udcspnt====&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;
====udclim====&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;
====timelim====&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
====inputype====&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;
&lt;br /&gt;
====cancontrol====&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;
====idckp/idcki====&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
====pin====&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;
* If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&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;
&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=2685</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=2685"/>
		<updated>2022-08-15T12:40:07Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Additional Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
The Tesla GEN2 charger is a single/three phase 10kW AC charger that was fitted in the Model S from 2012 until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.&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;
&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;
&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;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
Charger Dimensions: 500x300x100mm&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;
&lt;br /&gt;
&lt;br /&gt;
== Charger connection ==&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;
[[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;
&lt;br /&gt;
====Two options:====&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#Or commercial software: https://openinverter.org/files/stm32_charger.zip&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 to 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 V4aB3 does not need this modification. If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&lt;br /&gt;
&lt;br /&gt;
If the charger is the first/last device on your CAN bus there is nothing else to do. If it is somewhere in the middle you have to remove the bus termination resistor R1.&lt;br /&gt;
&lt;br /&gt;
Before doing this 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;
==Commercial charger firmware==&lt;br /&gt;
In addition to the open source firmware there is also a commercial 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;
===&#039;&#039;&#039;Connecting to the Web interface&#039;&#039;&#039;===&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;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
[[File:Tesla Charger Serial.png|frame]]&lt;br /&gt;
The firmware will work without registration but charging time is limited to 5 minutes. To overcome this, a board-specific pin must be bought. In order to do this the firmware and web interface must be installed and working.&lt;br /&gt;
&lt;br /&gt;
Go to the [https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=67 openinverter webshop] and check out as many pins as you need. When checking out add the serial number(s) of your board(s) in the order option. You will find the serial number on the bottom of the page as last spot value.&lt;br /&gt;
&lt;br /&gt;
You will then receive an email containing one pin for each board. Enter the pin in the web interface in the &amp;quot;pin&amp;quot; parameter. When the pin is correct it will be automatically saved to flash and your board is ready to be used.&lt;br /&gt;
&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;
====idclim====&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;
====iaclim====&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;
====idcspnt====&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;
====chargerena====&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;
====udcspnt====&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;
====udclim====&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;
====timelim====&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
====inputype====&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;
&lt;br /&gt;
====cancontrol====&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;
====idckp/idcki====&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
====pin====&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;
* If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&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;
&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=2402</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=2402"/>
		<updated>2022-05-20T12:21:27Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Common Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
The Tesla GEN2 charger is a single/three phase 10kW AC charger that was fitted in the Model S from 2012 until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.&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;
&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;
&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;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
Charger Dimensions: 500x300x100mm&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;
&lt;br /&gt;
&lt;br /&gt;
== Charger connection ==&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;
[[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;
&lt;br /&gt;
====Two options:====&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#Or commercial software: https://openinverter.org/files/stm32_charger.zip&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 to 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 V4aB3 does not need this modification. If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&lt;br /&gt;
&lt;br /&gt;
If the charger is the first/last device on your CAN bus there is nothing else to do. If it is somewhere in the middle you have to remove the bus termination resistor R1.&lt;br /&gt;
&lt;br /&gt;
Before doing this 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&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;
Doesn&#039;t belong here, will&lt;br /&gt;
&lt;br /&gt;
move to Byte 5 after 1.06.R!&lt;br /&gt;
|Like Byte 4&lt;br /&gt;
for versions&lt;br /&gt;
&lt;br /&gt;
after 1.06.R&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%.[[File:Parameter view of commercial firmware.png|thumb|Parameter view of commercial firmware]]&lt;br /&gt;
&lt;br /&gt;
==Commercial charger firmware==&lt;br /&gt;
In addition to the open source firmware there is also a commercial 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;
===&#039;&#039;&#039;Connecting to the Web interface&#039;&#039;&#039;===&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;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
[[File:Tesla Charger Serial.png|frame]]&lt;br /&gt;
The firmware will work without registration but charging time is limited to 5 minutes. To overcome this, a board-specific pin must be bought. In order to do this the firmware and web interface must be installed and working.&lt;br /&gt;
&lt;br /&gt;
Go to the [https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=67 openinverter webshop] and check out as many pins as you need. When checking out add the serial number(s) of your board(s) in the order option. You will find the serial number on the bottom of the page as last spot value.&lt;br /&gt;
&lt;br /&gt;
You will then receive an email containing one pin for each board. Enter the pin in the web interface in the &amp;quot;pin&amp;quot; parameter. When the pin is correct it will be automatically saved to flash and your board is ready to be used.&lt;br /&gt;
&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;
====idclim====&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;
====iaclim====&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;
====idcspnt====&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;
====chargerena====&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;
====udcspnt====&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;
====udclim====&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;
====timelim====&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
====inputype====&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;
&lt;br /&gt;
====cancontrol====&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;
====idckp/idcki====&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
====pin====&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;
== 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;
* If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&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;
&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Olimex_MOD-WIFI-ESP8266&amp;diff=2388</id>
		<title>Olimex MOD-WIFI-ESP8266</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Olimex_MOD-WIFI-ESP8266&amp;diff=2388"/>
		<updated>2022-05-03T09:21:23Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Common Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Olimex MOD-WIFI-ESP8266 WiFi expansion module is commonly used to provide WiFi connectivity and interface for several inverter controllers including the OpenInverter system. This module connects to the controllers via the UEXT header connector.&lt;br /&gt;
&lt;br /&gt;
=== Flashing Process Overview (e.g for Tesla Charger) ===&lt;br /&gt;
[[File:Esp8266-flash.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
# Solder GPIO0 to 0&lt;br /&gt;
# Install &amp;amp; open Arduino and setup the code from https://github.com/jsphuebner/esp8266-web-interface&lt;br /&gt;
# Flash the code (see below)&lt;br /&gt;
# Re-solder GPIO0 to 1&lt;br /&gt;
# See a new unprotected WiFi &amp;amp; connect, access web interface at IP 192.168.4.1&lt;br /&gt;
====== Step 3 (shortcut) ======&lt;br /&gt;
https://raw.githubusercontent.com/espressif/esptool/master/esptool.py&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9167&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;python esptool.py --port COM1 --baud 115200 write_flash 0x000000 FSBrowser.ino.modwifi.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Step 3 (full) ======&lt;br /&gt;
https://openinverter.org/forum/viewtopic.php?p=4928#p4928&lt;br /&gt;
&lt;br /&gt;
3.1. Download latest Arduino IDE and install it to PC&lt;br /&gt;
&lt;br /&gt;
3.2. Buy a Weimos D1 mini ESP8266 board with FTDI and get CH340 driver from &amp;lt;nowiki&amp;gt;https://www.wemos.cc/en/latest/d1/d1_mini.html&amp;lt;/nowiki&amp;gt; (or use Olimex)&lt;br /&gt;
&lt;br /&gt;
3.3. Inside Arduino IDE install ESP8266 &lt;br /&gt;
&lt;br /&gt;
- open the Preferences window&lt;br /&gt;
&lt;br /&gt;
- enter &amp;lt;nowiki&amp;gt;https://arduino.esp8266.com/stable/pack&amp;lt;/nowiki&amp;gt; ... index.json into the Additional Board Manager URLs&lt;br /&gt;
&lt;br /&gt;
- open Boards Manager from Tools &amp;gt; Board menu and install esp8266 platform. I select LOLIN D1 R2 mini board, settings are in the pic&lt;br /&gt;
&lt;br /&gt;
3.4. Install ESP8266 Filesystem Uploader&lt;br /&gt;
&lt;br /&gt;
- Download &amp;lt;nowiki&amp;gt;https://github.com/esp8266/arduino-esp8&amp;lt;/nowiki&amp;gt; ... n/releases python support files&lt;br /&gt;
&lt;br /&gt;
- extract file to Arduino IDE tools folder like you see here &amp;lt;nowiki&amp;gt;https://randomnerdtutorials.com/install&amp;lt;/nowiki&amp;gt; ... duino-ide/&lt;br /&gt;
&lt;br /&gt;
- restart Arduino for changes to come into effect&lt;br /&gt;
&lt;br /&gt;
3.5. Download Johannes Web interface code here: &amp;lt;nowiki&amp;gt;https://github.com/jsphuebner/esp8266-web-interface&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- put the code in the same dir as the ino file, default FSBrowser&lt;br /&gt;
&lt;br /&gt;
- make another dir Data inside first and copy everything here again (i am not sure which files are correct, so i just copy them again) this are the SPIFFS&lt;br /&gt;
&lt;br /&gt;
3.6. Connect board to USB and select correct COM port and rest of settings&lt;br /&gt;
&lt;br /&gt;
- if you used a new board you have to select &amp;quot;erase flash: sketch + wifi settings&amp;quot; so the board will erase its password&lt;br /&gt;
&lt;br /&gt;
- click upload and wait for interface to reset the board&lt;br /&gt;
&lt;br /&gt;
- select tools/ESP8266 sketch data upload and wait for the board to reset&lt;br /&gt;
&lt;br /&gt;
- connect to the board and go to &amp;lt;nowiki&amp;gt;http://192.168.4.1/&amp;lt;/nowiki&amp;gt; to set your wifi settings inside interface&lt;br /&gt;
&lt;br /&gt;
====== WiFi doesn&#039;t show up ======&lt;br /&gt;
- in Arduino studio Tools -&amp;gt; Serial Monitor gives debug info of the chip. If the Serial Monitor says &amp;quot;&amp;lt;code&amp;gt;Unknown command sequence&amp;quot;&amp;lt;/code&amp;gt; you need to change the TTL&lt;br /&gt;
&lt;br /&gt;
- if GPIO0 is not resoldered, the chip is in programming mode and will not boot from the flash code&lt;br /&gt;
&lt;br /&gt;
====== FileNotFound Error in WebInterface ======&lt;br /&gt;
Upload the files from the repository &amp;lt;nowiki&amp;gt;https://github.com/jsphuebner/esp8266-web-interface&amp;lt;/nowiki&amp;gt; with below command:&amp;lt;blockquote&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
IP=192.168.4.1&lt;br /&gt;
echo $IP&lt;br /&gt;
curl -F &#039;data=@README.md&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@ajax-loader.gif&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@chart.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@chartjs-annotation.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauge.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauges.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauges.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@index.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@index.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@inverter.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@jquery.core.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@jquery.knob.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
# curl -F &#039;data=@log.htm&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@log.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@log.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@refresh.png&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@remote.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@style.css&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@syncofs.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@upload.sh&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@wifi-updated.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@wifi.html&#039; http://$IP/edit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/blockquote&amp;gt;Replace $IP with 192.168.4.1&lt;br /&gt;
&lt;br /&gt;
=== Flashing Process for GS450H ===&lt;br /&gt;
&lt;br /&gt;
====== Part 1 : Software and IDE. ======&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;ve tested this on 1.8.13 so go ahead and grab that and install.&lt;br /&gt;
&lt;br /&gt;
Next you will need to add the ESP8266 to your boards manager. &lt;br /&gt;
&lt;br /&gt;
Tutorial here : https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/&lt;br /&gt;
&lt;br /&gt;
Go ahead and do that.&lt;br /&gt;
&lt;br /&gt;
Download the WiFi package from my Github : &lt;br /&gt;
&lt;br /&gt;
https://github.com/damienmaguire/Lexus-GS450H-Inverter-Controller/tree/master/WiFi&lt;br /&gt;
&lt;br /&gt;
Copy it to your Arduino sketch directory. Close and reopen Arduino, go to file, sketchbook and it should show up.&lt;br /&gt;
&lt;br /&gt;
Go ahead and open it.&lt;br /&gt;
&lt;br /&gt;
Now you need the correct libraries which is where the fun starts as they are a hot mess in Arduino these days.&lt;br /&gt;
&lt;br /&gt;
I uploaded mine to the repo :&lt;br /&gt;
&lt;br /&gt;
https://github.com/damienmaguire/Lexus-GS450H-Inverter-Controller/tree/master/Software/Libraries&lt;br /&gt;
&lt;br /&gt;
Grab those and unzip both files to your /Arduino/libraries directory.&lt;br /&gt;
&lt;br /&gt;
Next up go to tools and setup your board exactly as shown in the picture.&lt;br /&gt;
&lt;br /&gt;
Close and reopen Arduino then hit the tick box to compile. If you did everything right it will just compile.&lt;br /&gt;
&lt;br /&gt;
====== Part 2 : programming method. ======&lt;br /&gt;
You will need a 3v3 level FTDI cable :&lt;br /&gt;
&lt;br /&gt;
https://www.mouser.ie/ProductDetail/FTDI/TTL-232R-3V3/?qs=Xb8IjHhkxj627GFcejHp0Q==&lt;br /&gt;
&lt;br /&gt;
Yes you can use others, no I have no idea if they will work. This is the one I use.&lt;br /&gt;
&lt;br /&gt;
Wire it as per the the attached diagram.&lt;br /&gt;
&lt;br /&gt;
Now, to program the module you need to desolder the GPIO0 jumper and move it to the &amp;quot;0&amp;quot; position.&lt;br /&gt;
&lt;br /&gt;
Back to tools and select your com port.&lt;br /&gt;
&lt;br /&gt;
Click the upload icon (right facing arrow).&lt;br /&gt;
&lt;br /&gt;
When upload is done, unplug and replug the WiFi module from the FTDI cable but do not unplug the USB end from the computer.&lt;br /&gt;
&lt;br /&gt;
Back to tools and click &amp;quot;esp8266 sketch data upload&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
when done remove the module and resolder the GPIO0 jumper back to position &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Congratulations its now programmed.&lt;br /&gt;
&lt;br /&gt;
====== Precompiled binaries (similar to step 3 shortcut in the tutorial above) ======&lt;br /&gt;
attached the compiled binaries for use with the WEMOS D1 Mini, including the SPIFFS filesystem .bin&lt;br /&gt;
&lt;br /&gt;
the SSID is &amp;quot;GS450H-VCU&amp;quot; and the WiFi password is &#039;&#039;`inverter123`&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9051&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9050&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Common Issues ===&lt;br /&gt;
&lt;br /&gt;
* [[File:ESP8266 communication with DuPont jump leads and without.png|thumb|If experiencing connection issues, try different cables to rule out bad connectors ( apparently common with recent Olimex)]]The settings &amp;amp; partition size in Arduino Studio are easy to get wrong. [https://openinverter.org/forum/viewtopic.php?p=29523#p29523]&lt;br /&gt;
* If you get any of: 1) incomplete responses via HTTP 2) patchy WiFi on a logic board 3) parameters from logic board not loading in web interface; you can try powering the ESP8266 from a different source, or connect it via DuPont leads to rule out connector &amp;amp; plug issues (see photographs).&lt;br /&gt;
* If you are all out of luck, there are alternative boards discussed here [https://openinverter.org/forum/viewtopic.php?t=2299]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:ESP8266_communication_with_DuPont_jump_leads_and_without.png&amp;diff=2387</id>
		<title>File:ESP8266 communication with DuPont jump leads and without.png</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:ESP8266_communication_with_DuPont_jump_leads_and_without.png&amp;diff=2387"/>
		<updated>2022-05-03T09:19:12Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Different leads/power source may help identifying the source of connection issues&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Olimex_MOD-WIFI-ESP8266&amp;diff=2386</id>
		<title>Olimex MOD-WIFI-ESP8266</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Olimex_MOD-WIFI-ESP8266&amp;diff=2386"/>
		<updated>2022-04-29T11:37:13Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Common Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Olimex MOD-WIFI-ESP8266 WiFi expansion module is commonly used to provide WiFi connectivity and interface for several inverter controllers including the OpenInverter system. This module connects to the controllers via the UEXT header connector.&lt;br /&gt;
&lt;br /&gt;
=== Flashing Process Overview (e.g for Tesla Charger) ===&lt;br /&gt;
[[File:Esp8266-flash.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
# Solder GPIO0 to 0&lt;br /&gt;
# Install &amp;amp; open Arduino and setup the code from https://github.com/jsphuebner/esp8266-web-interface&lt;br /&gt;
# Flash the code (see below)&lt;br /&gt;
# Re-solder GPIO0 to 1&lt;br /&gt;
# See a new unprotected WiFi &amp;amp; connect, access web interface at IP 192.168.4.1&lt;br /&gt;
====== Step 3 (shortcut) ======&lt;br /&gt;
https://raw.githubusercontent.com/espressif/esptool/master/esptool.py&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9167&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;python esptool.py --port COM1 --baud 115200 write_flash 0x000000 FSBrowser.ino.modwifi.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Step 3 (full) ======&lt;br /&gt;
https://openinverter.org/forum/viewtopic.php?p=4928#p4928&lt;br /&gt;
&lt;br /&gt;
3.1. Download latest Arduino IDE and install it to PC&lt;br /&gt;
&lt;br /&gt;
3.2. Buy a Weimos D1 mini ESP8266 board with FTDI and get CH340 driver from &amp;lt;nowiki&amp;gt;https://www.wemos.cc/en/latest/d1/d1_mini.html&amp;lt;/nowiki&amp;gt; (or use Olimex)&lt;br /&gt;
&lt;br /&gt;
3.3. Inside Arduino IDE install ESP8266 &lt;br /&gt;
&lt;br /&gt;
- open the Preferences window&lt;br /&gt;
&lt;br /&gt;
- enter &amp;lt;nowiki&amp;gt;https://arduino.esp8266.com/stable/pack&amp;lt;/nowiki&amp;gt; ... index.json into the Additional Board Manager URLs&lt;br /&gt;
&lt;br /&gt;
- open Boards Manager from Tools &amp;gt; Board menu and install esp8266 platform. I select LOLIN D1 R2 mini board, settings are in the pic&lt;br /&gt;
&lt;br /&gt;
3.4. Install ESP8266 Filesystem Uploader&lt;br /&gt;
&lt;br /&gt;
- Download &amp;lt;nowiki&amp;gt;https://github.com/esp8266/arduino-esp8&amp;lt;/nowiki&amp;gt; ... n/releases python support files&lt;br /&gt;
&lt;br /&gt;
- extract file to Arduino IDE tools folder like you see here &amp;lt;nowiki&amp;gt;https://randomnerdtutorials.com/install&amp;lt;/nowiki&amp;gt; ... duino-ide/&lt;br /&gt;
&lt;br /&gt;
- restart Arduino for changes to come into effect&lt;br /&gt;
&lt;br /&gt;
3.5. Download Johannes Web interface code here: &amp;lt;nowiki&amp;gt;https://github.com/jsphuebner/esp8266-web-interface&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- put the code in the same dir as the ino file, default FSBrowser&lt;br /&gt;
&lt;br /&gt;
- make another dir Data inside first and copy everything here again (i am not sure which files are correct, so i just copy them again) this are the SPIFFS&lt;br /&gt;
&lt;br /&gt;
3.6. Connect board to USB and select correct COM port and rest of settings&lt;br /&gt;
&lt;br /&gt;
- if you used a new board you have to select &amp;quot;erase flash: sketch + wifi settings&amp;quot; so the board will erase its password&lt;br /&gt;
&lt;br /&gt;
- click upload and wait for interface to reset the board&lt;br /&gt;
&lt;br /&gt;
- select tools/ESP8266 sketch data upload and wait for the board to reset&lt;br /&gt;
&lt;br /&gt;
- connect to the board and go to &amp;lt;nowiki&amp;gt;http://192.168.4.1/&amp;lt;/nowiki&amp;gt; to set your wifi settings inside interface&lt;br /&gt;
&lt;br /&gt;
====== WiFi doesn&#039;t show up ======&lt;br /&gt;
- in Arduino studio Tools -&amp;gt; Serial Monitor gives debug info of the chip. If the Serial Monitor says &amp;quot;&amp;lt;code&amp;gt;Unknown command sequence&amp;quot;&amp;lt;/code&amp;gt; you need to change the TTL&lt;br /&gt;
&lt;br /&gt;
- if GPIO0 is not resoldered, the chip is in programming mode and will not boot from the flash code&lt;br /&gt;
&lt;br /&gt;
====== FileNotFound Error in WebInterface ======&lt;br /&gt;
Upload the files from the repository &amp;lt;nowiki&amp;gt;https://github.com/jsphuebner/esp8266-web-interface&amp;lt;/nowiki&amp;gt; with below command:&amp;lt;blockquote&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
IP=192.168.4.1&lt;br /&gt;
echo $IP&lt;br /&gt;
curl -F &#039;data=@README.md&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@ajax-loader.gif&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@chart.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@chartjs-annotation.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauge.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauges.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauges.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@index.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@index.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@inverter.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@jquery.core.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@jquery.knob.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
# curl -F &#039;data=@log.htm&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@log.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@log.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@refresh.png&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@remote.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@style.css&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@syncofs.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@upload.sh&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@wifi-updated.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@wifi.html&#039; http://$IP/edit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/blockquote&amp;gt;Replace $IP with 192.168.4.1&lt;br /&gt;
&lt;br /&gt;
=== Flashing Process for GS450H ===&lt;br /&gt;
&lt;br /&gt;
====== Part 1 : Software and IDE. ======&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;ve tested this on 1.8.13 so go ahead and grab that and install.&lt;br /&gt;
&lt;br /&gt;
Next you will need to add the ESP8266 to your boards manager. &lt;br /&gt;
&lt;br /&gt;
Tutorial here : https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/&lt;br /&gt;
&lt;br /&gt;
Go ahead and do that.&lt;br /&gt;
&lt;br /&gt;
Download the WiFi package from my Github : &lt;br /&gt;
&lt;br /&gt;
https://github.com/damienmaguire/Lexus-GS450H-Inverter-Controller/tree/master/WiFi&lt;br /&gt;
&lt;br /&gt;
Copy it to your Arduino sketch directory. Close and reopen Arduino, go to file, sketchbook and it should show up.&lt;br /&gt;
&lt;br /&gt;
Go ahead and open it.&lt;br /&gt;
&lt;br /&gt;
Now you need the correct libraries which is where the fun starts as they are a hot mess in Arduino these days.&lt;br /&gt;
&lt;br /&gt;
I uploaded mine to the repo :&lt;br /&gt;
&lt;br /&gt;
https://github.com/damienmaguire/Lexus-GS450H-Inverter-Controller/tree/master/Software/Libraries&lt;br /&gt;
&lt;br /&gt;
Grab those and unzip both files to your /Arduino/libraries directory.&lt;br /&gt;
&lt;br /&gt;
Next up go to tools and setup your board exactly as shown in the picture.&lt;br /&gt;
&lt;br /&gt;
Close and reopen Arduino then hit the tick box to compile. If you did everything right it will just compile.&lt;br /&gt;
&lt;br /&gt;
====== Part 2 : programming method. ======&lt;br /&gt;
You will need a 3v3 level FTDI cable :&lt;br /&gt;
&lt;br /&gt;
https://www.mouser.ie/ProductDetail/FTDI/TTL-232R-3V3/?qs=Xb8IjHhkxj627GFcejHp0Q==&lt;br /&gt;
&lt;br /&gt;
Yes you can use others, no I have no idea if they will work. This is the one I use.&lt;br /&gt;
&lt;br /&gt;
Wire it as per the the attached diagram.&lt;br /&gt;
&lt;br /&gt;
Now, to program the module you need to desolder the GPIO0 jumper and move it to the &amp;quot;0&amp;quot; position.&lt;br /&gt;
&lt;br /&gt;
Back to tools and select your com port.&lt;br /&gt;
&lt;br /&gt;
Click the upload icon (right facing arrow).&lt;br /&gt;
&lt;br /&gt;
When upload is done, unplug and replug the WiFi module from the FTDI cable but do not unplug the USB end from the computer.&lt;br /&gt;
&lt;br /&gt;
Back to tools and click &amp;quot;esp8266 sketch data upload&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
when done remove the module and resolder the GPIO0 jumper back to position &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Congratulations its now programmed.&lt;br /&gt;
&lt;br /&gt;
====== Precompiled binaries (similar to step 3 shortcut in the tutorial above) ======&lt;br /&gt;
attached the compiled binaries for use with the WEMOS D1 Mini, including the SPIFFS filesystem .bin&lt;br /&gt;
&lt;br /&gt;
the SSID is &amp;quot;GS450H-VCU&amp;quot; and the WiFi password is &#039;&#039;`inverter123`&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9051&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9050&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Common Issues ===&lt;br /&gt;
&lt;br /&gt;
* The settings &amp;amp; partition size in Arduino Studio are easy to get wrong. [https://openinverter.org/forum/viewtopic.php?p=29523#p29523]&lt;br /&gt;
* If you get any of: 1) incomplete responses via HTTP 2) patchy WiFi on a logic board 3) parameters from logic board not loading in web interface; you can try powering the ESP8266 from a different source, or connect it via DuPont leads to rule out connector &amp;amp; plug issues (see photographs).&lt;br /&gt;
* If you are all out of luck, there are alternative boards discussed here [https://openinverter.org/forum/viewtopic.php?t=2299][[File:Esp8266 debugging help.png|thumb|You can try different power sources or different leads when experiencing communication issues.]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Olimex_MOD-WIFI-ESP8266&amp;diff=2385</id>
		<title>Olimex MOD-WIFI-ESP8266</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Olimex_MOD-WIFI-ESP8266&amp;diff=2385"/>
		<updated>2022-04-29T11:31:38Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Olimex MOD-WIFI-ESP8266 WiFi expansion module is commonly used to provide WiFi connectivity and interface for several inverter controllers including the OpenInverter system. This module connects to the controllers via the UEXT header connector.&lt;br /&gt;
&lt;br /&gt;
=== Flashing Process Overview (e.g for Tesla Charger) ===&lt;br /&gt;
[[File:Esp8266-flash.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
# Solder GPIO0 to 0&lt;br /&gt;
# Install &amp;amp; open Arduino and setup the code from https://github.com/jsphuebner/esp8266-web-interface&lt;br /&gt;
# Flash the code (see below)&lt;br /&gt;
# Re-solder GPIO0 to 1&lt;br /&gt;
# See a new unprotected WiFi &amp;amp; connect, access web interface at IP 192.168.4.1&lt;br /&gt;
====== Step 3 (shortcut) ======&lt;br /&gt;
https://raw.githubusercontent.com/espressif/esptool/master/esptool.py&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9167&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;python esptool.py --port COM1 --baud 115200 write_flash 0x000000 FSBrowser.ino.modwifi.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Step 3 (full) ======&lt;br /&gt;
https://openinverter.org/forum/viewtopic.php?p=4928#p4928&lt;br /&gt;
&lt;br /&gt;
3.1. Download latest Arduino IDE and install it to PC&lt;br /&gt;
&lt;br /&gt;
3.2. Buy a Weimos D1 mini ESP8266 board with FTDI and get CH340 driver from &amp;lt;nowiki&amp;gt;https://www.wemos.cc/en/latest/d1/d1_mini.html&amp;lt;/nowiki&amp;gt; (or use Olimex)&lt;br /&gt;
&lt;br /&gt;
3.3. Inside Arduino IDE install ESP8266 &lt;br /&gt;
&lt;br /&gt;
- open the Preferences window&lt;br /&gt;
&lt;br /&gt;
- enter &amp;lt;nowiki&amp;gt;https://arduino.esp8266.com/stable/pack&amp;lt;/nowiki&amp;gt; ... index.json into the Additional Board Manager URLs&lt;br /&gt;
&lt;br /&gt;
- open Boards Manager from Tools &amp;gt; Board menu and install esp8266 platform. I select LOLIN D1 R2 mini board, settings are in the pic&lt;br /&gt;
&lt;br /&gt;
3.4. Install ESP8266 Filesystem Uploader&lt;br /&gt;
&lt;br /&gt;
- Download &amp;lt;nowiki&amp;gt;https://github.com/esp8266/arduino-esp8&amp;lt;/nowiki&amp;gt; ... n/releases python support files&lt;br /&gt;
&lt;br /&gt;
- extract file to Arduino IDE tools folder like you see here &amp;lt;nowiki&amp;gt;https://randomnerdtutorials.com/install&amp;lt;/nowiki&amp;gt; ... duino-ide/&lt;br /&gt;
&lt;br /&gt;
- restart Arduino for changes to come into effect&lt;br /&gt;
&lt;br /&gt;
3.5. Download Johannes Web interface code here: &amp;lt;nowiki&amp;gt;https://github.com/jsphuebner/esp8266-web-interface&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- put the code in the same dir as the ino file, default FSBrowser&lt;br /&gt;
&lt;br /&gt;
- make another dir Data inside first and copy everything here again (i am not sure which files are correct, so i just copy them again) this are the SPIFFS&lt;br /&gt;
&lt;br /&gt;
3.6. Connect board to USB and select correct COM port and rest of settings&lt;br /&gt;
&lt;br /&gt;
- if you used a new board you have to select &amp;quot;erase flash: sketch + wifi settings&amp;quot; so the board will erase its password&lt;br /&gt;
&lt;br /&gt;
- click upload and wait for interface to reset the board&lt;br /&gt;
&lt;br /&gt;
- select tools/ESP8266 sketch data upload and wait for the board to reset&lt;br /&gt;
&lt;br /&gt;
- connect to the board and go to &amp;lt;nowiki&amp;gt;http://192.168.4.1/&amp;lt;/nowiki&amp;gt; to set your wifi settings inside interface&lt;br /&gt;
&lt;br /&gt;
====== WiFi doesn&#039;t show up ======&lt;br /&gt;
- in Arduino studio Tools -&amp;gt; Serial Monitor gives debug info of the chip. If the Serial Monitor says &amp;quot;&amp;lt;code&amp;gt;Unknown command sequence&amp;quot;&amp;lt;/code&amp;gt; you need to change the TTL&lt;br /&gt;
&lt;br /&gt;
- if GPIO0 is not resoldered, the chip is in programming mode and will not boot from the flash code&lt;br /&gt;
&lt;br /&gt;
====== FileNotFound Error in WebInterface ======&lt;br /&gt;
Upload the files from the repository &amp;lt;nowiki&amp;gt;https://github.com/jsphuebner/esp8266-web-interface&amp;lt;/nowiki&amp;gt; with below command:&amp;lt;blockquote&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
IP=192.168.4.1&lt;br /&gt;
echo $IP&lt;br /&gt;
curl -F &#039;data=@README.md&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@ajax-loader.gif&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@chart.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@chartjs-annotation.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauge.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauges.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauges.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@index.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@index.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@inverter.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@jquery.core.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@jquery.knob.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
# curl -F &#039;data=@log.htm&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@log.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@log.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@refresh.png&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@remote.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@style.css&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@syncofs.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@upload.sh&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@wifi-updated.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@wifi.html&#039; http://$IP/edit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/blockquote&amp;gt;Replace $IP with 192.168.4.1&lt;br /&gt;
&lt;br /&gt;
=== Flashing Process for GS450H ===&lt;br /&gt;
&lt;br /&gt;
====== Part 1 : Software and IDE. ======&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;ve tested this on 1.8.13 so go ahead and grab that and install.&lt;br /&gt;
&lt;br /&gt;
Next you will need to add the ESP8266 to your boards manager. &lt;br /&gt;
&lt;br /&gt;
Tutorial here : https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/&lt;br /&gt;
&lt;br /&gt;
Go ahead and do that.&lt;br /&gt;
&lt;br /&gt;
Download the WiFi package from my Github : &lt;br /&gt;
&lt;br /&gt;
https://github.com/damienmaguire/Lexus-GS450H-Inverter-Controller/tree/master/WiFi&lt;br /&gt;
&lt;br /&gt;
Copy it to your Arduino sketch directory. Close and reopen Arduino, go to file, sketchbook and it should show up.&lt;br /&gt;
&lt;br /&gt;
Go ahead and open it.&lt;br /&gt;
&lt;br /&gt;
Now you need the correct libraries which is where the fun starts as they are a hot mess in Arduino these days.&lt;br /&gt;
&lt;br /&gt;
I uploaded mine to the repo :&lt;br /&gt;
&lt;br /&gt;
https://github.com/damienmaguire/Lexus-GS450H-Inverter-Controller/tree/master/Software/Libraries&lt;br /&gt;
&lt;br /&gt;
Grab those and unzip both files to your /Arduino/libraries directory.&lt;br /&gt;
&lt;br /&gt;
Next up go to tools and setup your board exactly as shown in the picture.&lt;br /&gt;
&lt;br /&gt;
Close and reopen Arduino then hit the tick box to compile. If you did everything right it will just compile.&lt;br /&gt;
&lt;br /&gt;
====== Part 2 : programming method. ======&lt;br /&gt;
You will need a 3v3 level FTDI cable :&lt;br /&gt;
&lt;br /&gt;
https://www.mouser.ie/ProductDetail/FTDI/TTL-232R-3V3/?qs=Xb8IjHhkxj627GFcejHp0Q==&lt;br /&gt;
&lt;br /&gt;
Yes you can use others, no I have no idea if they will work. This is the one I use.&lt;br /&gt;
&lt;br /&gt;
Wire it as per the the attached diagram.&lt;br /&gt;
&lt;br /&gt;
Now, to program the module you need to desolder the GPIO0 jumper and move it to the &amp;quot;0&amp;quot; position.&lt;br /&gt;
&lt;br /&gt;
Back to tools and select your com port.&lt;br /&gt;
&lt;br /&gt;
Click the upload icon (right facing arrow).&lt;br /&gt;
&lt;br /&gt;
When upload is done, unplug and replug the WiFi module from the FTDI cable but do not unplug the USB end from the computer.&lt;br /&gt;
&lt;br /&gt;
Back to tools and click &amp;quot;esp8266 sketch data upload&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
when done remove the module and resolder the GPIO0 jumper back to position &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Congratulations its now programmed.&lt;br /&gt;
&lt;br /&gt;
====== Precompiled binaries (similar to step 3 shortcut in the tutorial above) ======&lt;br /&gt;
attached the compiled binaries for use with the WEMOS D1 Mini, including the SPIFFS filesystem .bin&lt;br /&gt;
&lt;br /&gt;
the SSID is &amp;quot;GS450H-VCU&amp;quot; and the WiFi password is &#039;&#039;`inverter123`&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9051&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9050&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Common Issues ===&lt;br /&gt;
&lt;br /&gt;
* The settings &amp;amp; partition size in Arduino Studio are easy to get wrong. [https://openinverter.org/forum/viewtopic.php?p=29523#p29523]&lt;br /&gt;
* If you get any of: 1) incomplete responses via HTTP 2) patchy WiFi on a logic board 3) parameters from logic board not loading in web interface; you can try powering the ESP8266 from a different source, or connect it via DuPont leads to rule out connector &amp;amp; plug issues (see photographs).[[File:Esp8266 debugging help.png|thumb|You can try different power sources or different leads when experiencing communication issues.]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Olimex_MOD-WIFI-ESP8266&amp;diff=2384</id>
		<title>Olimex MOD-WIFI-ESP8266</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Olimex_MOD-WIFI-ESP8266&amp;diff=2384"/>
		<updated>2022-04-29T11:30:45Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Common Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Olimex MOD-WIFI-ESP8266 WiFi expansion module is commonly used to provide WiFi connectivity and interface for several inverter controllers including the OpenInverter system. This module connects to the controllers via the UEXT header connector.&lt;br /&gt;
&lt;br /&gt;
=== Flashing Process Overview (e.g for Tesla Charger) ===&lt;br /&gt;
[[File:Esp8266-flash.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
# Solder GPIO0 to 0&lt;br /&gt;
# Install &amp;amp; open Arduino and setup the code from https://github.com/jsphuebner/esp8266-web-interface&lt;br /&gt;
# Flash the code (see below)&lt;br /&gt;
# Re-solder GPIO0 to 1&lt;br /&gt;
# See a new unprotected WiFi &amp;amp; connect, access web interface at IP 192.168.4.1&lt;br /&gt;
====== Step 3 (shortcut) ======&lt;br /&gt;
https://raw.githubusercontent.com/espressif/esptool/master/esptool.py&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9167&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;python esptool.py --port COM1 --baud 115200 write_flash 0x000000 FSBrowser.ino.modwifi.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Step 3 (full) ======&lt;br /&gt;
https://openinverter.org/forum/viewtopic.php?p=4928#p4928&lt;br /&gt;
&lt;br /&gt;
3.1. Download latest Arduino IDE and install it to PC&lt;br /&gt;
&lt;br /&gt;
3.2. Buy a Weimos D1 mini ESP8266 board with FTDI and get CH340 driver from &amp;lt;nowiki&amp;gt;https://www.wemos.cc/en/latest/d1/d1_mini.html&amp;lt;/nowiki&amp;gt; (or use Olimex)&lt;br /&gt;
&lt;br /&gt;
3.3. Inside Arduino IDE install ESP8266 &lt;br /&gt;
&lt;br /&gt;
- open the Preferences window&lt;br /&gt;
&lt;br /&gt;
- enter &amp;lt;nowiki&amp;gt;https://arduino.esp8266.com/stable/pack&amp;lt;/nowiki&amp;gt; ... index.json into the Additional Board Manager URLs&lt;br /&gt;
&lt;br /&gt;
- open Boards Manager from Tools &amp;gt; Board menu and install esp8266 platform. I select LOLIN D1 R2 mini board, settings are in the pic&lt;br /&gt;
&lt;br /&gt;
3.4. Install ESP8266 Filesystem Uploader&lt;br /&gt;
&lt;br /&gt;
- Download &amp;lt;nowiki&amp;gt;https://github.com/esp8266/arduino-esp8&amp;lt;/nowiki&amp;gt; ... n/releases python support files&lt;br /&gt;
&lt;br /&gt;
- extract file to Arduino IDE tools folder like you see here &amp;lt;nowiki&amp;gt;https://randomnerdtutorials.com/install&amp;lt;/nowiki&amp;gt; ... duino-ide/&lt;br /&gt;
&lt;br /&gt;
- restart Arduino for changes to come into effect&lt;br /&gt;
&lt;br /&gt;
3.5. Download Johannes Web interface code here: &amp;lt;nowiki&amp;gt;https://github.com/jsphuebner/esp8266-web-interface&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- put the code in the same dir as the ino file, default FSBrowser&lt;br /&gt;
&lt;br /&gt;
- make another dir Data inside first and copy everything here again (i am not sure which files are correct, so i just copy them again) this are the SPIFFS&lt;br /&gt;
&lt;br /&gt;
3.6. Connect board to USB and select correct COM port and rest of settings&lt;br /&gt;
&lt;br /&gt;
- if you used a new board you have to select &amp;quot;erase flash: sketch + wifi settings&amp;quot; so the board will erase its password&lt;br /&gt;
&lt;br /&gt;
- click upload and wait for interface to reset the board&lt;br /&gt;
&lt;br /&gt;
- select tools/ESP8266 sketch data upload and wait for the board to reset&lt;br /&gt;
&lt;br /&gt;
- connect to the board and go to &amp;lt;nowiki&amp;gt;http://192.168.4.1/&amp;lt;/nowiki&amp;gt; to set your wifi settings inside interface&lt;br /&gt;
&lt;br /&gt;
====== WiFi doesn&#039;t show up ======&lt;br /&gt;
- in Arduino studio Tools -&amp;gt; Serial Monitor gives debug info of the chip. If the Serial Monitor says &amp;quot;&amp;lt;code&amp;gt;Unknown command sequence&amp;quot;&amp;lt;/code&amp;gt; you need to change the TTL&lt;br /&gt;
&lt;br /&gt;
- if GPIO0 is not resoldered, the chip is in programming mode and will not boot from the flash code&lt;br /&gt;
&lt;br /&gt;
====== FileNotFound Error in WebInterface ======&lt;br /&gt;
Upload the files from the repository &amp;lt;nowiki&amp;gt;https://github.com/jsphuebner/esp8266-web-interface&amp;lt;/nowiki&amp;gt; with below command:&amp;lt;blockquote&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
IP=192.168.4.1&lt;br /&gt;
echo $IP&lt;br /&gt;
curl -F &#039;data=@README.md&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@ajax-loader.gif&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@chart.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@chartjs-annotation.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauge.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauges.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauges.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@index.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@index.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@inverter.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@jquery.core.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@jquery.knob.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
# curl -F &#039;data=@log.htm&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@log.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@log.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@refresh.png&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@remote.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@style.css&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@syncofs.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@upload.sh&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@wifi-updated.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@wifi.html&#039; http://$IP/edit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/blockquote&amp;gt;Replace $IP with 192.168.4.1&lt;br /&gt;
&lt;br /&gt;
=== Flashing Process for GS450H ===&lt;br /&gt;
&lt;br /&gt;
====== Part 1 : Software and IDE. ======&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;ve tested this on 1.8.13 so go ahead and grab that and install.&lt;br /&gt;
&lt;br /&gt;
Next you will need to add the ESP8266 to your boards manager. &lt;br /&gt;
&lt;br /&gt;
Tutorial here : https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/&lt;br /&gt;
&lt;br /&gt;
Go ahead and do that.&lt;br /&gt;
&lt;br /&gt;
Download the WiFi package from my Github : &lt;br /&gt;
&lt;br /&gt;
https://github.com/damienmaguire/Lexus-GS450H-Inverter-Controller/tree/master/WiFi&lt;br /&gt;
&lt;br /&gt;
Copy it to your Arduino sketch directory. Close and reopen Arduino, go to file, sketchbook and it should show up.&lt;br /&gt;
&lt;br /&gt;
Go ahead and open it.&lt;br /&gt;
&lt;br /&gt;
Now you need the correct libraries which is where the fun starts as they are a hot mess in Arduino these days.&lt;br /&gt;
&lt;br /&gt;
I uploaded mine to the repo :&lt;br /&gt;
&lt;br /&gt;
https://github.com/damienmaguire/Lexus-GS450H-Inverter-Controller/tree/master/Software/Libraries&lt;br /&gt;
&lt;br /&gt;
Grab those and unzip both files to your /Arduino/libraries directory.&lt;br /&gt;
&lt;br /&gt;
Next up go to tools and setup your board exactly as shown in the picture.&lt;br /&gt;
&lt;br /&gt;
Close and reopen Arduino then hit the tick box to compile. If you did everything right it will just compile.&lt;br /&gt;
&lt;br /&gt;
====== Part 2 : programming method. ======&lt;br /&gt;
You will need a 3v3 level FTDI cable :&lt;br /&gt;
&lt;br /&gt;
https://www.mouser.ie/ProductDetail/FTDI/TTL-232R-3V3/?qs=Xb8IjHhkxj627GFcejHp0Q==&lt;br /&gt;
&lt;br /&gt;
Yes you can use others, no I have no idea if they will work. This is the one I use.&lt;br /&gt;
&lt;br /&gt;
Wire it as per the the attached diagram.&lt;br /&gt;
&lt;br /&gt;
Now, to program the module you need to desolder the GPIO0 jumper and move it to the &amp;quot;0&amp;quot; position.&lt;br /&gt;
&lt;br /&gt;
Back to tools and select your com port.&lt;br /&gt;
&lt;br /&gt;
Click the upload icon (right facing arrow).&lt;br /&gt;
&lt;br /&gt;
When upload is done, unplug and replug the WiFi module from the FTDI cable but do not unplug the USB end from the computer.&lt;br /&gt;
&lt;br /&gt;
Back to tools and click &amp;quot;esp8266 sketch data upload&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
when done remove the module and resolder the GPIO0 jumper back to position &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Congratulations its now programmed.&lt;br /&gt;
&lt;br /&gt;
====== Precompiled binaries (similar to step 3 shortcut in the tutorial above) ======&lt;br /&gt;
attached the compiled binaries for use with the WEMOS D1 Mini, including the SPIFFS filesystem .bin&lt;br /&gt;
&lt;br /&gt;
the SSID is &amp;quot;GS450H-VCU&amp;quot; and the WiFi password is &#039;&#039;`inverter123`&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9051&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9050&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Common Issues ===&lt;br /&gt;
&lt;br /&gt;
* The settings &amp;amp; partition size in Arduino Studio are easy to get wrong. [https://openinverter.org/forum/viewtopic.php?p=29523#p29523]&lt;br /&gt;
* If you get any of: 1) incomplete responses via HTTP 2) patchy WiFi on a logic board 3) parameters from logic board not loading in web interface; you can try powering the ESP8266 from a different source, or connect it via DuPont leads to rule out connector &amp;amp; plug issues (see photographs).[[File:Esp8266 debugging help.png|thumb|You can try connecting the ESP8266 to the Tesla Logic Board with DuPont cables when experiencing Wifi issues, half served HTTP requests &amp;amp; communication issues with the STM32 on the logic board.]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:Esp8266_debugging_help.png&amp;diff=2383</id>
		<title>File:Esp8266 debugging help.png</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:Esp8266_debugging_help.png&amp;diff=2383"/>
		<updated>2022-04-29T11:28:24Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Try connecting the ESP8266 to the Tesla Logic Board with DuPont cables to rule out dodgy plug &amp;amp; connector combo&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Olimex_MOD-WIFI-ESP8266&amp;diff=2382</id>
		<title>Olimex MOD-WIFI-ESP8266</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Olimex_MOD-WIFI-ESP8266&amp;diff=2382"/>
		<updated>2022-04-29T11:27:10Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Olimex MOD-WIFI-ESP8266 WiFi expansion module is commonly used to provide WiFi connectivity and interface for several inverter controllers including the OpenInverter system. This module connects to the controllers via the UEXT header connector.&lt;br /&gt;
&lt;br /&gt;
=== Flashing Process Overview (e.g for Tesla Charger) ===&lt;br /&gt;
[[File:Esp8266-flash.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
# Solder GPIO0 to 0&lt;br /&gt;
# Install &amp;amp; open Arduino and setup the code from https://github.com/jsphuebner/esp8266-web-interface&lt;br /&gt;
# Flash the code (see below)&lt;br /&gt;
# Re-solder GPIO0 to 1&lt;br /&gt;
# See a new unprotected WiFi &amp;amp; connect, access web interface at IP 192.168.4.1&lt;br /&gt;
====== Step 3 (shortcut) ======&lt;br /&gt;
https://raw.githubusercontent.com/espressif/esptool/master/esptool.py&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9167&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;python esptool.py --port COM1 --baud 115200 write_flash 0x000000 FSBrowser.ino.modwifi.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Step 3 (full) ======&lt;br /&gt;
https://openinverter.org/forum/viewtopic.php?p=4928#p4928&lt;br /&gt;
&lt;br /&gt;
3.1. Download latest Arduino IDE and install it to PC&lt;br /&gt;
&lt;br /&gt;
3.2. Buy a Weimos D1 mini ESP8266 board with FTDI and get CH340 driver from &amp;lt;nowiki&amp;gt;https://www.wemos.cc/en/latest/d1/d1_mini.html&amp;lt;/nowiki&amp;gt; (or use Olimex)&lt;br /&gt;
&lt;br /&gt;
3.3. Inside Arduino IDE install ESP8266 &lt;br /&gt;
&lt;br /&gt;
- open the Preferences window&lt;br /&gt;
&lt;br /&gt;
- enter &amp;lt;nowiki&amp;gt;https://arduino.esp8266.com/stable/pack&amp;lt;/nowiki&amp;gt; ... index.json into the Additional Board Manager URLs&lt;br /&gt;
&lt;br /&gt;
- open Boards Manager from Tools &amp;gt; Board menu and install esp8266 platform. I select LOLIN D1 R2 mini board, settings are in the pic&lt;br /&gt;
&lt;br /&gt;
3.4. Install ESP8266 Filesystem Uploader&lt;br /&gt;
&lt;br /&gt;
- Download &amp;lt;nowiki&amp;gt;https://github.com/esp8266/arduino-esp8&amp;lt;/nowiki&amp;gt; ... n/releases python support files&lt;br /&gt;
&lt;br /&gt;
- extract file to Arduino IDE tools folder like you see here &amp;lt;nowiki&amp;gt;https://randomnerdtutorials.com/install&amp;lt;/nowiki&amp;gt; ... duino-ide/&lt;br /&gt;
&lt;br /&gt;
- restart Arduino for changes to come into effect&lt;br /&gt;
&lt;br /&gt;
3.5. Download Johannes Web interface code here: &amp;lt;nowiki&amp;gt;https://github.com/jsphuebner/esp8266-web-interface&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- put the code in the same dir as the ino file, default FSBrowser&lt;br /&gt;
&lt;br /&gt;
- make another dir Data inside first and copy everything here again (i am not sure which files are correct, so i just copy them again) this are the SPIFFS&lt;br /&gt;
&lt;br /&gt;
3.6. Connect board to USB and select correct COM port and rest of settings&lt;br /&gt;
&lt;br /&gt;
- if you used a new board you have to select &amp;quot;erase flash: sketch + wifi settings&amp;quot; so the board will erase its password&lt;br /&gt;
&lt;br /&gt;
- click upload and wait for interface to reset the board&lt;br /&gt;
&lt;br /&gt;
- select tools/ESP8266 sketch data upload and wait for the board to reset&lt;br /&gt;
&lt;br /&gt;
- connect to the board and go to &amp;lt;nowiki&amp;gt;http://192.168.4.1/&amp;lt;/nowiki&amp;gt; to set your wifi settings inside interface&lt;br /&gt;
&lt;br /&gt;
====== WiFi doesn&#039;t show up ======&lt;br /&gt;
- in Arduino studio Tools -&amp;gt; Serial Monitor gives debug info of the chip. If the Serial Monitor says &amp;quot;&amp;lt;code&amp;gt;Unknown command sequence&amp;quot;&amp;lt;/code&amp;gt; you need to change the TTL&lt;br /&gt;
&lt;br /&gt;
- if GPIO0 is not resoldered, the chip is in programming mode and will not boot from the flash code&lt;br /&gt;
&lt;br /&gt;
====== FileNotFound Error in WebInterface ======&lt;br /&gt;
Upload the files from the repository &amp;lt;nowiki&amp;gt;https://github.com/jsphuebner/esp8266-web-interface&amp;lt;/nowiki&amp;gt; with below command:&amp;lt;blockquote&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
IP=192.168.4.1&lt;br /&gt;
echo $IP&lt;br /&gt;
curl -F &#039;data=@README.md&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@ajax-loader.gif&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@chart.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@chartjs-annotation.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauge.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauges.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@gauges.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@index.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@index.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@inverter.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@jquery.core.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@jquery.knob.min.js.gz&#039; http://$IP/edit&lt;br /&gt;
# curl -F &#039;data=@log.htm&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@log.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@log.js&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@refresh.png&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@remote.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@style.css&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@syncofs.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@upload.sh&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@wifi-updated.html&#039; http://$IP/edit&lt;br /&gt;
curl -F &#039;data=@wifi.html&#039; http://$IP/edit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/blockquote&amp;gt;Replace $IP with 192.168.4.1&lt;br /&gt;
&lt;br /&gt;
=== Flashing Process for GS450H ===&lt;br /&gt;
&lt;br /&gt;
====== Part 1 : Software and IDE. ======&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;ve tested this on 1.8.13 so go ahead and grab that and install.&lt;br /&gt;
&lt;br /&gt;
Next you will need to add the ESP8266 to your boards manager. &lt;br /&gt;
&lt;br /&gt;
Tutorial here : https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/&lt;br /&gt;
&lt;br /&gt;
Go ahead and do that.&lt;br /&gt;
&lt;br /&gt;
Download the WiFi package from my Github : &lt;br /&gt;
&lt;br /&gt;
https://github.com/damienmaguire/Lexus-GS450H-Inverter-Controller/tree/master/WiFi&lt;br /&gt;
&lt;br /&gt;
Copy it to your Arduino sketch directory. Close and reopen Arduino, go to file, sketchbook and it should show up.&lt;br /&gt;
&lt;br /&gt;
Go ahead and open it.&lt;br /&gt;
&lt;br /&gt;
Now you need the correct libraries which is where the fun starts as they are a hot mess in Arduino these days.&lt;br /&gt;
&lt;br /&gt;
I uploaded mine to the repo :&lt;br /&gt;
&lt;br /&gt;
https://github.com/damienmaguire/Lexus-GS450H-Inverter-Controller/tree/master/Software/Libraries&lt;br /&gt;
&lt;br /&gt;
Grab those and unzip both files to your /Arduino/libraries directory.&lt;br /&gt;
&lt;br /&gt;
Next up go to tools and setup your board exactly as shown in the picture.&lt;br /&gt;
&lt;br /&gt;
Close and reopen Arduino then hit the tick box to compile. If you did everything right it will just compile.&lt;br /&gt;
&lt;br /&gt;
====== Part 2 : programming method. ======&lt;br /&gt;
You will need a 3v3 level FTDI cable :&lt;br /&gt;
&lt;br /&gt;
https://www.mouser.ie/ProductDetail/FTDI/TTL-232R-3V3/?qs=Xb8IjHhkxj627GFcejHp0Q==&lt;br /&gt;
&lt;br /&gt;
Yes you can use others, no I have no idea if they will work. This is the one I use.&lt;br /&gt;
&lt;br /&gt;
Wire it as per the the attached diagram.&lt;br /&gt;
&lt;br /&gt;
Now, to program the module you need to desolder the GPIO0 jumper and move it to the &amp;quot;0&amp;quot; position.&lt;br /&gt;
&lt;br /&gt;
Back to tools and select your com port.&lt;br /&gt;
&lt;br /&gt;
Click the upload icon (right facing arrow).&lt;br /&gt;
&lt;br /&gt;
When upload is done, unplug and replug the WiFi module from the FTDI cable but do not unplug the USB end from the computer.&lt;br /&gt;
&lt;br /&gt;
Back to tools and click &amp;quot;esp8266 sketch data upload&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
when done remove the module and resolder the GPIO0 jumper back to position &amp;quot;1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Congratulations its now programmed.&lt;br /&gt;
&lt;br /&gt;
====== Precompiled binaries (similar to step 3 shortcut in the tutorial above) ======&lt;br /&gt;
attached the compiled binaries for use with the WEMOS D1 Mini, including the SPIFFS filesystem .bin&lt;br /&gt;
&lt;br /&gt;
the SSID is &amp;quot;GS450H-VCU&amp;quot; and the WiFi password is &#039;&#039;`inverter123`&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9051&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/download/file.php?id=9050&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Common Issues ===&lt;br /&gt;
&lt;br /&gt;
* The settings &amp;amp; partition size in Arduino Studio are easy to get wrong. [https://openinverter.org/forum/viewtopic.php?p=29523#p29523]&lt;br /&gt;
* If you get incomplete responses via HTTP/patchy WiFi on a logic board, try powering the ESP8266 from a different source, or connect it via DuPont leads to rule out connector &amp;amp; plug issues.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=2369</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=2369"/>
		<updated>2022-04-08T14:33:34Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Additional Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
The Tesla GEN2 charger is a single/three phase 10kW AC charger that was fitted in the Model S from 2012 until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.&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;
&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;
&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;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
Charger Dimensions: 500x300x100mm&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;
&lt;br /&gt;
&lt;br /&gt;
== Charger connection ==&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;
|&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;
[[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;
&lt;br /&gt;
====Two options:====&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#Or commercial software: https://openinverter.org/files/stm32_charger.zip&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 to 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 V4aB3 does not need this modification. If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&lt;br /&gt;
&lt;br /&gt;
If the charger is the first/last device on your CAN bus there is nothing else to do. If it is somewhere in the middle you have to remove the bus termination resistor R1.&lt;br /&gt;
&lt;br /&gt;
Before doing this 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, 217, 219, 227, 229, 237, 239, 247, 249, 327, 329, 347, 349, 357, 359, 367, 368, 369, 377, 379, 537, 539, 717, 719, 20B, 21B, 22B, 23B, 24B, 32B, 34B, 35B, 36B, 37B, 42C, 43C, 44C, 45C, 53B, 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&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;
Doesn&#039;t belong here, will&lt;br /&gt;
&lt;br /&gt;
move to Byte 5 after 1.06.R!&lt;br /&gt;
|Like Byte 4&lt;br /&gt;
for versions&lt;br /&gt;
&lt;br /&gt;
after 1.06.R&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%.[[File:Parameter view of commercial firmware.png|thumb|Parameter view of commercial firmware]]&lt;br /&gt;
&lt;br /&gt;
==Commercial charger firmware==&lt;br /&gt;
In addition to the open source firmware there is also a commercial 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;
===&#039;&#039;&#039;Connecting to the Web interface&#039;&#039;&#039;===&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;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
[[File:Tesla Charger Serial.png|frame]]&lt;br /&gt;
The firmware will work without registration but charging time is limited to 5 minutes. To overcome this, a board-specific pin must be bought. In order to do this the firmware and web interface must be installed and working.&lt;br /&gt;
&lt;br /&gt;
Go to the [https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=67 openinverter webshop] and check out as many pins as you need. When checking out add the serial number(s) of your board(s) in the order option. You will find the serial number on the bottom of the page as last spot value.&lt;br /&gt;
&lt;br /&gt;
You will then receive an email containing one pin for each board. Enter the pin in the web interface in the &amp;quot;pin&amp;quot; parameter. When the pin is correct it will be automatically saved to flash and your board is ready to be used.&lt;br /&gt;
&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;
====idclim====&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;
====iaclim====&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;
====idcspnt====&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;
====chargerena====&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;
====udcspnt====&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;
====udclim====&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;
====timelim====&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
====inputype====&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;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;
&lt;br /&gt;
====cancontrol====&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;
====idckp/idcki====&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
====pin====&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;
== 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;
* If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=2361</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=2361"/>
		<updated>2022-03-29T16:01:51Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Additional resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
The Tesla GEN2 charger is a single/three phase 10kW AC charger that was fitted in the Model S from 2012 until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.&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;
&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;
&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;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
Charger Dimensions: 500x300x100mm&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;
&lt;br /&gt;
&lt;br /&gt;
== Charger connection ==&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;
|&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;
[[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;
&lt;br /&gt;
====Two options:====&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#Or commercial software: https://openinverter.org/files/stm32_charger.zip&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 to 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 V4aB3 does not need this modification. If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&lt;br /&gt;
&lt;br /&gt;
If the charger is the first/last device on your CAN bus there is nothing else to do. If it is somewhere in the middle you have to remove the bus termination resistor R1.&lt;br /&gt;
&lt;br /&gt;
Before doing this 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, 217, 219, 227, 229, 237, 239, 247, 249, 327, 329, 347, 349, 357, 359, 367, 368, 369, 377, 379, 537, 539, 717, 719, 20B, 21B, 22B, 23B, 24B, 32B, 34B, 35B, 36B, 37B, 42C, 43C, 44C, 45C, 53B, 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&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;
Doesn&#039;t belong here, will&lt;br /&gt;
&lt;br /&gt;
move to Byte 5 after 1.06.R!&lt;br /&gt;
|Like Byte 4&lt;br /&gt;
for versions&lt;br /&gt;
&lt;br /&gt;
after 1.06.R&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%.[[File:Parameter view of commercial firmware.png|thumb|Parameter view of commercial firmware]]&lt;br /&gt;
&lt;br /&gt;
==Commercial charger firmware==&lt;br /&gt;
In addition to the open source firmware there is also a commercial 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;
===&#039;&#039;&#039;Connecting to the Web interface&#039;&#039;&#039;===&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;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
[[File:Tesla Charger Serial.png|frame]]&lt;br /&gt;
The firmware will work without registration but charging time is limited to 5 minutes. To overcome this, a board-specific pin must be bought. In order to do this the firmware and web interface must be installed and working.&lt;br /&gt;
&lt;br /&gt;
Go to the [https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=67 openinverter webshop] and check out as many pins as you need. When checking out add the serial number(s) of your board(s) in the order option. You will find the serial number on the bottom of the page as last spot value.&lt;br /&gt;
&lt;br /&gt;
You will then receive an email containing one pin for each board. Enter the pin in the web interface in the &amp;quot;pin&amp;quot; parameter. When the pin is correct it will be automatically saved to flash and your board is ready to be used.&lt;br /&gt;
&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;
====idclim====&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;
====iaclim====&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;
====idcspnt====&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;
====chargerena====&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;
====udcspnt====&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;
====udclim====&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;
====timelim====&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
====inputype====&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;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;
&lt;br /&gt;
====cancontrol====&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;
====idckp/idcki====&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
====pin====&lt;br /&gt;
Software pin, obtained by registration.&lt;br /&gt;
&lt;br /&gt;
== Additional resources ==&lt;br /&gt;
&lt;br /&gt;
Videos 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 one] [https://www.youtube.com/watch?v=ULadBnl7wgM two] [https://www.youtube.com/watch?v=mOIgp3QFg78 three] [https://www.youtube.com/watch?v=BG4kYsoHe54 four] [https://www.youtube.com/watch?v=bPLqXCiArVM five]&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=2360</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=2360"/>
		<updated>2022-03-29T15:56:47Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Additional resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
The Tesla GEN2 charger is a single/three phase 10kW AC charger that was fitted in the Model S from 2012 until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.&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;
&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;
&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;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
Charger Dimensions: 500x300x100mm&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;
&lt;br /&gt;
&lt;br /&gt;
== Charger connection ==&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;
|&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;
[[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;
&lt;br /&gt;
====Two options:====&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#Or commercial software: https://openinverter.org/files/stm32_charger.zip&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 to 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 V4aB3 does not need this modification. If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&lt;br /&gt;
&lt;br /&gt;
If the charger is the first/last device on your CAN bus there is nothing else to do. If it is somewhere in the middle you have to remove the bus termination resistor R1.&lt;br /&gt;
&lt;br /&gt;
Before doing this 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, 217, 219, 227, 229, 237, 239, 247, 249, 327, 329, 347, 349, 357, 359, 367, 368, 369, 377, 379, 537, 539, 717, 719, 20B, 21B, 22B, 23B, 24B, 32B, 34B, 35B, 36B, 37B, 42C, 43C, 44C, 45C, 53B, 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&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;
Doesn&#039;t belong here, will&lt;br /&gt;
&lt;br /&gt;
move to Byte 5 after 1.06.R!&lt;br /&gt;
|Like Byte 4&lt;br /&gt;
for versions&lt;br /&gt;
&lt;br /&gt;
after 1.06.R&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%.[[File:Parameter view of commercial firmware.png|thumb|Parameter view of commercial firmware]]&lt;br /&gt;
&lt;br /&gt;
==Commercial charger firmware==&lt;br /&gt;
In addition to the open source firmware there is also a commercial 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;
===&#039;&#039;&#039;Connecting to the Web interface&#039;&#039;&#039;===&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;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
[[File:Tesla Charger Serial.png|frame]]&lt;br /&gt;
The firmware will work without registration but charging time is limited to 5 minutes. To overcome this, a board-specific pin must be bought. In order to do this the firmware and web interface must be installed and working.&lt;br /&gt;
&lt;br /&gt;
Go to the [https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=67 openinverter webshop] and check out as many pins as you need. When checking out add the serial number(s) of your board(s) in the order option. You will find the serial number on the bottom of the page as last spot value.&lt;br /&gt;
&lt;br /&gt;
You will then receive an email containing one pin for each board. Enter the pin in the web interface in the &amp;quot;pin&amp;quot; parameter. When the pin is correct it will be automatically saved to flash and your board is ready to be used.&lt;br /&gt;
&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;
====idclim====&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;
====iaclim====&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;
====idcspnt====&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;
====chargerena====&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;
====udcspnt====&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;
====udclim====&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;
====timelim====&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
====inputype====&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;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;
&lt;br /&gt;
====cancontrol====&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;
====idckp/idcki====&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
====pin====&lt;br /&gt;
Software pin, obtained by registration.&lt;br /&gt;
&lt;br /&gt;
== Additional resources ==&lt;br /&gt;
&lt;br /&gt;
Five videos from Oct 2017 - Jan 2018 showing internals of the charger, CAN IDs, wiring, and development of the board in the repository:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=LqJ7HhS65po one] [https://www.youtube.com/watch?v=ULadBnl7wgM two] [https://www.youtube.com/watch?v=mOIgp3QFg78 three] [https://www.youtube.com/watch?v=BG4kYsoHe54 four] [https://www.youtube.com/watch?v=bPLqXCiArVM five]&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=2359</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=2359"/>
		<updated>2022-03-29T15:55:45Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
The Tesla GEN2 charger is a single/three phase 10kW AC charger that was fitted in the Model S from 2012 until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.&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;
&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;
&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;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
Charger Dimensions: 500x300x100mm&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;
&lt;br /&gt;
&lt;br /&gt;
== Charger connection ==&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;
|&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;
[[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;
&lt;br /&gt;
====Two options:====&lt;br /&gt;
#Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
#Or commercial software: https://openinverter.org/files/stm32_charger.zip&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 to 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 V4aB3 does not need this modification. If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the WiFi module.&lt;br /&gt;
&lt;br /&gt;
If the charger is the first/last device on your CAN bus there is nothing else to do. If it is somewhere in the middle you have to remove the bus termination resistor R1.&lt;br /&gt;
&lt;br /&gt;
Before doing this 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, 217, 219, 227, 229, 237, 239, 247, 249, 327, 329, 347, 349, 357, 359, 367, 368, 369, 377, 379, 537, 539, 717, 719, 20B, 21B, 22B, 23B, 24B, 32B, 34B, 35B, 36B, 37B, 42C, 43C, 44C, 45C, 53B, 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&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;
Doesn&#039;t belong here, will&lt;br /&gt;
&lt;br /&gt;
move to Byte 5 after 1.06.R!&lt;br /&gt;
|Like Byte 4&lt;br /&gt;
for versions&lt;br /&gt;
&lt;br /&gt;
after 1.06.R&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%.[[File:Parameter view of commercial firmware.png|thumb|Parameter view of commercial firmware]]&lt;br /&gt;
&lt;br /&gt;
==Commercial charger firmware==&lt;br /&gt;
In addition to the open source firmware there is also a commercial 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;
===&#039;&#039;&#039;Connecting to the Web interface&#039;&#039;&#039;===&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;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
[[File:Tesla Charger Serial.png|frame]]&lt;br /&gt;
The firmware will work without registration but charging time is limited to 5 minutes. To overcome this, a board-specific pin must be bought. In order to do this the firmware and web interface must be installed and working.&lt;br /&gt;
&lt;br /&gt;
Go to the [https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=67 openinverter webshop] and check out as many pins as you need. When checking out add the serial number(s) of your board(s) in the order option. You will find the serial number on the bottom of the page as last spot value.&lt;br /&gt;
&lt;br /&gt;
You will then receive an email containing one pin for each board. Enter the pin in the web interface in the &amp;quot;pin&amp;quot; parameter. When the pin is correct it will be automatically saved to flash and your board is ready to be used.&lt;br /&gt;
&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;
====idclim====&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;
====iaclim====&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;
====idcspnt====&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;
====chargerena====&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;
====udcspnt====&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;
====udclim====&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;
====timelim====&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
====inputype====&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;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;
&lt;br /&gt;
====cancontrol====&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;
====idckp/idcki====&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
====pin====&lt;br /&gt;
Software pin, obtained by registration.&lt;br /&gt;
&lt;br /&gt;
== Additional resources ==&lt;br /&gt;
&lt;br /&gt;
Five videos from Oct 2017 - Jan 2018 showing Damien + community reverse engineering progress:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=LqJ7HhS65po one]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=ULadBnl7wgM two]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=mOIgp3QFg78 three]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=BG4kYsoHe54 four]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=bPLqXCiArVM five]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] &lt;br /&gt;
[[Category:Tesla]] &lt;br /&gt;
[[Category:Charger]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Tesla_Model_S/X_GEN2_Charger&amp;diff=1988</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=1988"/>
		<updated>2021-11-29T13:53:07Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Gen2.jpg|thumb|tesla gen2 ac charger]]&lt;br /&gt;
The Tesla GEN2 charger is a single/three phase 10kW AC charger that was fitted in the Model S from 2012 until it was replaced in the 2016 &#039;facelift&#039; model with GEN3.&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;
&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;
&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;
[[File:Tesla gen2 xray.png|thumb|Tesla Gen2 X-Ray]]&lt;br /&gt;
Charger Dimensions: 500x300x100mm&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;
&lt;br /&gt;
&lt;br /&gt;
== Charger connection ==&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;
!A9&lt;br /&gt;
!A10&lt;br /&gt;
!A11&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;
|&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;
[[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 - housing 044441-2006, pins 0433753001&lt;br /&gt;
&lt;br /&gt;
Logic connectors Molex: housing 10 way 19418-0014, 12 way 19418-0026, pins 33012-2001&lt;br /&gt;
&lt;br /&gt;
== Programing ==&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;
&lt;br /&gt;
stm32_loader.hex  https://openinverter.org/forum/viewtopic.php?f=7&amp;amp;t=1119&lt;br /&gt;
&lt;br /&gt;
==== Two options: ====&lt;br /&gt;
# Charger_gen2_v5.hex https://github.com/damienmaguire/Tesla-Charger/tree/master/V5/Software/Binary&lt;br /&gt;
# Or commercial software: https://openinverter.org/files/stm32_charger.zip&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 to 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 V4aB3 does not need this modification. If you do NOT use the external CAN bus on that version &#039;&#039;&#039;remember to close the solder jumper&#039;&#039;&#039; next to R1 under the Wifi module.&lt;br /&gt;
&lt;br /&gt;
If the charger is the first/last device on your CAN bus there is nothing else to do. If it is somewhere in the middle you have to remove the bus termination resistor R1.&lt;br /&gt;
&lt;br /&gt;
Before doing this 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, 217, 219, 227, 229, 237, 239, 247, 249, 327, 329, 347, 349, 357, 359, 367, 368, 369, 377, 379, 537, 539, 717, 719, 20B, 21B, 22B, 23B, 24B, 32B, 34B, 35B, 36B, 37B, 42C, 43C, 44C, 45C, 53B, 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&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;
Doesn&#039;t belong here, will&lt;br /&gt;
&lt;br /&gt;
move to Byte 5 after 1.06.R!&lt;br /&gt;
|Like Byte 4&lt;br /&gt;
for versions&lt;br /&gt;
&lt;br /&gt;
after 1.06.R&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%.[[File:Parameter view of commercial firmware.png|thumb|Parameter view of commercial firmware]]&lt;br /&gt;
&lt;br /&gt;
== Commercial charger firmware ==&lt;br /&gt;
In addition to the open source firmware there is also a commercial 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;
=== &#039;&#039;&#039;Connecting to the Web interface&#039;&#039;&#039; ===&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 (Acces 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. No body wants to drive and have some joker with a phone finding this information and accesing your charger.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Registration ===&lt;br /&gt;
If you bought a fully assembled V5aB3 board from the EVBMW webshop you can skip this step.&lt;br /&gt;
[[File:Tesla Charger Serial.png|frame]]&lt;br /&gt;
The firmware will work without registration but charging time is limited to 5 minutes. To overcome this, a board-specific pin must be bought. In order to do this the firmware and web interface must be installed and working.&lt;br /&gt;
&lt;br /&gt;
Go to the [https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=67 openinverter webshop] and check out as many pins as you need. When checking out add the serial number(s) of your board(s) in the order option. You will find the serial number on the bottom of the page as last spot value.&lt;br /&gt;
&lt;br /&gt;
You will then receive an email containing one pin for each board. Enter the pin in the web interface in the &amp;quot;pin&amp;quot; parameter. When the pin is correct it will be automatically saved to flash and your board is ready to be used.&lt;br /&gt;
&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;
==== idclim ====&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;
==== iaclim ====&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;
==== idcspnt ====&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;
==== chargerena ====&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;
==== udcspnt ====&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;
==== udclim ====&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;
==== timelim ====&lt;br /&gt;
Another charge end condition. Charge only for the specified time in minutes.&lt;br /&gt;
&lt;br /&gt;
==== inputype ====&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;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;
&lt;br /&gt;
==== cancontrol ====&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;
==== idckp/idcki ====&lt;br /&gt;
Can be used to tune the control loop of the DC current PI controller.&lt;br /&gt;
&lt;br /&gt;
==== pin ====&lt;br /&gt;
Software pin, obtained by registration.&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:Tesla_gen2_xray.png&amp;diff=1987</id>
		<title>File:Tesla gen2 xray.png</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:Tesla_gen2_xray.png&amp;diff=1987"/>
		<updated>2021-11-29T13:52:43Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;X-Ray of a Tesla Gen2 charger&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Nissan_Leaf_Gen2_Board&amp;diff=1946</id>
		<title>Nissan Leaf Gen2 Board</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Nissan_Leaf_Gen2_Board&amp;diff=1946"/>
		<updated>2021-11-19T10:13:22Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* Self-Printing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:DSC03474-1000x700.jpg|thumb|open inverter replacement mother board kit. Assembled and installed in a gen 2 nissan leaf inverter]]&lt;br /&gt;
The Nissan Leaf gen 2 board is a replacement mother board for the gen 2 leaf inverters. it utilizes a adapter board to fit a rev 3 openinverter board in into the leaf inverter.&lt;br /&gt;
* Full control over the nissan power stage.&lt;br /&gt;
* power beyond the stock 80kw. (up to140kw (or more?))&lt;br /&gt;
* wifi interface + tuning&lt;br /&gt;
* OTA software updates and parameters &lt;br /&gt;
* regen and cruise control&lt;br /&gt;
&lt;br /&gt;
== The Kit ==&lt;br /&gt;
[[File:966D2AF0-312F-4A8D-8980-0B13C9BDF92A.jpg|thumb|Gen2 leaf inverter mother board replacement kit. Including revv3 open inverter brain board]]&lt;br /&gt;
The kit comprises of: &lt;br /&gt;
* openinverter rev3 board pre programmed with leaf motor tune &lt;br /&gt;
* Esp8266 wifi board &lt;br /&gt;
* adapter board &lt;br /&gt;
* various connectors  &lt;br /&gt;
&lt;br /&gt;
* a handful of some basic components    &lt;br /&gt;
&lt;br /&gt;
The kit is designed to drop in place of the original Nissan logic board.  The adapter board is designed to re-use the large proprietary connector that is mounted on the original logic board.&lt;br /&gt;
&lt;br /&gt;
Kit shop link: https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=57&lt;br /&gt;
&lt;br /&gt;
== Nissan Board Removal ==&lt;br /&gt;
[[File:Nissan inverter board.jpg|alt=Nissan board, yet to be removed. The large connector on the left must be salvaged and re-used.￼|thumb|OEM Nissan logic board, yet to be removed. The large connector on the left must be salvaged and re-used.&lt;br /&gt;
&lt;br /&gt;
3 allen head bolts can be see in bottom half of photo&lt;br /&gt;
]]The inverter casing attaches directly to the motor.&lt;br /&gt;
* remove the inverter from the motor:&lt;br /&gt;
# remove the 2 torrox screws holding the inverter/motor phase wire connection cover on.&lt;br /&gt;
# remove the 3 exposed hex head bolts. each bolt is a phase connections, keep these separate from the rest of the bolts&lt;br /&gt;
# lift the inverter off the motor, be carful not to bend or nock the coper phase connections.&lt;br /&gt;
* taking the inverter apart&lt;br /&gt;
# remove the 4 10mm hex head bolts around the connector(?)&lt;br /&gt;
# remove the connector(?) cover&lt;br /&gt;
# remove all the hex head bolts around the inverter&lt;br /&gt;
# with a mallet tap around the seam in the inverter casing to loosen the sealant&lt;br /&gt;
# pry the case open, carefully lift the 2 case half&#039;s apart.&lt;br /&gt;
* removing the mother board&lt;br /&gt;
the oem mother board is easly distinguished as it has the large proprietary connector attached. It is on it&#039;s own aluminum bracket attached to the case by 3 allen head bolts. &lt;br /&gt;
# disconnect the plugs from the four connectors at the top of the board.&lt;br /&gt;
# remove the allen bolts to free the bracket and board.&lt;br /&gt;
# remove the screws holding the board to the bracket &amp;lt;u&amp;gt;&#039;&#039;&#039;Nissan uses some very strong thread lock&#039;&#039;&#039;&amp;lt;/u&amp;gt; so be prepared for some of the screw heads to shear.*carefully heating the screw will help break down the thread lock&lt;br /&gt;
[[File:Nissan Proprietary connector.jpg|alt=Nissan Proprietary connector as seen from outside the housing.￼|thumb|Nissan Proprietary connector as seen from outside the housing.]][[File:Leaf adapter pin map.png|alt=Pin function descriptions, pins as seen from outside the housing|thumb|Proprietary connector pin function descriptions, pins as seen from outside the housing.]]&lt;br /&gt;
Once the board has been removed from the carrier,the large connector must be salvaged from it. One method is shown in the swap video, a vacuum soldering iron is also known to work.&lt;br /&gt;
&lt;br /&gt;
Swap video: https://www.youtube.com/watch?v=T_6hw6vGzfM&lt;br /&gt;
&lt;br /&gt;
== Kit Build ==&lt;br /&gt;
&lt;br /&gt;
# Solder the components to the board as per the instructions. &lt;br /&gt;
# The large proprietary connector must be salvaged from the original Nissan logic board. as it is not available on the open market. once salvaged, solder it onto the adapter board.&lt;br /&gt;
# plug in the rev 3 board and wifi adapter.&lt;br /&gt;
# clean up the wiring harness &lt;br /&gt;
# connect 12v to power up the board and test that it is working. login to the wifi interface.&lt;br /&gt;
# Use fresh screws to attach the board to the carrier and bolt it back in place using the allen head screws.&lt;br /&gt;
# connect the gate drivers to the adapter board&lt;br /&gt;
# see [[Main Board Version 3|&#039;&#039;rev3 board page&#039;&#039;]] &lt;br /&gt;
&lt;br /&gt;
== Proprietary Connector ==&lt;br /&gt;
Not all pins of the connector are available. The top group are blanked off, so the brake and BMS signals are not available.&lt;br /&gt;
&lt;br /&gt;
The resolver and CAN bus signals remain on the same pins as used by Nissan. If other signals are required then they must be added to the female connector.&lt;br /&gt;
&lt;br /&gt;
The Toyota hybrid series car inverters (Gen 3 Prius confirmed) use the same connector.&lt;br /&gt;
&lt;br /&gt;
A 3D printable plug for the 35pin ampseal connector may work in this instance.(originally designed for the Prius gen 3 inverter) &lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=836&lt;br /&gt;
&lt;br /&gt;
orginal form post with a set of variants&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=488&amp;amp;start=100#p11671&lt;br /&gt;
&lt;br /&gt;
There are multiple part numbers for the large 35 way Ampseal through hole socket, with small mating differences, be sure to get a matching pair.&lt;br /&gt;
&lt;br /&gt;
TE connectivity &#039;&#039;&#039;776164-1&#039;&#039;&#039; and &#039;&#039;&#039;776163-1&#039;&#039;&#039; are a matched pair. Look for the male connector that comes with a gasket. ( these are a right angle pin connector, the straight pin might be a better option)&lt;br /&gt;
&lt;br /&gt;
== Wiring ==&lt;br /&gt;
&lt;br /&gt;
the adapter board in the kit is set up so the original oem wiring harness works with the open inverter board. &lt;br /&gt;
&lt;br /&gt;
The following connections are populated on the OEM wire harness:&lt;br /&gt;
* resolver&lt;br /&gt;
* motor temp&lt;br /&gt;
* power &lt;br /&gt;
* main contactor&lt;br /&gt;
* can high/low&lt;br /&gt;
&lt;br /&gt;
Diagram found here: &amp;lt;nowiki&amp;gt;http://productions.8dromeda.net/c55-leaf-inverter-protocol.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre;&amp;quot;&amp;gt;&lt;br /&gt;
+-----------------------------------+  +------------+&lt;br /&gt;
| 47   46   21 20 19 18 17 16 15 14 |  |       x  x |&lt;br /&gt;
|           29 28 27 26 25  x 23 22 |  |  6 x  x  x |&lt;br /&gt;
| 49   48    x  x  x  x  x  x  x  x |  | 10 x  x  x |&lt;br /&gt;
|           45 44 43 42 41 40 39 38 |  |    x  x  x |&lt;br /&gt;
+-----------------------------------+  +------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| - 6 = OUT_BRAKE&lt;br /&gt;
|-&lt;br /&gt;
| - 10 = IN_BMS&lt;br /&gt;
|-&lt;br /&gt;
| - 14 = CANH *&lt;br /&gt;
|-&lt;br /&gt;
| - 15 = CANL *&lt;br /&gt;
|-&lt;br /&gt;
| - 16 = IN_FORWARD&lt;br /&gt;
|-&lt;br /&gt;
| - 17 = RES_S2 *&lt;br /&gt;
|-&lt;br /&gt;
| - 18 = RES_S4 *&lt;br /&gt;
|-&lt;br /&gt;
| - 19 = RES_R1 *&lt;br /&gt;
|-&lt;br /&gt;
| - 20 = RES_S1 *&lt;br /&gt;
|-&lt;br /&gt;
| - 21 = RES_S3 *&lt;br /&gt;
|-&lt;br /&gt;
| - 22 = IN_START&lt;br /&gt;
|-&lt;br /&gt;
| - 23 = IN_BRAKE&lt;br /&gt;
|-&lt;br /&gt;
| - 25 = IN_REVERSE&lt;br /&gt;
|-&lt;br /&gt;
| - 26 = 5V&lt;br /&gt;
|-&lt;br /&gt;
| - 27 = RES_R2 (GND) *&lt;br /&gt;
|-&lt;br /&gt;
| - 28 = THROTTLE2&lt;br /&gt;
|-&lt;br /&gt;
| - 29 = THROTTLE1&lt;br /&gt;
|-&lt;br /&gt;
| - 38 = IN_CRUISE&lt;br /&gt;
|-&lt;br /&gt;
| - 39 = OUT_PWM&lt;br /&gt;
|-&lt;br /&gt;
| - 40 = OUT_ERR&lt;br /&gt;
|-&lt;br /&gt;
| - 41 = OUT_OVTG&lt;br /&gt;
|-&lt;br /&gt;
| - 42 = OUT_DCSW * (! 12V input on original harness, make sure not to connect to 12V but to DC switch!)&lt;br /&gt;
|-&lt;br /&gt;
| - 43 = OUT_PRE&lt;br /&gt;
|-&lt;br /&gt;
| - 44 = MTEMP1 *&lt;br /&gt;
|-&lt;br /&gt;
| - 45 = MTEMP2 *&lt;br /&gt;
|-&lt;br /&gt;
| - 46 = 12V *&lt;br /&gt;
|-&lt;br /&gt;
| - 47 = GND *&lt;br /&gt;
|-&lt;br /&gt;
| - 48 = 12V *&lt;br /&gt;
|-&lt;br /&gt;
| - 49 = GND *&lt;br /&gt;
|-&lt;br /&gt;
|Only pins with * are populated on the OEM wire harness&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Self-Printing ==&lt;br /&gt;
The Leaf adapter board can be self-printed from gerber files (e.g. with JLCPCB), with two caveats for the SMD version:&lt;br /&gt;
&lt;br /&gt;
- when populating the board IC1 needs to be a 5V tolerant AND gate (not NAND), e.g. MC74HC1G08DTT1G&lt;br /&gt;
&lt;br /&gt;
- the rear plane is at 5V, so a little plastic disc or similar needs to be added to avoid charging the inverter casing at 5V&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Nissan_Leaf_Gen2_Board&amp;diff=1945</id>
		<title>Nissan Leaf Gen2 Board</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Nissan_Leaf_Gen2_Board&amp;diff=1945"/>
		<updated>2021-11-19T10:12:42Z</updated>

		<summary type="html">&lt;p&gt;Janosch: added self printing caveats&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:DSC03474-1000x700.jpg|thumb|open inverter replacement mother board kit. Assembled and installed in a gen 2 nissan leaf inverter]]&lt;br /&gt;
The Nissan Leaf gen 2 board is a replacement mother board for the gen 2 leaf inverters. it utilizes a adapter board to fit a rev 3 openinverter board in into the leaf inverter.&lt;br /&gt;
* Full control over the nissan power stage.&lt;br /&gt;
* power beyond the stock 80kw. (up to140kw (or more?))&lt;br /&gt;
* wifi interface + tuning&lt;br /&gt;
* OTA software updates and parameters &lt;br /&gt;
* regen and cruise control&lt;br /&gt;
&lt;br /&gt;
== The Kit ==&lt;br /&gt;
[[File:966D2AF0-312F-4A8D-8980-0B13C9BDF92A.jpg|thumb|Gen2 leaf inverter mother board replacement kit. Including revv3 open inverter brain board]]&lt;br /&gt;
The kit comprises of: &lt;br /&gt;
* openinverter rev3 board pre programmed with leaf motor tune &lt;br /&gt;
* Esp8266 wifi board &lt;br /&gt;
* adapter board &lt;br /&gt;
* various connectors  &lt;br /&gt;
&lt;br /&gt;
* a handful of some basic components    &lt;br /&gt;
&lt;br /&gt;
The kit is designed to drop in place of the original Nissan logic board.  The adapter board is designed to re-use the large proprietary connector that is mounted on the original logic board.&lt;br /&gt;
&lt;br /&gt;
Kit shop link: https://openinverter.org/shop/index.php?route=product/product&amp;amp;product_id=57&lt;br /&gt;
&lt;br /&gt;
== Nissan Board Removal ==&lt;br /&gt;
[[File:Nissan inverter board.jpg|alt=Nissan board, yet to be removed. The large connector on the left must be salvaged and re-used.￼|thumb|OEM Nissan logic board, yet to be removed. The large connector on the left must be salvaged and re-used.&lt;br /&gt;
&lt;br /&gt;
3 allen head bolts can be see in bottom half of photo&lt;br /&gt;
]]The inverter casing attaches directly to the motor.&lt;br /&gt;
* remove the inverter from the motor:&lt;br /&gt;
# remove the 2 torrox screws holding the inverter/motor phase wire connection cover on.&lt;br /&gt;
# remove the 3 exposed hex head bolts. each bolt is a phase connections, keep these separate from the rest of the bolts&lt;br /&gt;
# lift the inverter off the motor, be carful not to bend or nock the coper phase connections.&lt;br /&gt;
* taking the inverter apart&lt;br /&gt;
# remove the 4 10mm hex head bolts around the connector(?)&lt;br /&gt;
# remove the connector(?) cover&lt;br /&gt;
# remove all the hex head bolts around the inverter&lt;br /&gt;
# with a mallet tap around the seam in the inverter casing to loosen the sealant&lt;br /&gt;
# pry the case open, carefully lift the 2 case half&#039;s apart.&lt;br /&gt;
* removing the mother board&lt;br /&gt;
the oem mother board is easly distinguished as it has the large proprietary connector attached. It is on it&#039;s own aluminum bracket attached to the case by 3 allen head bolts. &lt;br /&gt;
# disconnect the plugs from the four connectors at the top of the board.&lt;br /&gt;
# remove the allen bolts to free the bracket and board.&lt;br /&gt;
# remove the screws holding the board to the bracket &amp;lt;u&amp;gt;&#039;&#039;&#039;Nissan uses some very strong thread lock&#039;&#039;&#039;&amp;lt;/u&amp;gt; so be prepared for some of the screw heads to shear.*carefully heating the screw will help break down the thread lock&lt;br /&gt;
[[File:Nissan Proprietary connector.jpg|alt=Nissan Proprietary connector as seen from outside the housing.￼|thumb|Nissan Proprietary connector as seen from outside the housing.]][[File:Leaf adapter pin map.png|alt=Pin function descriptions, pins as seen from outside the housing|thumb|Proprietary connector pin function descriptions, pins as seen from outside the housing.]]&lt;br /&gt;
Once the board has been removed from the carrier,the large connector must be salvaged from it. One method is shown in the swap video, a vacuum soldering iron is also known to work.&lt;br /&gt;
&lt;br /&gt;
Swap video: https://www.youtube.com/watch?v=T_6hw6vGzfM&lt;br /&gt;
&lt;br /&gt;
== Kit Build ==&lt;br /&gt;
&lt;br /&gt;
# Solder the components to the board as per the instructions. &lt;br /&gt;
# The large proprietary connector must be salvaged from the original Nissan logic board. as it is not available on the open market. once salvaged, solder it onto the adapter board.&lt;br /&gt;
# plug in the rev 3 board and wifi adapter.&lt;br /&gt;
# clean up the wiring harness &lt;br /&gt;
# connect 12v to power up the board and test that it is working. login to the wifi interface.&lt;br /&gt;
# Use fresh screws to attach the board to the carrier and bolt it back in place using the allen head screws.&lt;br /&gt;
# connect the gate drivers to the adapter board&lt;br /&gt;
# see [[Main Board Version 3|&#039;&#039;rev3 board page&#039;&#039;]] &lt;br /&gt;
&lt;br /&gt;
== Proprietary Connector ==&lt;br /&gt;
Not all pins of the connector are available. The top group are blanked off, so the brake and BMS signals are not available.&lt;br /&gt;
&lt;br /&gt;
The resolver and CAN bus signals remain on the same pins as used by Nissan. If other signals are required then they must be added to the female connector.&lt;br /&gt;
&lt;br /&gt;
The Toyota hybrid series car inverters (Gen 3 Prius confirmed) use the same connector.&lt;br /&gt;
&lt;br /&gt;
A 3D printable plug for the 35pin ampseal connector may work in this instance.(originally designed for the Prius gen 3 inverter) &lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=836&lt;br /&gt;
&lt;br /&gt;
orginal form post with a set of variants&lt;br /&gt;
&lt;br /&gt;
https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=488&amp;amp;start=100#p11671&lt;br /&gt;
&lt;br /&gt;
There are multiple part numbers for the large 35 way Ampseal through hole socket, with small mating differences, be sure to get a matching pair.&lt;br /&gt;
&lt;br /&gt;
TE connectivity &#039;&#039;&#039;776164-1&#039;&#039;&#039; and &#039;&#039;&#039;776163-1&#039;&#039;&#039; are a matched pair. Look for the male connector that comes with a gasket. ( these are a right angle pin connector, the straight pin might be a better option)&lt;br /&gt;
&lt;br /&gt;
== Wiring ==&lt;br /&gt;
&lt;br /&gt;
the adapter board in the kit is set up so the original oem wiring harness works with the open inverter board. &lt;br /&gt;
&lt;br /&gt;
The following connections are populated on the OEM wire harness:&lt;br /&gt;
* resolver&lt;br /&gt;
* motor temp&lt;br /&gt;
* power &lt;br /&gt;
* main contactor&lt;br /&gt;
* can high/low&lt;br /&gt;
&lt;br /&gt;
Diagram found here: &amp;lt;nowiki&amp;gt;http://productions.8dromeda.net/c55-leaf-inverter-protocol.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre;&amp;quot;&amp;gt;&lt;br /&gt;
+-----------------------------------+  +------------+&lt;br /&gt;
| 47   46   21 20 19 18 17 16 15 14 |  |       x  x |&lt;br /&gt;
|           29 28 27 26 25  x 23 22 |  |  6 x  x  x |&lt;br /&gt;
| 49   48    x  x  x  x  x  x  x  x |  | 10 x  x  x |&lt;br /&gt;
|           45 44 43 42 41 40 39 38 |  |    x  x  x |&lt;br /&gt;
+-----------------------------------+  +------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| - 6 = OUT_BRAKE&lt;br /&gt;
|-&lt;br /&gt;
| - 10 = IN_BMS&lt;br /&gt;
|-&lt;br /&gt;
| - 14 = CANH *&lt;br /&gt;
|-&lt;br /&gt;
| - 15 = CANL *&lt;br /&gt;
|-&lt;br /&gt;
| - 16 = IN_FORWARD&lt;br /&gt;
|-&lt;br /&gt;
| - 17 = RES_S2 *&lt;br /&gt;
|-&lt;br /&gt;
| - 18 = RES_S4 *&lt;br /&gt;
|-&lt;br /&gt;
| - 19 = RES_R1 *&lt;br /&gt;
|-&lt;br /&gt;
| - 20 = RES_S1 *&lt;br /&gt;
|-&lt;br /&gt;
| - 21 = RES_S3 *&lt;br /&gt;
|-&lt;br /&gt;
| - 22 = IN_START&lt;br /&gt;
|-&lt;br /&gt;
| - 23 = IN_BRAKE&lt;br /&gt;
|-&lt;br /&gt;
| - 25 = IN_REVERSE&lt;br /&gt;
|-&lt;br /&gt;
| - 26 = 5V&lt;br /&gt;
|-&lt;br /&gt;
| - 27 = RES_R2 (GND) *&lt;br /&gt;
|-&lt;br /&gt;
| - 28 = THROTTLE2&lt;br /&gt;
|-&lt;br /&gt;
| - 29 = THROTTLE1&lt;br /&gt;
|-&lt;br /&gt;
| - 38 = IN_CRUISE&lt;br /&gt;
|-&lt;br /&gt;
| - 39 = OUT_PWM&lt;br /&gt;
|-&lt;br /&gt;
| - 40 = OUT_ERR&lt;br /&gt;
|-&lt;br /&gt;
| - 41 = OUT_OVTG&lt;br /&gt;
|-&lt;br /&gt;
| - 42 = OUT_DCSW * (! 12V input on original harness, make sure not to connect to 12V but to DC switch!)&lt;br /&gt;
|-&lt;br /&gt;
| - 43 = OUT_PRE&lt;br /&gt;
|-&lt;br /&gt;
| - 44 = MTEMP1 *&lt;br /&gt;
|-&lt;br /&gt;
| - 45 = MTEMP2 *&lt;br /&gt;
|-&lt;br /&gt;
| - 46 = 12V *&lt;br /&gt;
|-&lt;br /&gt;
| - 47 = GND *&lt;br /&gt;
|-&lt;br /&gt;
| - 48 = 12V *&lt;br /&gt;
|-&lt;br /&gt;
| - 49 = GND *&lt;br /&gt;
|-&lt;br /&gt;
|Only pins with * are populated on the OEM wire harness&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Self-Printing ==&lt;br /&gt;
The Leaf adapter board can be self-printed from gerber files (e.g. with JLCPCB), with two caveats for the SMD version:&lt;br /&gt;
&lt;br /&gt;
- when populating the board IC1 needs to be a 5V tolerant AND gate, e.g. MC74HC1G08DTT1G&lt;br /&gt;
&lt;br /&gt;
- the rear plane is at 5V, so a little plastic disc or similar needs to be added to avoid charging the inverter casing at 5V&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=1716</id>
		<title>Nissan Leaf BMS</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=1716"/>
		<updated>2021-09-15T21:09:00Z</updated>

		<summary type="html">&lt;p&gt;Janosch: /* 40kWh BMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we collect information about Nissans BMS.&lt;br /&gt;
&lt;br /&gt;
=== Connectors ===&lt;br /&gt;
Credit goes to Wolftronix for figuring this out.&lt;br /&gt;
&lt;br /&gt;
You will also find it on the [https://www.diyelectriccar.com/forums/showpost.php?p=871121&amp;amp;postcount=207 diyelectriccar] forum, you will need to sign up for downloading&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P4 24 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P3 32 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P6 16 Pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P5 40 Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|1&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|1&lt;br /&gt;
|61&lt;br /&gt;
|60&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|3&lt;br /&gt;
|2&lt;br /&gt;
|14&lt;br /&gt;
|2&lt;br /&gt;
|23&lt;br /&gt;
|22&lt;br /&gt;
|18&lt;br /&gt;
|2&lt;br /&gt;
|49&lt;br /&gt;
|48&lt;br /&gt;
|10&lt;br /&gt;
|2&lt;br /&gt;
|63&lt;br /&gt;
|62&lt;br /&gt;
|22&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|5&lt;br /&gt;
|4&lt;br /&gt;
|15&lt;br /&gt;
|3&lt;br /&gt;
|25&lt;br /&gt;
|24&lt;br /&gt;
|19&lt;br /&gt;
|3&lt;br /&gt;
|51&lt;br /&gt;
|50&lt;br /&gt;
|11&lt;br /&gt;
|3&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|7&lt;br /&gt;
|6&lt;br /&gt;
|16&lt;br /&gt;
|4&lt;br /&gt;
|27&lt;br /&gt;
|26&lt;br /&gt;
|20&lt;br /&gt;
|4&lt;br /&gt;
|53&lt;br /&gt;
|52&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|9&lt;br /&gt;
|8&lt;br /&gt;
|17&lt;br /&gt;
|5&lt;br /&gt;
|29&lt;br /&gt;
|28&lt;br /&gt;
|21&lt;br /&gt;
|5&lt;br /&gt;
|55&lt;br /&gt;
|54&lt;br /&gt;
|13&lt;br /&gt;
|5&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|11&lt;br /&gt;
|10&lt;br /&gt;
|18&lt;br /&gt;
|6&lt;br /&gt;
|31&lt;br /&gt;
|30&lt;br /&gt;
|22&lt;br /&gt;
|6&lt;br /&gt;
|57&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|6&lt;br /&gt;
|71&lt;br /&gt;
|68&lt;br /&gt;
|26&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|13&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|7&lt;br /&gt;
|33&lt;br /&gt;
|32&lt;br /&gt;
|23&lt;br /&gt;
|7&lt;br /&gt;
|59&lt;br /&gt;
|56&lt;br /&gt;
|15&lt;br /&gt;
|7&lt;br /&gt;
|73&lt;br /&gt;
|70&lt;br /&gt;
|27&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|15&lt;br /&gt;
|14&lt;br /&gt;
|20&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|24&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|58&lt;br /&gt;
|16&lt;br /&gt;
|8&lt;br /&gt;
|75&lt;br /&gt;
|72&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|21&lt;br /&gt;
|9&lt;br /&gt;
|35&lt;br /&gt;
|36&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|77&lt;br /&gt;
|74&lt;br /&gt;
|29&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|22&lt;br /&gt;
|10&lt;br /&gt;
|37&lt;br /&gt;
|38&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|10&lt;br /&gt;
|79&lt;br /&gt;
|76&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|17&lt;br /&gt;
|18&lt;br /&gt;
|23&lt;br /&gt;
|11&lt;br /&gt;
|39&lt;br /&gt;
|40&lt;br /&gt;
|27&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|78&lt;br /&gt;
|31&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|20&lt;br /&gt;
|24&lt;br /&gt;
|12&lt;br /&gt;
|41&lt;br /&gt;
|42&lt;br /&gt;
|28&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|12&lt;br /&gt;
|81&lt;br /&gt;
|80&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|43&lt;br /&gt;
|44&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|83&lt;br /&gt;
|82&lt;br /&gt;
|33&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|45&lt;br /&gt;
|46&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|85&lt;br /&gt;
|84&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|47&lt;br /&gt;
|48&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|87&lt;br /&gt;
|86&lt;br /&gt;
|35&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|89&lt;br /&gt;
|88&lt;br /&gt;
|36&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|91&lt;br /&gt;
|90&lt;br /&gt;
|37&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|18&lt;br /&gt;
|93&lt;br /&gt;
|92&lt;br /&gt;
|38&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|19&lt;br /&gt;
|95&lt;br /&gt;
|94&lt;br /&gt;
|39&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|20&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Connector part numbers ====&lt;br /&gt;
In case you need to adapt or extend the sense wires, you will need the male and female connectors and the respective pins. Here are the part numbers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Part&lt;br /&gt;
|Number&lt;br /&gt;
|Notes&lt;br /&gt;
|-&lt;br /&gt;
|16-pole male&lt;br /&gt;
|1473796-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16-pole female&lt;br /&gt;
|1318386-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole male&lt;br /&gt;
|1376103-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole female&lt;br /&gt;
|1318917-1&lt;br /&gt;
|-&lt;br /&gt;
|32-pole male&lt;br /&gt;
|1473799-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32-pole female&lt;br /&gt;
|1318747-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|40-pole male&lt;br /&gt;
|1376113-2&lt;br /&gt;
|Solder part, crimp not available&lt;br /&gt;
|-&lt;br /&gt;
|40-pole female&lt;br /&gt;
|1318389-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin male&lt;br /&gt;
|1376109-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin female&lt;br /&gt;
|1123343-1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CAN Messages ===&lt;br /&gt;
Upon powerup the unit spits out messages that contain various useful info. After a while these messages stop and you have to send 50B#00 00 00 C0 00 00 00 to get it going again.&lt;br /&gt;
&lt;br /&gt;
All messages are big endian, i.e. hi-byte, lo-byte!&lt;br /&gt;
&lt;br /&gt;
To get the individual cell voltages, first issue 79B#02 21 02 FF FF FF FF FF.  You will receive the first reply looking like this: 7BB#10 C6 61 02 0E C9 0E C0. &lt;br /&gt;
&lt;br /&gt;
Now send 27 times 79B#30 01 00 FF FF FF FF FF and you get 7BB#21 0E C0 0E C2 0E C0 0E. It is one index byte and 7 data bytes. So after 28 messages you will have collected 98 words (16-bit) of data. Every other message it stretches over to the next message. The first the last two words are unknown so we discard them. That leaves us with 96 Words that represent the cell voltages in mV in big endian format.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/spreadsheets/d/1EHa4R85BttuY4JZ-EnssH4YZddpsDVu6rUFm0P7ouwg/edit#gid=7&lt;br /&gt;
&lt;br /&gt;
=== Different Versions ===&lt;br /&gt;
[[File:NissanLeafV2BMS.jpg|thumb|Version 2 BMS with grey LV and black HV connector]]&lt;br /&gt;
Their seem to be at least two different versions of the LBC out there, as discovered here: https://openinverter.org/forum/viewtopic.php?f=13&amp;amp;t=370&amp;amp;start=10&lt;br /&gt;
&lt;br /&gt;
The earlier version has only white input headers while the later version has ONE black HV header and a grey low voltage header. We call the first version the &amp;quot;white&amp;quot; BMS and the later version the &amp;quot;grey&amp;quot; BMS.&lt;br /&gt;
&lt;br /&gt;
Treated as a black box the main differences are:&lt;br /&gt;
* Interlock is between Pin 8 and Pin 21 on white BMS as opposed to Pin 8 and Pin 6 on grey BMS&lt;br /&gt;
* Ignition input is on pin 6 on white as opposed to pin 7 on grey&lt;br /&gt;
* White BMS expects 4 temperature sensors, grey BMS only 3&lt;br /&gt;
* Supposedly the current sensors GND is on Pin 7 but I found Pin 7 internally unconnected and left GND on Pin 15&lt;br /&gt;
So if you have a &amp;quot;grey&amp;quot; wiring loom but a white LBC you need to move Pin 6 over to Pin 21 and Pin 7 to Pin 6.&lt;br /&gt;
&lt;br /&gt;
To mitigate the missing temperature sensor you need to bridge the two input internally behind the input stage. Therefor remove R59. Then Find R62 and bridge it over to the adjacent channel 4. If you want you can use the resistor you just removed.&lt;br /&gt;
&lt;br /&gt;
=== CAN connector pins ===&lt;br /&gt;
Pins for CAN-H and CAN-L and others as identified by wolftronix in the diagram below. Pins are for LB11 and LB12 connectors in Nissan terminology.&lt;br /&gt;
[[File:Nissan Leaf BMS Connector Pins LB11 LB12.png|thumb|LB11 LB12 mappings]]&lt;br /&gt;
&lt;br /&gt;
=== 40kWh BMS ===&lt;br /&gt;
The pinout for +12V, CAN-H, CAN-L, Ignition and HV is identical o previous versions.&lt;br /&gt;
&lt;br /&gt;
It uses a daisy chain of MAX17823B for sensing cell voltages.&lt;br /&gt;
[[File:40kwh Nissan Leaf BMS.jpg|thumb]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=1715</id>
		<title>Nissan Leaf BMS</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Nissan_Leaf_BMS&amp;diff=1715"/>
		<updated>2021-09-15T17:45:21Z</updated>

		<summary type="html">&lt;p&gt;Janosch: Added 40kWh section &amp;amp; Photograph&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we collect information about Nissans BMS.&lt;br /&gt;
&lt;br /&gt;
=== Connectors ===&lt;br /&gt;
Credit goes to Wolftronix for figuring this out.&lt;br /&gt;
&lt;br /&gt;
You will also find it on the [https://www.diyelectriccar.com/forums/showpost.php?p=871121&amp;amp;postcount=207 diyelectriccar] forum, you will need to sign up for downloading&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P4 24 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P3 32 pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P6 16 Pin&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&#039;&#039;&#039;P5 40 Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Cell&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|1&lt;br /&gt;
|21&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|1&lt;br /&gt;
|61&lt;br /&gt;
|60&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|3&lt;br /&gt;
|2&lt;br /&gt;
|14&lt;br /&gt;
|2&lt;br /&gt;
|23&lt;br /&gt;
|22&lt;br /&gt;
|18&lt;br /&gt;
|2&lt;br /&gt;
|49&lt;br /&gt;
|48&lt;br /&gt;
|10&lt;br /&gt;
|2&lt;br /&gt;
|63&lt;br /&gt;
|62&lt;br /&gt;
|22&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|5&lt;br /&gt;
|4&lt;br /&gt;
|15&lt;br /&gt;
|3&lt;br /&gt;
|25&lt;br /&gt;
|24&lt;br /&gt;
|19&lt;br /&gt;
|3&lt;br /&gt;
|51&lt;br /&gt;
|50&lt;br /&gt;
|11&lt;br /&gt;
|3&lt;br /&gt;
|65&lt;br /&gt;
|&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|7&lt;br /&gt;
|6&lt;br /&gt;
|16&lt;br /&gt;
|4&lt;br /&gt;
|27&lt;br /&gt;
|26&lt;br /&gt;
|20&lt;br /&gt;
|4&lt;br /&gt;
|53&lt;br /&gt;
|52&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|9&lt;br /&gt;
|8&lt;br /&gt;
|17&lt;br /&gt;
|5&lt;br /&gt;
|29&lt;br /&gt;
|28&lt;br /&gt;
|21&lt;br /&gt;
|5&lt;br /&gt;
|55&lt;br /&gt;
|54&lt;br /&gt;
|13&lt;br /&gt;
|5&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|11&lt;br /&gt;
|10&lt;br /&gt;
|18&lt;br /&gt;
|6&lt;br /&gt;
|31&lt;br /&gt;
|30&lt;br /&gt;
|22&lt;br /&gt;
|6&lt;br /&gt;
|57&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|6&lt;br /&gt;
|71&lt;br /&gt;
|68&lt;br /&gt;
|26&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|13&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|7&lt;br /&gt;
|33&lt;br /&gt;
|32&lt;br /&gt;
|23&lt;br /&gt;
|7&lt;br /&gt;
|59&lt;br /&gt;
|56&lt;br /&gt;
|15&lt;br /&gt;
|7&lt;br /&gt;
|73&lt;br /&gt;
|70&lt;br /&gt;
|27&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|15&lt;br /&gt;
|14&lt;br /&gt;
|20&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|34&lt;br /&gt;
|24&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|58&lt;br /&gt;
|16&lt;br /&gt;
|8&lt;br /&gt;
|75&lt;br /&gt;
|72&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|21&lt;br /&gt;
|9&lt;br /&gt;
|35&lt;br /&gt;
|36&lt;br /&gt;
|25&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|9&lt;br /&gt;
|77&lt;br /&gt;
|74&lt;br /&gt;
|29&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|22&lt;br /&gt;
|10&lt;br /&gt;
|37&lt;br /&gt;
|38&lt;br /&gt;
|26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|10&lt;br /&gt;
|79&lt;br /&gt;
|76&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|17&lt;br /&gt;
|18&lt;br /&gt;
|23&lt;br /&gt;
|11&lt;br /&gt;
|39&lt;br /&gt;
|40&lt;br /&gt;
|27&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|11&lt;br /&gt;
|&lt;br /&gt;
|78&lt;br /&gt;
|31&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|19&lt;br /&gt;
|20&lt;br /&gt;
|24&lt;br /&gt;
|12&lt;br /&gt;
|41&lt;br /&gt;
|42&lt;br /&gt;
|28&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|12&lt;br /&gt;
|81&lt;br /&gt;
|80&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|43&lt;br /&gt;
|44&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|13&lt;br /&gt;
|83&lt;br /&gt;
|82&lt;br /&gt;
|33&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|45&lt;br /&gt;
|46&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|14&lt;br /&gt;
|85&lt;br /&gt;
|84&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|47&lt;br /&gt;
|48&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|15&lt;br /&gt;
|87&lt;br /&gt;
|86&lt;br /&gt;
|35&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|16&lt;br /&gt;
|89&lt;br /&gt;
|88&lt;br /&gt;
|36&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|17&lt;br /&gt;
|91&lt;br /&gt;
|90&lt;br /&gt;
|37&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|18&lt;br /&gt;
|93&lt;br /&gt;
|92&lt;br /&gt;
|38&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|19&lt;br /&gt;
|95&lt;br /&gt;
|94&lt;br /&gt;
|39&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;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|20&lt;br /&gt;
|97&lt;br /&gt;
|&lt;br /&gt;
|40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Connector part numbers ====&lt;br /&gt;
In case you need to adapt or extend the sense wires, you will need the male and female connectors and the respective pins. Here are the part numbers:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Part&lt;br /&gt;
|Number&lt;br /&gt;
|Notes&lt;br /&gt;
|-&lt;br /&gt;
|16-pole male&lt;br /&gt;
|1473796-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16-pole female&lt;br /&gt;
|1318386-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole male&lt;br /&gt;
|1376103-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24-pole female&lt;br /&gt;
|1318917-1&lt;br /&gt;
|-&lt;br /&gt;
|32-pole male&lt;br /&gt;
|1473799-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32-pole female&lt;br /&gt;
|1318747-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|40-pole male&lt;br /&gt;
|1376113-2&lt;br /&gt;
|Solder part, crimp not available&lt;br /&gt;
|-&lt;br /&gt;
|40-pole female&lt;br /&gt;
|1318389-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin male&lt;br /&gt;
|1376109-1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pin female&lt;br /&gt;
|1123343-1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CAN Messages ===&lt;br /&gt;
Upon powerup the unit spits out messages that contain various useful info. After a while these messages stop and you have to send 50B#00 00 00 C0 00 00 00 to get it going again.&lt;br /&gt;
&lt;br /&gt;
All messages are big endian, i.e. hi-byte, lo-byte!&lt;br /&gt;
&lt;br /&gt;
To get the individual cell voltages, first issue 79B#02 21 02 FF FF FF FF FF.  You will receive the first reply looking like this: 7BB#10 C6 61 02 0E C9 0E C0. &lt;br /&gt;
&lt;br /&gt;
Now send 27 times 79B#30 01 00 FF FF FF FF FF and you get 7BB#21 0E C0 0E C2 0E C0 0E. It is one index byte and 7 data bytes. So after 28 messages you will have collected 98 words (16-bit) of data. Every other message it stretches over to the next message. The first the last two words are unknown so we discard them. That leaves us with 96 Words that represent the cell voltages in mV in big endian format.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/spreadsheets/d/1EHa4R85BttuY4JZ-EnssH4YZddpsDVu6rUFm0P7ouwg/edit#gid=7&lt;br /&gt;
&lt;br /&gt;
=== Different Versions ===&lt;br /&gt;
[[File:NissanLeafV2BMS.jpg|thumb|Version 2 BMS with grey LV and black HV connector]]&lt;br /&gt;
Their seem to be at least two different versions of the LBC out there, as discovered here: https://openinverter.org/forum/viewtopic.php?f=13&amp;amp;t=370&amp;amp;start=10&lt;br /&gt;
&lt;br /&gt;
The earlier version has only white input headers while the later version has ONE black HV header and a grey low voltage header. We call the first version the &amp;quot;white&amp;quot; BMS and the later version the &amp;quot;grey&amp;quot; BMS.&lt;br /&gt;
&lt;br /&gt;
Treated as a black box the main differences are:&lt;br /&gt;
* Interlock is between Pin 8 and Pin 21 on white BMS as opposed to Pin 8 and Pin 6 on grey BMS&lt;br /&gt;
* Ignition input is on pin 6 on white as opposed to pin 7 on grey&lt;br /&gt;
* White BMS expects 4 temperature sensors, grey BMS only 3&lt;br /&gt;
* Supposedly the current sensors GND is on Pin 7 but I found Pin 7 internally unconnected and left GND on Pin 15&lt;br /&gt;
So if you have a &amp;quot;grey&amp;quot; wiring loom but a white LBC you need to move Pin 6 over to Pin 21 and Pin 7 to Pin 6.&lt;br /&gt;
&lt;br /&gt;
To mitigate the missing temperature sensor you need to bridge the two input internally behind the input stage. Therefor remove R59. Then Find R62 and bridge it over to the adjacent channel 4. If you want you can use the resistor you just removed.&lt;br /&gt;
&lt;br /&gt;
=== CAN connector pins ===&lt;br /&gt;
Pins for CAN-H and CAN-L and others as identified by wolftronix in the diagram below. Pins are for LB11 and LB12 connectors in Nissan terminology.&lt;br /&gt;
[[File:Nissan Leaf BMS Connector Pins LB11 LB12.png|thumb|LB11 LB12 mappings]]&lt;br /&gt;
&lt;br /&gt;
=== 40kWh BMS ===&lt;br /&gt;
The pinout for +12V, CAN-H, CAN-L, Ignition and HV is identical.&lt;br /&gt;
&lt;br /&gt;
Internally it appears to use a daisy chain of MAX17823B for sensing cell voltages.&lt;br /&gt;
[[File:40kwh Nissan Leaf BMS.jpg|thumb]]&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=File:40kwh_Nissan_Leaf_BMS.jpg&amp;diff=1714</id>
		<title>File:40kwh Nissan Leaf BMS.jpg</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=File:40kwh_Nissan_Leaf_BMS.jpg&amp;diff=1714"/>
		<updated>2021-09-15T17:44:55Z</updated>

		<summary type="html">&lt;p&gt;Janosch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;40kwh Nissan Leaf BMS with MAX17823B sensing ICs&lt;/div&gt;</summary>
		<author><name>Janosch</name></author>
	</entry>
</feed>