<?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=PrecisionAnalytic</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=PrecisionAnalytic"/>
	<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/Special:Contributions/PrecisionAnalytic"/>
	<updated>2026-04-29T10:23:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Toyota_Prius_Gen3_Board&amp;diff=3495</id>
		<title>Toyota Prius Gen3 Board</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Toyota_Prius_Gen3_Board&amp;diff=3495"/>
		<updated>2023-03-11T11:59:58Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: Added video link to How the Prius Hybrid Drivetrain Works&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Prius Gen3 Inverter Control v2.jpg|thumb|Prius Gen3 Control Board v2]]&lt;br /&gt;
&lt;br /&gt;
The Toyota Prius Gen3 Board is an open source project to repurpose 2010-2015 Toyota Prius inverters for DIY EV use. &lt;br /&gt;
&lt;br /&gt;
It consists of a open inverter circuit board and programming which replaces the OEM logic board in the prius inverter.&lt;br /&gt;
&lt;br /&gt;
This allows independent control of mg1 power stage, mg2 power stage, buck/boost converter and the dc/dc converter. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;Note that there is also a [[Toyota Prius Gen2 Inverter]] for the 2004-2009 model years.&lt;br /&gt;
&lt;br /&gt;
== Prius Inverter ==&lt;br /&gt;
The Toyota Prius is a hybrid vehicle. Their inverters are suitable and attractive for DIY EVs because of:&lt;br /&gt;
* Large part availability. Priuses (a.k.a. Prii) have been made in large numbers for 20 years.&lt;br /&gt;
* High affordability. Prius inverters are available for around $150 from scrapyards&lt;br /&gt;
* Durability. Toyota engineers appear to have made the inverters foolproof, many inputs and outputs gracefully handle fault conditions.&lt;br /&gt;
* Respectable performance. Rated for 50kW output, but tested to handle 600v, and 500+A on MG2. (MG1 unknown, Gen2 had 70% of MG2 on MG1).&lt;br /&gt;
* Ease of repurposing. Emulating the original ECU seems reasonably feasible.&lt;br /&gt;
&lt;br /&gt;
The Gen3 Prius (2010-2015 model years) has a variety of useful components inside the inverter package:&lt;br /&gt;
* 2 high power inverters, for the 2 motors MG1 (starter) capable of handling 250 amps, and MG2 (drive motor) capable of handling 350 amps.&lt;br /&gt;
* A DC-DC converter to provide 12v power supply to the automotive systems and accessories.&lt;br /&gt;
* A boost module to boost the 200v battery pack up to 500v, which looks to be able to function as a battery charger (wish list for future development)&lt;br /&gt;
* See this video for a explanation of the How the Prius Gen3 Hybrid Drivetrain Works:  https://www.youtube.com/watch?v=PIYNAroYEk0&lt;br /&gt;
* See this video for a thorough disassembly and explanation of the Gen2 Inverter and Converter HV System Design: https://www.youtube.com/watch?v=Y7Vm-C4MsW8&lt;br /&gt;
* See these videos for a teardown, disassembly and explanation of the Gen3 Inverter: https://www.youtube.com/watch?v=Pw3JqkI6VO4 (Teardown)  https://youtu.be/QBoRSXIwZQs (Regarding p0a94 error code for DC-DC Converter Performance)&lt;br /&gt;
&lt;br /&gt;
== Control Board ==&lt;br /&gt;
&lt;br /&gt;
The current version as of Jan 20, 2020 is v2.&lt;br /&gt;
&lt;br /&gt;
As designed by Damien Maguire, the open source hardware for the control board can be purchased from his website: &lt;br /&gt;
&lt;br /&gt;
[https://www.evbmw.com/index.php/evbmw-webshop/toyota-built-and-tested-boards Toyota Boards]&lt;br /&gt;
&lt;br /&gt;
The control board is a physical replacement for the OEM Prius Gen3 inverter logic board inside the inverter. Remove the old one and replace it with the new one.&lt;br /&gt;
&lt;br /&gt;
== Development History ==&lt;br /&gt;
&lt;br /&gt;
V1 - This board was sold tested but also as a bare logic board requiring purchase of your own components and SMD placement and soldering skills. &lt;br /&gt;
&lt;br /&gt;
V2 - A new board source was found to be both high quality and low cost. The boards were redesigned around the inventory of parts available from this supplier. In particular the high cost of populated and soldered boards (10x the price) from the source used to make the v1 boards is so significantly lower on the v2 that there are likely no savings by building and soldering the board yourself. The circuit now has hardware to support repurposing the MG1 inverter as a battery charger, though as of Jan 20, 2020, software is still in development.&lt;br /&gt;
&lt;br /&gt;
v1c - this board uses mg2 power stage for motor control, and mg1 +buck/boost converter as a battery charger, or parallel connection of MG1 and MG2 to give more amps to a single motor.&lt;br /&gt;
&lt;br /&gt;
v1d - this board allows to use mg1 and mg2 power stages for dual motor control &lt;br /&gt;
&lt;br /&gt;
== Vendors ==&lt;br /&gt;
&lt;br /&gt;
 [https://www.evbmw.com/index.php/evbmw-webshop EVBMW Webshop]&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
&lt;br /&gt;
Community support is available on the [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=488 Prius Gen 3 Inverter Logic Board Support Thread]&lt;br /&gt;
&lt;br /&gt;
You are not entitled to support, purchase from a vendor who offers support if you want it guaranteed. Treat the community with respect.&lt;br /&gt;
&lt;br /&gt;
== Inverter Model Numbers ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Inverter No || Car model(s) || Logic Board No || Power Board No || Compatible 50 pin connector || PCB size || Confirmed works with board || Link&lt;br /&gt;
|-&lt;br /&gt;
| G9200-33171 || Camry (RHD, unknown year) || || || || || || &lt;br /&gt;
|-&lt;br /&gt;
| G9200-47141 || Auris 2012, RHD&amp;lt;br/&amp;gt;Prius (RHD, unknown year, Gen3) || || || || || || &lt;br /&gt;
|-&lt;br /&gt;
|G9200-47140&lt;br /&gt;
|Prius 2010&lt;br /&gt;
|F1759-47041 01&lt;br /&gt;
|&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47162&lt;br /&gt;
|Prius + &lt;br /&gt;
|F1759-47041 01&lt;br /&gt;
|F1789-47090&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| G9200-47180  || || || || || || || [https://www.diyelectriccar.com/forums/showpost.php?p=1026169&amp;amp;postcount=8 Photo diyelectriccar.com]&lt;br /&gt;
|-&lt;br /&gt;
| G9200-47190 || Auris 2017 || F1759-47070 05 || F1789-52010&lt;br /&gt;
|| ? || || || [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=51&amp;amp;start=270#p5661 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47210&lt;br /&gt;
|Prius 2012&lt;br /&gt;
|F1759-47070 05&lt;br /&gt;
|&lt;br /&gt;
|YES&lt;br /&gt;
|154x143mm&lt;br /&gt;
|Yes&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?p=16539#p16539&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47220&lt;br /&gt;
|Prius 2014&lt;br /&gt;
|F1759-47070 05&lt;br /&gt;
|&lt;br /&gt;
|YES&lt;br /&gt;
|154x143mm&lt;br /&gt;
|Yes&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?p=21384#p21384&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47230&lt;br /&gt;
|Prius 2015&lt;br /&gt;
|&lt;br /&gt;
|F1789-52010&lt;br /&gt;
|Yes&lt;br /&gt;
|154x143mm&lt;br /&gt;
|&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?p=29248#p29248&lt;br /&gt;
|-&lt;br /&gt;
|G9200-52010||Yaris&lt;br /&gt;
Prius C&lt;br /&gt;
||F1759-52010 04||F1789-52010|| ||154x143mm||&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=257&amp;amp;p=5828#p5828&lt;br /&gt;
|-&lt;br /&gt;
|G9200-52031&lt;br /&gt;
|Yaris 2016&lt;br /&gt;
|F1759-52010 04&lt;br /&gt;
|F1789-52010&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| G9200-52032 || Yaris 2015 || F1759-52010 04 || F1789-52010 || YES || Long 143mm || || [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=439#p5058 Forum Thread openinverter.com] [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=51&amp;amp;start=270#p5669 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
| G9201-52011 || Yaris || || || YES|||||| [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=439#p5681 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
| G9201-52012 || Prius C || F1759-52010 || F1789-52010 || YES (presumably) |||||| [https://openinverter.org/forum/viewtopic.php?p=6979#p6979 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
|G9200-52030&lt;br /&gt;
|Prius C (a.k.a. Prius Aqua)&lt;br /&gt;
|F1759-52010 04&lt;br /&gt;
|F1789-52010&lt;br /&gt;
|&lt;br /&gt;
|154mm long&lt;br /&gt;
|&lt;br /&gt;
|[https://openinverter.org/forum/viewtopic.php?f=11&amp;amp;t=999&amp;amp;p=16434#p16434 Forum Thread openinverter.com]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kit Assembly Instructions (V1C) ==&lt;br /&gt;
[[File:Prius3-ldo2.jpg|thumb|Extra voltage regulator on Prius Gen3 board]]&lt;br /&gt;
This guide is for the assembly of version V1C of the Gen 3 board available here: https://www.evbmw.com/index.php/evbmw-webshop/toyota-built-and-tested-boards/prius-gen-3-inverter-built-tested&lt;br /&gt;
&lt;br /&gt;
This is based on the assembly videos by Damien Maguire. &lt;br /&gt;
&lt;br /&gt;
Part 1: https://www.youtube.com/watch?v=QE-zym8iIgM&amp;amp;t=2643s &lt;br /&gt;
&lt;br /&gt;
Part 2: https://www.youtube.com/watch?v=Nu5_OBOPk4s&amp;amp;t=1787s&lt;br /&gt;
&lt;br /&gt;
=== LDO strengthening ===&lt;br /&gt;
The stock 3V3 LDO (3.3V linear voltage regulator) does not provide sufficient current for both the STM32(s) and wifi module(s). Therefor the wifi module needs a distinct regulator.&lt;br /&gt;
&lt;br /&gt;
TODO: does this also affect the latest revision boards?&lt;br /&gt;
&lt;br /&gt;
=== Early Board Correction, pre July 2020 ===&lt;br /&gt;
The first batch of JLCPCB boards shipped have an incorrect resistor value that needs to be changed over. Boards &#039;&#039;shipped after Jun 26, 2020&#039;&#039; will not need to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:Power supply.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Resistor labeled R101 (labeled &#039;1002&#039;) needs swapping for a 8k2 (0805 package) resistor. &lt;br /&gt;
[[File:20200629 155303.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Motor Temperature Sensor correction. ===&lt;br /&gt;
Boards currently have an error with the temperature sensor circuit. R14 is supposed to be in parallel with C11 to form the voltage divider. One workaround would be to put a 1k resistor from one of the pads to ground. this can be done externally if you&#039;d rather not modify the board, put a 1k ohm resistor from MG2_STATOR_T2 to a ground pin. Then connector the temperature sensor from MG2_STATOR_T1 to MG2_STATOR_T2 as normal. &lt;br /&gt;
 &lt;br /&gt;
This is a current issue on the boards. A new revision is not yet available. &lt;br /&gt;
[[File:Screenshot 2021-08-13 at 8.50.56 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Wifi Module Correction ===&lt;br /&gt;
The capacitor may need increasing to 10uF deal with noise. The table below shows which boards need updating and which capacitor(s) to update.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Board Version&lt;br /&gt;
!Cap(s) needs updating?&lt;br /&gt;
!Cap(s) to update&lt;br /&gt;
|-&lt;br /&gt;
|Single motor, large board (v1b)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C48&lt;br /&gt;
|-&lt;br /&gt;
|Single motor, small board (v1c)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C49&lt;br /&gt;
|-&lt;br /&gt;
|Single motor, small board (v1c, block 3)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C49&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, small board (v1d)&lt;br /&gt;
|No&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, large board (v1d)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C58 and C86&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, large board (v1d, block 3)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C58 and C86&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, large board (v1d, block 4)&lt;br /&gt;
|No&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
[[File:Screenshot 2021-08-23 at 1.07.32 pm.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== DC-DC Startup Delay (V1c &amp;amp; V1d) ===&lt;br /&gt;
These revision boards will start up the DC-DC converter during pre-charge, if you&#039;ve soldered the jumper. This will mean the current for the DC-DC will be drawn during pre-charge, potentially preventing the main contactor closing.&lt;br /&gt;
&lt;br /&gt;
See https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=1039 for more details.&lt;br /&gt;
&lt;br /&gt;
=== Soldering The Breakout Board ===&lt;br /&gt;
Solder the Ampseal socket to the the breakout board, the silk-screen indicates side and orientation fitment.&lt;br /&gt;
&lt;br /&gt;
[[File:20200605 174452.jpg|thumb|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
Next flip it over and solder the 34 way IDC locking header on, notch upwards as show.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Some versions of the breakout board have and error in the silk-screen that indicate orientation incorrectly, with the notch towards the bottom.&#039;&#039;&lt;br /&gt;
[[File:20200606 130213.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Soldering the Main Board ===&lt;br /&gt;
The main board is mostly pretty easy to solder, the one exception is the 50 way white connector. I found that putting flux on the pads and dragging solder across them, placing the connector in place and then placing the iron on the pins was the easiest. &lt;br /&gt;
&lt;br /&gt;
Also easiest is to start with this connector, whilst the most complicated, starting with an unpopulated board allows easier access to it as the following connectors are largely around this one. &lt;br /&gt;
[[File:20200619 175629.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending on the kit and time you received it due to chip shortages, you might have IC12 and IC14 unpopulated and need to solder them on. &lt;br /&gt;
&lt;br /&gt;
Each chip&#039;s &#039;pin one&#039; has a small notch to indicate it and this matches the line and IC12 /IC14 silk screen on the board. &lt;br /&gt;
&lt;br /&gt;
Again these are easier to get out of the way before the connectors are positioned.&lt;br /&gt;
[[File:Toyota-gen-3-board---IC12.jpg|none|thumb]]&lt;br /&gt;
[[File:Toyota-gen-3-board---IC14.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next up I did conn 1, it can only go one way, and is a piece of cake after the 50 way connector.&lt;br /&gt;
[[File:20200605 174924.jpg|none|thumb]]&lt;br /&gt;
And Conn8, again easy.&lt;br /&gt;
[[File:20200605 175047.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Next the DCDC convert connector, again only fits one way.&lt;br /&gt;
[[File:20200605 175849.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
MG1 and MG2 Current sensor Connectors, both these are the same, the tabs on both MG1 and MG2 are at the top. &lt;br /&gt;
&lt;br /&gt;
Ignore the &#039;Notch&#039; on the board it needs to face outwards to the edge of the board, you&#039;ll also need to turn the sensor cables 180 deg to fit when installing the board. &lt;br /&gt;
[[File:20200605 181654.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Next up the L2 inductor, it can go either way&lt;br /&gt;
[[File:20200605_182754.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Next up I did the right angled pins for the wifi module, stick the pins in the module connector and then through the board, hold it in place and flip it over.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; This is how &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;not&#039;&#039;&#039;&#039; to mount the right angle connector. The black plastic should be perpendicular to the board and is used to limit the Olimex WifI Board connector.&lt;br /&gt;
[[File:Toyota-gen-3-board---right angled pins.jpg|none|thumb]]&lt;br /&gt;
Cut 2 lengths of 3 pins from the header pin strips for the ISP header for programming the Atmega328P that will be used ton control the buck-boost converter.[[File:20200605 183933.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
To enable the DCDC converter for I&#039;ve bridged over the 2 pin holes, but you can add a switch or something here, or leave it open if you&#039;re not using the DCDC to keep the 12v battery charged.&lt;br /&gt;
&lt;br /&gt;
See note above for &#039;&#039;&#039;V1C and V1D boards&#039;&#039;&#039;&lt;br /&gt;
[[File:20200605 184633.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Pin header for Alegro current sensor, currently no software exists to control the buck boost, hopefully in the future this will be able to be used as a charger, this pin header is for the possible addition of a current sensor to facilitate.&lt;br /&gt;
[[File:20200605_185543.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Three options exist on the board for flashing the firmware to the STM32.&lt;br /&gt;
&lt;br /&gt;
If you plan on programming your board with a TC2050 JTAG &amp;lt;ref&amp;gt;https://www.tag-connect.com/product/tc2050-idc-nl-050 (Backup: [https://web.archive.org/web/20220123084231/https://www.tag-connect.com/product/tc2050-idc-nl-050 Web Archive])&amp;lt;/ref&amp;gt; then obviously skip the next step.&lt;br /&gt;
&lt;br /&gt;
Solder a 3 pin headers for single wire program interface, or a 6 pin header for FTDI interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The photo below shows both headers populated, however you don&#039;t necessarily need both.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:20200605 185557.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Last up is the 34-way ICD interlock connector for the breakout board. Notch outward.&lt;br /&gt;
[[File:20200609 094633.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Powering up ===&lt;br /&gt;
Now it&#039;s time to power up the board with 12v and test.&lt;br /&gt;
&lt;br /&gt;
Green wire is +12v (pin 1) and blue 0v (pin 11)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; When Idle, board consumes about 1.7 - 1.8A of current. When PWM starts, current consumption goes up to ~2A.&lt;br /&gt;
[[File:20200608 125857.jpg|none|thumb]]&lt;br /&gt;
[[File:Screenshot 2020-06-07 at 1.32.12 pm.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Checking voltages ===&lt;br /&gt;
&lt;br /&gt;
Check for ~3.3v here on C32&lt;br /&gt;
[[File:20200608 124947.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Check for ~5v here on C21/C20/C22/C25&lt;br /&gt;
[[File:20200607 134336.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Check for -5v here on the little via next to CONN7 or right next to CONN2 there&#039;s a via with -5V under it.&lt;br /&gt;
[[File:20200608 125110.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Finally the 26v &lt;br /&gt;
[[File:20200608 125053.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
Full kits will be supplied programmed and partial kits will be un-programmed.&lt;br /&gt;
&lt;br /&gt;
=== Wifi Module Firmware ===&lt;br /&gt;
&amp;lt;u&amp;gt;The WiFi module supplied as part of a kit will have the default SSID of &#039;&#039;&#039;&#039;&#039;inverter&#039;&#039;&#039;&#039;&#039; and a password of &#039;&#039;&#039;&#039;&#039;inverter123&#039;&#039;&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
My wifi module came with the firmware already installed, but if yours didn&#039;t follow the outline steps below. You will need a 3.3v USB to Serial adaptor.  &lt;br /&gt;
# Download the software from https://github.com/jsphuebner/esp8266-web-interface &lt;br /&gt;
#  Install the Arduino core from https://github.com/esp8266/Arduino (Arduino IDE, Platform.IO etc supported)&lt;br /&gt;
#  Write code to ESP8266&lt;br /&gt;
#  Write filesystem to ESP8266&lt;br /&gt;
&lt;br /&gt;
Step by Step using Arduino IDE&lt;br /&gt;
# Add https://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board &lt;br /&gt;
# Go to Boards -&amp;gt; Board Manager and install ESP8266&lt;br /&gt;
# Extract the esp8266-web-interface software to your Arduino projects directory&lt;br /&gt;
# Create a new folder named data&lt;br /&gt;
# Move all files except FSBrowser.ino to the data folder.&lt;br /&gt;
# Choose Olimex MOD-WIFI-ESP8266 as the board&lt;br /&gt;
# Upload the code using the Arduino IDE&lt;br /&gt;
# Use &#039;ESP8266 Sketch Data Upload&#039; from the Tools menu, this will upload the files in the data directory to the ESP8266&lt;br /&gt;
&lt;br /&gt;
=== Programming Firmware ===&lt;br /&gt;
There are three different interfaces that are possible to program the firmware.&lt;br /&gt;
&lt;br /&gt;
Below are instructions for using the single wire programming interface with the USB STLink V2&amp;lt;ref&amp;gt;https://www.st.com/en/development-tools/st-link-v2.html (Backup: [https://web.archive.org/web/20220708173838/https://www.st.com/en/development-tools/st-link-v2.html Web Archive])&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Connect the 3 wire pin headers to the programming device.&lt;br /&gt;
[[File:Swp.jpg|none|thumb]]&lt;br /&gt;
[[File:S-l1600.jpg|none|thumb]]&lt;br /&gt;
The pin labeled &#039;&#039;DAT&#039;&#039; on the board should connect to &#039;&#039;SWDIO&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The middle pin of the 3 pins on the board should go to &#039;&#039;GND&#039;&#039; on the STLink V2&lt;br /&gt;
&lt;br /&gt;
The pin labeled &#039;&#039;CLK&#039;&#039; on the board should connect to &#039;&#039;SWCLK&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will also need to hook up power to the board. You can connect the 5V output of the STLink to the 5V pin of the FTDI header. This is the third pin from the left, where pin 1 is just below the letters BLK on the board.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using a Mac or Linux&#039;&#039;&#039; install https://github.com/stlink-org/stlink&lt;br /&gt;
&lt;br /&gt;
The bootloader can be found here: https://github.com/jsphuebner/tumanako-inverter-fw-bootloader/releases&lt;br /&gt;
&lt;br /&gt;
Run command to write the bootloader&amp;lt;blockquote&amp;gt;st-flash write stm32_loader.bin 0x08000000&amp;lt;/blockquote&amp;gt;&#039;&#039;&#039;For Windows&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Grab the custom bootloader (the .bin file) from https://github.com/jsphuebner/tumanako-inverter-fw-bootloader/releases&lt;br /&gt;
&lt;br /&gt;
Install the ST Link software from here: https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html&lt;br /&gt;
&lt;br /&gt;
Run the software then select Target&amp;gt;Connect and then Target&amp;gt;Settings to check that your USB device is connected and that the settings look as follows:&lt;br /&gt;
[[File:ST Link Software Settings.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Select File&amp;gt;Open and choose the bootloader from its download location. Then select Target&amp;gt;Program &amp;amp; Verify and you should see this:&lt;br /&gt;
[[File:Programming bootloader with ST Link software.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Once the bootloader has been programmed the main firmware can be uploaded and upgraded via the [[web interface]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The main firmware can be found here: https://github.com/jsphuebner/stm32-sine/releases&lt;br /&gt;
&lt;br /&gt;
A wifi network should be visible with the name &#039;&#039;ESP-*&#039;&#039; connect to it&lt;br /&gt;
[[File:Screenshot 2020-06-20 at 8.33.04 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Once connected open a browser and navigate to http://192.168.4.1 and find the update section, upload the firmware.&lt;br /&gt;
[[File:Screenshot 2020-06-20 at 8.28.53 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Once this has completed you can verify by scrolling to the Spot Values section and you&#039;ll see the software version&lt;br /&gt;
[[File:Screenshot 2020-06-20 at 8.39.58 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Atmega328p Firmware ===&lt;br /&gt;
&#039;&#039;&#039;Be super careful never to program the Atmega while high voltage is applied and caps are not discharged. When cycling through the boot loader, it seems to do something strange that will blow up the otherwise bullet proof buck/boost converter! Also be aware that Arduino also cycles through the boot loader when closing the serial terminal!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will control the Buck Boost module that&#039;s hopefully going to be a functioning charger in the future, it also requires a simple bit of firmware to enable the DC-DC converter.&lt;br /&gt;
&lt;br /&gt;
[Add instructions for firmware]&lt;br /&gt;
&lt;br /&gt;
== Inverter Parameters ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Parameter&lt;br /&gt;
!Suggested Value&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|pwmfrq&lt;br /&gt;
|2&lt;br /&gt;
|PWM frequency. 0=17.6kHz, 1=8.8kHz, &#039;&#039;&#039;2=4.4kHz&#039;&#039;&#039;, 3=2.2kHz. Needs PWM restart&lt;br /&gt;
|-&lt;br /&gt;
|pwmpol&lt;br /&gt;
|0 - Active High&lt;br /&gt;
|DO NOT PLAY WITH THIS!&lt;br /&gt;
|-&lt;br /&gt;
|deadtime&lt;br /&gt;
|130&lt;br /&gt;
|Deadtime between highside and lowside pulse. 28=800ns, 56=1.5µs. Not always linear, consult STM32 manual. Needs PWM restart&lt;br /&gt;
|-&lt;br /&gt;
|il1gain&lt;br /&gt;
|4.56&lt;br /&gt;
|Digits per A of current sensor L1&lt;br /&gt;
|-&lt;br /&gt;
|il2gain&lt;br /&gt;
|4.5&lt;br /&gt;
|Digits per A of current sensor L2&lt;br /&gt;
|-&lt;br /&gt;
|udcgain&lt;br /&gt;
|5&lt;br /&gt;
|Digits per V of DC link&lt;br /&gt;
|-&lt;br /&gt;
|udcofs&lt;br /&gt;
|0&lt;br /&gt;
|DC link 0V offset&lt;br /&gt;
|-&lt;br /&gt;
|udclim&lt;br /&gt;
|540&lt;br /&gt;
|High voltage at which the PWM is shut down&lt;br /&gt;
|-&lt;br /&gt;
|snshs&lt;br /&gt;
|1&lt;br /&gt;
|Heatsink temperature sensor. 0=JCurve, &#039;&#039;&#039;1=Semikron&#039;&#039;&#039;, 2=MBB600, 3=KTY81, 4=PT1000, 5=NTCK45+2k2, 6=Leaf&lt;br /&gt;
|-&lt;br /&gt;
|pinswap&lt;br /&gt;
|8&lt;br /&gt;
|0=None, 1=Currents12, 2=SinCos, 4=PWMOutput13, &#039;&#039;&#039;8=PWMOutput23&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
[[Parameters]] Details&lt;br /&gt;
&lt;br /&gt;
== First Run (PWM verify) ==&lt;br /&gt;
Once your board in installed in the inverter and all the internal connectors are connected you can power up the inverter with 12v as above. No need to have anything connected to the HV battery or MG1 or MG2. You&#039;ll hear an audible wine. We&#039;re first going to verify the PWM outputs on the board and then connecting up a motor.&lt;br /&gt;
&lt;br /&gt;
Connect pin 3, MG2_FORW_IN to 12v&lt;br /&gt;
&lt;br /&gt;
Navigate to the [[Web Interface]]&lt;br /&gt;
&lt;br /&gt;
Change the parameter  encmode to &#039;AB&#039; as at the moment we don&#039;t have any sensors connected. Set udcmin to 0 to disable precharge.&lt;br /&gt;
&lt;br /&gt;
Start the inverter in manual mode with the button&lt;br /&gt;
[[File:Screenshot 2020-07-06 at 1.21.04 pm.png|thumb|alt=|none]]    &lt;br /&gt;
&lt;br /&gt;
Now set the 2 testing parameters, fslipsnpnt and ampnom to 1. &lt;br /&gt;
[[File:Screenshot 2020-07-06 at 1.21.13 pm.png|none|thumb]] &lt;br /&gt;
&lt;br /&gt;
Using a scope, look for a PWM signal on MG2 A/B/C Hi/Low on the 50 pin connector. R74 through R79 can be used as test points for the PWM signal - these are located next to the 50 pin connector as shown in the image below. &lt;br /&gt;
[[File:51872869539 19178b9a51 o.jpg|alt=Partial shot of the 50 pin connector showing the location of the resistors which can be used as test points to check for the PWM signal on MG2 A/B/C Hi / Low. |none|thumb]]&lt;br /&gt;
Stop the inverter &lt;br /&gt;
&lt;br /&gt;
== First Run (Open loop motor spin) ==&lt;br /&gt;
&lt;br /&gt;
Now connect up the 3 motor phases and a small voltage of around 30v to the HV, I manually pre-charged with a 50w 10ohm resistor for a couple of seconds, the supply needs to be able to supply 10 amps or so. I also had a 20 amp fuse inline.&lt;br /&gt;
&lt;br /&gt;
As above, start the inverter in manual mode, set ampnom to 100 and fslipsnpnt to 10, the motor should start to spin.&lt;br /&gt;
&lt;br /&gt;
You may have [[Errors]] to address if this doesn&#039;t happen.&lt;br /&gt;
&lt;br /&gt;
== DC-DC Converter ==&lt;br /&gt;
The inverter contains a DC DC converter, that is used to keep the 12v battery charged using the high voltage battery. This is the EV equivalent to the alternator on a combustion engined car.&lt;br /&gt;
&lt;br /&gt;
As per the assembly instructions above this needs to be enabled via the jumper on the control board.&lt;br /&gt;
&lt;br /&gt;
In the unmodified state, the DC DC converter will operate with a main battery voltage in the ~80v to ~235v range and will require a simple modification to allow it to operate at higher voltage range, ~140v to ~400v.&lt;br /&gt;
&lt;br /&gt;
There&#039;s a couple of options for the DC DC converter. If you aren&#039;t planning on using the inverter as a charger and don&#039;t want to change the resistors you can use the buck boost module to step down the battery voltage to within the DC DC range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unmodified DC DC Resistors, using Buck Boost to step down.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Connect your battery to the inverter as shown below, with pre charge and fuses etc.[[File:20200705 190723.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can use the following sketch on the atmega328p&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Runs atmega328p buck/boost control on Prius Gen 3 and Yaris/Auris inverters in buck mode to drop Main HV down for DCDC converter.&lt;br /&gt;
Experimental code. Only tested on the bench! Use at your own risk!&lt;br /&gt;
D.Maguire&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;Metro.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int HVLow = 0;        // voltage on low side of converter&lt;br /&gt;
int HVHi = 0;        // voltage on high side of converter&lt;br /&gt;
int SetV = 0;       //set point voltage&lt;br /&gt;
int PWMDuty = 0;    //pwm duty cycle&lt;br /&gt;
&lt;br /&gt;
Metro timer_pwm=Metro(5); &lt;br /&gt;
Metro timer_serial=Metro(200);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);//&lt;br /&gt;
  TCCR1B = TCCR1B &amp;amp; B11111000 | B00000010;    // set timer 1 divisor to  8 for PWM frequency of  3921.16 Hz&lt;br /&gt;
  pinMode(9, OUTPUT); //boost low side&lt;br /&gt;
  pinMode(10, OUTPUT); //boost Hi side&lt;br /&gt;
  analogWrite(9,0); //low side off&lt;br /&gt;
  analogWrite(10,0); //High side off&lt;br /&gt;
  SetV=210;  //set at 210v to run dcdc&lt;br /&gt;
  PWMDuty=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// the loop function runs over and over again forever&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
    HVLow = (analogRead(A0)/1.85)-43; //-43 needed for Lexus CT200h variant. Remove for Prius / Auris.&lt;br /&gt;
    HVHi = (analogRead(A1)*1.25);&lt;br /&gt;
    &lt;br /&gt;
    updatePWM();  //call pwm update routine.&lt;br /&gt;
    serialOUT();  //call serial out routine&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void serialOUT()&lt;br /&gt;
{&lt;br /&gt;
  if(timer_serial.check()){&lt;br /&gt;
  Serial.print(&amp;quot;Low Vbus = &amp;quot;);&lt;br /&gt;
  Serial.print(HVLow);&lt;br /&gt;
  Serial.print(&amp;quot;Volts&amp;quot;);&lt;br /&gt;
  Serial.print(&amp;quot;\t High Vbus = &amp;quot;);&lt;br /&gt;
  Serial.print(HVHi);&lt;br /&gt;
  Serial.print(&amp;quot;Volts&amp;quot;);&lt;br /&gt;
  Serial.print(&amp;quot;\t PWMDUTY = &amp;quot;);&lt;br /&gt;
  Serial.println(PWMDuty);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void updatePWM()&lt;br /&gt;
{&lt;br /&gt;
if(timer_pwm.check()){&lt;br /&gt;
  if(HVHi&amp;gt;300){  //if hv is above 300v start ramping up pwm and regulate to setpoint.&lt;br /&gt;
    if (HVLow&amp;lt;SetV) PWMDuty++;&lt;br /&gt;
    if (HVLow&amp;gt;SetV) PWMDuty--;&lt;br /&gt;
    if (PWMDuty&amp;lt;0)  PWMDuty=0;&lt;br /&gt;
    if (PWMDuty&amp;gt;250)  PWMDuty=250;&lt;br /&gt;
    analogWrite(10,PWMDuty);&lt;br /&gt;
  }&lt;br /&gt;
  if(HVHi&amp;lt;250)&lt;br /&gt;
  {&lt;br /&gt;
      PWMDuty--;;  //if hv is lower then 250v ramp down pwm&lt;br /&gt;
      if (PWMDuty&amp;lt;0)  PWMDuty=0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modified DC DC Resistors, using Buck Boost to bridge.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You must have modified the resistors in the inverter for this method to work. &lt;br /&gt;
&lt;br /&gt;
Connect your battery to the inverter as shown below, with pre charge and fuses etc.&lt;br /&gt;
&lt;br /&gt;
[[File:20200705 190723.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
The following sketch can use used on the atmega328p to internally bridge the buck boost module so that the full battery voltage reaches the DC DC converter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// I/O-PINS&lt;br /&gt;
const uint8_t boostLoDrivePIN = 9; // D9 (PB1)&lt;br /&gt;
const uint8_t boostHiDrivePIN = 10; // D10 (PB2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/********&lt;br /&gt;
* SETUP *&lt;br /&gt;
********/&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  pinMode(boostHiDrivePIN, OUTPUT);&lt;br /&gt;
  digitalWrite(boostHiDrivePIN, HIGH); // To set high drive ON&lt;br /&gt;
  &lt;br /&gt;
  pinMode(boostLoDrivePIN, OUTPUT);&lt;br /&gt;
  digitalWrite(boostLoDrivePIN, LOW); // To set low drive OFF&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*******&lt;br /&gt;
* LOOP *&lt;br /&gt;
*******/&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modified DC DC Resistors and using Buck Boost for charging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your battery will be connected to Charging HV + and HV - with contactors and precharge. You will also have another contactor that the atmega328p will control to externally bridge Charging HV+ and Driving HV+ this will externally bridge both sides of the buck boost module when in run mode so that the driving isn&#039;t limited by the buck boost module but during charging the contactor will open and the connection is severed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:20200705 190723 2.jpg|none|thumb]]The charing code for the atmega328p is here https://github.com/celeron55/prius3charger_buck, more details on charging is further down in the wiki.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modifying the DC DC converter resistors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The DC DC converter in unmodified state will startup at a little over 100v and shut down at around 240v, to use it with a higher voltage it needs to be modified by changing some smd resistors.&lt;br /&gt;
&lt;br /&gt;
See https://www.youtube.com/watch?v=Nu5_OBOPk4s&amp;amp;t=2s&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to remove the bottom cover of the inverter to expose the DC DC converter control board.&lt;br /&gt;
[[File:Screenshot 2021-01-06 at 6.51.47 pm.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
We need to replace 4 resistors on the top side of the board, these are R629, R627, R625, R623, currently 120k ohm, these will need replacing with  210k ohm&lt;br /&gt;
&lt;br /&gt;
(1%, 0.5W, 0805, Manufacturer part#: ERJP06F2103V Farnell #: 2326773 )&lt;br /&gt;
[[File:Screenshot 2021-01-06 at 6.56.26 pm.png|none|thumb]]&lt;br /&gt;
[[File:20210114 162937.jpg|none|thumb]]&lt;br /&gt;
These are the 4 resistors on the top.&lt;br /&gt;
[[File:20210114 172258.jpg|none|thumb]]&lt;br /&gt;
And Replace&lt;br /&gt;
[[File:20210114 174343.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
There&#039;s also 4 resistors to replace on the bottom, these are R630, R628, R626, R624, these also need to be 210k ohm.&lt;br /&gt;
[[File:Screenshot 2021-01-06 at 6.59.08 pm.png|none|thumb]]&lt;br /&gt;
[[File:20210114 172503.jpg|none|thumb]]&lt;br /&gt;
The bottom resistors are up next to the flexible cable, on the underside of the board, to access them, unscrew the 4 screws holding the board in place, unplug the black connector carefully lift the board upwards.&lt;br /&gt;
&lt;br /&gt;
Bare in mind the flexible cable is still attached and is soldered directly to the board. Flip it over.&lt;br /&gt;
[[File:20210114 172710.jpg|none|thumb]]&lt;br /&gt;
[[File:20210114 173552.jpg|none|thumb]]&lt;br /&gt;
Bottom side replaced. You can now place the board back in place, screw the 4 screws in and don&#039;t forget the black plug.&lt;br /&gt;
&lt;br /&gt;
Replace the bottom metal cover.&lt;br /&gt;
&lt;br /&gt;
== 12v Battery Connection ==&lt;br /&gt;
The 12v battery positive connects to this post, it&#039;ll output ~14v when the DC-DC is running to keep the battery charged, the negative terminal of the battery should be connected to the case of the inverter.[[File:20200705_190706.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== High Voltage Battery Connection ==&lt;br /&gt;
The HV battery connection is below, DO NOT directly connect the battery here. It needs to be connected via contactors and a pre-charge resistor. This connection point by-passes the buck/boost converter.&lt;br /&gt;
&lt;br /&gt;
[[File:20200705 190723.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
[Add details of pre-charge and contactor]&lt;br /&gt;
&lt;br /&gt;
== Motor Connection ==&lt;br /&gt;
If you are only using MG2 to power a motor, and not paralleling MG1 and MG2, connect your 3 phase wires from the motor to the outer 3 terminals.&lt;br /&gt;
&lt;br /&gt;
Some versions of this inverter have the U-V-W labels for the three phase wires stamped into the case and some do not. These are shown below in case you have a version of the inverter without them and need to connect to a motor other than the originial prius transaxle.&lt;br /&gt;
[[File:20200705 190657-2.jpg|alt=|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Parallel MG1 and MG2 on a single motor ==&lt;br /&gt;
MG1 and MG2 can be used in parallel for more power, to do so there&#039;s some solder jumpers on the board to use. Jumpers SJ1 to SJ6 need soldering across the little gap between them.&lt;br /&gt;
[[File:Screenshot 2021-08-20 at 9.17.02 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You then need to connect MG1 phase 1 to MG2 phase 1 and so on. This needs to be done before the the current sensors so that all the current goes through MG2 current sensors on the phase bars, otherwise the software cannot measure the current correctly.&lt;br /&gt;
[[File:1n9hto6.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== IDC Connector ==&lt;br /&gt;
If you are not using the AMPSeal daughterboard, you can connect directly to the 34 pin IDC connector on the EVBMW board. &lt;br /&gt;
&lt;br /&gt;
Connections are as follows:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Pin Number&lt;br /&gt;
|Label&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|12V_IN&lt;br /&gt;
|Provide with +12V supply from battery or power supply for testing&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|12V_IN&lt;br /&gt;
|Provide with +12V supply from battery or power supply for testing&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|MG2_FORW_IN&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|MG2_REVER_IN&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|MG2_START&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to start the inverter and move it from pre-charge to run mode. Typically connected to the momentary &#039;START&#039; position of your ignition switch.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|MG2_BRAKE_ON&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to inform the inverter that the car is under braking. Typically takes a feed from the brake switch that also turns on brake lights etc.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|CRUISE_IN&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to turn on cruise control mode. This sets the current motor speed as the set point for cruise control. Cruise control is disabled by a signal from the brake switch.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|VCC_5V&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+5V supply for temperature and throttle sensors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|MG2_ACCEL&lt;br /&gt;
|5V analogue input from first channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|MG2_BRAKE_TRANS&lt;br /&gt;
|5V analogue input from second channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return.&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|CAN_EXT_H&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|CAN_EXT_L&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|VCC_5V&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+5V supply for temperature and throttle sensors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|MG2_ENC_1&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the SIN winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|MG2_ENC_2&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the COS winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|MG2_COSA&lt;br /&gt;
|Connect SIN winding of motor resolver here and to Encoder Channel A&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|MG2_SINA&lt;br /&gt;
|Connect COS winding of motor resolver here and to Encoder Channel B&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|MG2_EXCA&lt;br /&gt;
|Connect exciter winding of motor resolver here and to ground&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|MG2_STATOR_T1&lt;br /&gt;
|5V output for the motor temperature sensor. These are typically variable resistance devices. Connect one side of the sensor here.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|MG2_STATOR_T2&lt;br /&gt;
|Input from motor temperature sensor. Connect the other side of the sensor here. &#039;&#039;&#039;(Note the board correction above. Do not connect if it hasn&#039;t been addressed by a new revision or work around)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|MAIN_CON&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|PRECHG_RLY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|AC_CON&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|HV_CON&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|AC_PRECH&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|EVSE_PROX&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|CONTROL_PILOT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|CHG_CANH&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|CHG_CANL&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ampseal Socket &amp;amp; Plug ==&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&amp;lt;ref&amp;gt;https://www.ebay.co.uk/itm/Connector-ECU-Terminals-35P-35-Way-776164-1-776231-1-776163-1-Male-Female-Pins/401764868163?hash=item5d8b0d6043:g:3TkAAOSwexhc1Tcy (Backup: [https://web.archive.org/web/20221016161951/https://www.ebay.co.uk/itm/Connector-ECU-Terminals-35P-35-Way-776164-1-776231-1-776163-1-Male-Female-Pins/401764868163 Web Archive])&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:AMPSeal socket (male).jpg|alt=|none|thumb|AMPSeal socket (male) in 3D printed surround with pins marked]]&lt;br /&gt;
&lt;br /&gt;
The AMPSeal connector is wired as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Pin Number&lt;br /&gt;
|AMPSeal Pinout Label&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|12V SUPPLY POSITIVE&lt;br /&gt;
|Provide with +12V supply from battery or power supply for testing&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FORWARD DIRECTION SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|REVERSE DIRECTION SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|START SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to start the inverter and move it from pre-charge to run mode. Typically connected to the momentary &#039;START&#039; position of your ignition switch.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|BRAKE DIGITAL SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to inform the inverter that the car is under braking. Typically takes a feed from the brake switch that also turns on brake lights etc.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|CRUISE CONTROL SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to turn on cruise control mode. This sets the current motor speed as the set point for cruise control. Cruise control is disabled by a signal from the brake switch.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|5V OUT&lt;br /&gt;
| +5V supply for temperature and throttle sensors&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|ACCELERATOR CHAN 1 INPUT&lt;br /&gt;
|5V analogue input from first channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACCELERATOR CHAN 2 INPUT&lt;br /&gt;
|5V analogue input from second channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return.&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|INVERTER CAN HIGH&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|INVERTER CAN LOW&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
| +5V OUT&lt;br /&gt;
| +5V supply for temperature and throttle sensors&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ENCODER CHAN A&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the SIN winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ENCODER CHAN B&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the COS winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|RESOLVER SIN&lt;br /&gt;
|Connect SIN winding of motor resolver here and to Encoder Channel A&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|RESOLVER COS&lt;br /&gt;
|Connect COS winding of motor resolver here and to Encoder Channel B&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|RESOLVER EXC&lt;br /&gt;
|Connect exciter winding of motor resolver here and to ground&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|MOTOR TEMP SENSOR T1&lt;br /&gt;
|5V output for the motor temperature sensor. These are typically variable resistance devices. Connect one side of the sensor here.&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|MOTOR TEMP SENSOR T2&lt;br /&gt;
|Input from motor temperature sensor. Connect the other side of the sensor here. &#039;&#039;&#039;(Note the board correction above. Do not connect if it hasn&#039;t been addressed by a new revision or work around)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|MAIN HV CONTACTOR&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground).&lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|HV PRECHARGE RELAY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|CHARGER AC INPUT RELAY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|CHARGER HV DC REQUEST&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|CHARGER AC PRECHARGE RELAY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|EVSE PROXIMITY SIGNAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|EVSE CONTROL PILOT SIGNAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|CHARGER CAN HIGH&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|CHARGER CAN LOW&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|NOT USED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|NOT USED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connecting Resolver ==&lt;br /&gt;
For resolver connect EXC to one side of the exciter winding and other to Ground.&lt;br /&gt;
&lt;br /&gt;
Connect one side of SIN winding to SIN and other to Encoder A&lt;br /&gt;
&lt;br /&gt;
Conenct one side of COS winding to COS and other to encoder B.&lt;br /&gt;
&lt;br /&gt;
== Inverter as charger ==&lt;br /&gt;
The buck/boost module in the inverter can be used to step up or down an input voltage to charge the high voltage battery in the car. Stepping down to a lower voltage is buck and up is boost converting.&lt;br /&gt;
&lt;br /&gt;
=== Buck Mode Charging. ===&lt;br /&gt;
This is what you need if your battery voltage will be lower than the rectified input (&amp;lt; 340v for 240v single phase, 600v for 3 phase)&lt;br /&gt;
&lt;br /&gt;
There&#039;s some firmware for the Atmega on the EVBMW board to control the buck/boost in buck mode for charging.&lt;br /&gt;
&lt;br /&gt;
https://github.com/celeron55/prius3charger_buck&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve downloaded the code there&#039;s some things to change.&amp;lt;blockquote&amp;gt;#define BATTERY_CHARGE_VOLTAGE 300    //Set this to your battery full voltage&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;#define AC_PRECHARGE_MINIMUM_VOLTAGE 550  // European 3-phase rectifies to 600V, Single Phase 240v rectifies to 340V&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;#define PRECHARGE_BOOST_ENABLED true.   // The capacitor needs pre-charging, there&#039;s 2 options, a pre-charge resistor on the A.C input or use the battery to boost to the input voltage.&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;#define PRECHARGE_BOOST_VOLTAGE 550  // European 3-phase rectifies to 600V, Single Phase 240v rectifies to 340V&amp;lt;/blockquote&amp;gt;The battery connection needs to be a little different. The battery + will need connecting to the left most terminal and a contactor will be needed to bridge the left most and right most when running.&lt;br /&gt;
[[File:20200705 190723 2.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== 3D Printed Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:20210119 125158.jpg|none|thumb]]&lt;br /&gt;
|[[File:20210119 110057.jpg|none|thumb]]&lt;br /&gt;
|[[File:20210119 191934.jpg|none|thumb]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
User bobby_come_lately has created a fair few 3D printable parts for use with the inverter. They can be downloaded https://github.com/jamiejones85/Gen3PriusInverter3DParts&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&#039;&#039;&#039;What happens when the inverter has an ERROR?&#039;&#039;&#039;&amp;lt;blockquote&amp;gt;The Toyota driver error signals are connected to the pk_in pin on the stm32 so when the Inverter has an error it stops the PWM by giving the STM32 an interrupt signal. See [https://openinverter.org/forum/viewtopic.php?p=25460#p25460 Here]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/damienmaguire/Prius-Gen3-Inverter/tree/master/V2 Damien&#039;s Prius Gen3 v2 Github]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/damienmaguire/Prius-Gen3-Inverter/blob/master/V1c/PriusGen3HandPlacedParts.csv Bill of Hand Placed Parts] (Github)&lt;br /&gt;
&lt;br /&gt;
[https://github.com/damienmaguire/Prius-Gen3-Inverter/blob/master/V2/PriusG3_V1b_BOM_JLC.xls?raw=true Bill of Materials] (Github)&lt;br /&gt;
&lt;br /&gt;
The control board takes advantage of the [https://openinverter.org/wiki/Downloads OpenInverter.org software] for control.&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Toyota]] [[Category:Inverter]]&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Toyota_Prius_Gen2_Inverter&amp;diff=3354</id>
		<title>Toyota Prius Gen2 Inverter</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Toyota_Prius_Gen2_Inverter&amp;diff=3354"/>
		<updated>2023-02-22T04:07:41Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: Added Weber University video that references a more brief overview of the PHEV HV system operation.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Prius Gen 2 inverter montage.jpg|alt=|thumb|Prius Gen 2 Inverter Montage]]&lt;br /&gt;
[[File:Prius Gen2 inverter internals.jpg|alt=|thumb|Internal look at the Prius Gen2 Inverter]]&lt;br /&gt;
[[File:Prius Gen 2 Layout.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
The Toyota Prius is a hybrid vehicle. Their inverters are suitable and attractive for DIY EVs because of:&lt;br /&gt;
* Large part availability, Priuses have been made in large numbers for 20 years and spares are inexpensive.&lt;br /&gt;
* High affordability. Prius inverters are available for around $150 from scrapyards everywhere.&lt;br /&gt;
* Durability. Toyota engineers appear to have made the inverters foolproof, many inputs and outputs gracefully handle fault conditions.&lt;br /&gt;
* Respectable performance. Rated for 50kW output, but tested to handle 600v, and [https://www.youtube.com/watch?v=y6mlXahM9B0 350+A for MG2 inverter, 250+A for MG1 inverter], 360kW total (480hp)&lt;br /&gt;
* Ease of re-purposing. Emulating the original ECU seems reasonably feasible.&lt;br /&gt;
&lt;br /&gt;
The Gen2 Prius (2004-2009 model years) has a variety of useful components inside the inverter package:&lt;br /&gt;
* 2 high power inverters, for the 2 motors MG1 (starter) capable of handling 250 amps, and MG2 (drive motor) capable of handling 350 amps.&lt;br /&gt;
* A DC-DC converter to provide 12v and up to 100amps power supply to the automotive systems and accessories.&lt;br /&gt;
* A tertiary power inverter to run the A/C, CAN controlled via the &amp;quot;BEAN&amp;quot; (????) network&lt;br /&gt;
* A boost module to boost the 200v battery pack up to 500v, which looks to be able to function as a battery charger (wish list for future development)&lt;br /&gt;
* See this video for a thorough disassembly and explanation of the Gen2 Inverter (Timestamp 1:15:30): https://www.youtube.com/watch?v=Y7Vm-C4MsW8&amp;amp;t=4531&lt;br /&gt;
* See this video for a more brief explanation of the above noted disassembled Gen2 HV System Operation: https://www.youtube.com/watch?v=UxuqHcUbSQ0&lt;br /&gt;
&lt;br /&gt;
Note that there is also a [[Toyota_Prius_Gen3_Board]] for the 2010-2015 model years.&lt;br /&gt;
&lt;br /&gt;
== Replacement Controllers ==&lt;br /&gt;
&lt;br /&gt;
Re-purposing a Prius Gen2 Inverter outside of a Prius is done simply with add-on controllers that replace the vehicle&#039;s wiring harness and ECU.&lt;br /&gt;
&lt;br /&gt;
* [[Toyota Prius Gen2 EVBMW Throughhole Board]] - Details on the now-deprecated EVBMW &amp;quot;Blue Pill&amp;quot;-based easy-to-solder controller board, diagrams, instructions, pinouts, etc. Don&#039;t use this.&lt;br /&gt;
* [[Toyota Prius Gen2 Inverter Controller]] - Details on the newer OpenInverter controller board and kits to repurpose the Gen 2 Prius inverter. Use this.&lt;br /&gt;
&lt;br /&gt;
== 32-pin Prius Inverter Pin mapping ==&lt;br /&gt;
&lt;br /&gt;
Note: Wire colors on the male/female side of the 32-pin &amp;quot;i10&amp;quot; connector do not match. The inverter-side plug uses an almost unique color scheme, but the wiring harness side reuses many colors - unique only to a given shielded cable (of which there are 5), plus some extra unbundled wires. To save time chasing wires, you can find anything in the same bundle, and know the rest by noting which other colors are in that cable. There are also a few loose wires not bundled into a cable or shielded.&lt;br /&gt;
&lt;br /&gt;
Note 2: The 12v supply rail for the &amp;quot;i9&amp;quot; connector also changes color at the wiring harness. The thicker blue loose wire is positive, the thick loose white-black wire is the ground.&lt;br /&gt;
&lt;br /&gt;
Note 3: There is also an enclosure safety connector, this is the thin blue loose wire on the wiring harness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Prius_Inverter_-_Pin_Numbering_2.jpg|thumb|500x500px|32-pin Prius Inverter Pin Numbering]]&lt;br /&gt;
[[File:Prius_Inverter_Wire_Colors_3.jpg|thumb|500x500px|32-pin Prius Inverter Pin Numbering]]&lt;br /&gt;
[[File:Prius_Inverter_Wire_Colors_2.jpg|thumb|500x500px|32-pin Prius Inverter Pin Numbering]]&lt;br /&gt;
[[File:Prius_Inverter_Wire_Colors_5.jpg|thumb|500x500px|32-pin Prius Harness Pin Numbering]]&lt;br /&gt;
[[File:Prius_Inverter_Wire_Colors_4.jpg|thumb|500x500px|32-pin Prius Harness Pin Numbering]]&lt;br /&gt;
[[File:Prius_Inverter_Wire_Colors_6.jpg|thumb|500x500px|32-pin Prius Inverter Colors]]&lt;br /&gt;
[[File:Prius_Inverter_Wire_Colors_7.jpg|thumb|500x500px|32-pin Prius Inverter Harness Connections]]&lt;br /&gt;
[[File:Prius_Inverter_Wire_Colors_8.jpg|thumb|500x500px|32-pin Prius Inverter i9 12v DC]]&lt;br /&gt;
[[File:Prius_Inverter_Wire_Colors_9.jpg|thumb|500x500px|32-pin Prius Inverter Harness Cables]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pin # !! Designation !! Description!!Wire Color&lt;br /&gt;
(Inverter Side)&lt;br /&gt;
&lt;br /&gt;
(See pictures to the right)&lt;br /&gt;
!Wire Color&lt;br /&gt;
(Harness Side)&lt;br /&gt;
|-&lt;br /&gt;
|1||||vacant||&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2||GIVA||MG1 Phase Current V||LightGreen&lt;br /&gt;
|White - Cable 1&lt;br /&gt;
|-&lt;br /&gt;
|3|| GIVB ||MG1 Phase Current V|| Purple-Red&lt;br /&gt;
|Black - Cable 1&lt;br /&gt;
|-&lt;br /&gt;
|4|| GUU ||MG1 PWM U - Speed Signal Wave||Blue&lt;br /&gt;
|Black - Cable 2&lt;br /&gt;
|-&lt;br /&gt;
|5|| GVU ||MG1 PWM V - Speed Signal Wave||Blue-Red&lt;br /&gt;
|Green - Cable 2&lt;br /&gt;
|-&lt;br /&gt;
|6|| GWU ||MG1 PWM W - Speed Signal Wave||Yellow&lt;br /&gt;
|Yellow - Cable 2&lt;br /&gt;
|-&lt;br /&gt;
|7|| MIVA || MG2 Phase Current V ||LightGreen-Black&lt;br /&gt;
|Green - Cable 3&lt;br /&gt;
|-&lt;br /&gt;
|8|| MIVB ||MG2 Phase Current V||Purple-Yellow&lt;br /&gt;
|White - Cable 3&lt;br /&gt;
|-&lt;br /&gt;
|9|| MUU ||MG2 PWM U - Speed Signal Wave|| Blue-Black&lt;br /&gt;
|Black - Cable 4&lt;br /&gt;
|-&lt;br /&gt;
|10|| MVU ||MG2 PWM V - Speed Signal Wave|| Blue-Yellow&lt;br /&gt;
|White - Cable 4&lt;br /&gt;
|-&lt;br /&gt;
|11|| MWU ||MG2 PWM W - Speed Signal Wave|| Yellow-Black&lt;br /&gt;
|Red - Cable 4&lt;br /&gt;
|-&lt;br /&gt;
|12|| VH ||Inverter Capacitor Voltage||Purple&lt;br /&gt;
|Yellow - Cable 3&lt;br /&gt;
|-&lt;br /&gt;
|13|| CPWM ||Boost converter PWM switch signal||Blue&lt;br /&gt;
|Black - Cable 5&lt;br /&gt;
|-&lt;br /&gt;
|14|| CT ||Boost converter temperature sensor||Green-Red&lt;br /&gt;
|Red - Cable 5&lt;br /&gt;
|-&lt;br /&gt;
|15|| VL ||Boost converter input voltage||Purple-White&lt;br /&gt;
|Yellow - Cable 5&lt;br /&gt;
|-&lt;br /&gt;
|16|| GINV || Inverter Ground ||Black-White&lt;br /&gt;
|Yellow - Cable 4&lt;br /&gt;
|-&lt;br /&gt;
|17||||vacant|| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|18|| GIWA ||MG1 Phase Current W||Grey&lt;br /&gt;
|Red - Cable 1&lt;br /&gt;
|-&lt;br /&gt;
|19|| GIWB || MG1 Phase Current W ||Grey-Black&lt;br /&gt;
|Green - Cable 1&lt;br /&gt;
|-&lt;br /&gt;
|20|| GSDN ||MG1 Shutdown||Brown-Black&lt;br /&gt;
|Red - Cable 2&lt;br /&gt;
|-&lt;br /&gt;
|21|| GIVT ||MG1 Inverter Temperature||Green-Black&lt;br /&gt;
|White - Cable 2&lt;br /&gt;
|-&lt;br /&gt;
|22|| GFIV ||MG1 Inverter Fail||White-Grey&lt;br /&gt;
|Grey&lt;br /&gt;
|-&lt;br /&gt;
|23|| MIWA ||MG2 Phase Current W||Grey-Green&lt;br /&gt;
|Red - Cable 3&lt;br /&gt;
|-&lt;br /&gt;
|24|| MIWB ||MG2 Phase Current W||Grey-Red&lt;br /&gt;
|Black - Cable 3&lt;br /&gt;
|-&lt;br /&gt;
|25|| MSDN ||MG2 Shutdown||Brown&lt;br /&gt;
|Green - Cable 3&lt;br /&gt;
|-&lt;br /&gt;
|26|| MIVT ||MG2 Inverter Temperature||Green&lt;br /&gt;
|Light Blue - Cable 4&lt;br /&gt;
|-&lt;br /&gt;
|27|| MFIV ||MG2 Inverter Fail||White&lt;br /&gt;
|Green&lt;br /&gt;
|-&lt;br /&gt;
|28|| OVH ||Overvoltage||Pink&lt;br /&gt;
|Brown&lt;br /&gt;
|-&lt;br /&gt;
|29|| CSDN ||Boost converter shutdown signal||Brown-White&lt;br /&gt;
|White - Cable 5&lt;br /&gt;
|-&lt;br /&gt;
|30|| FCV ||Boost converter fail signal||White-Red&lt;br /&gt;
|White&lt;br /&gt;
|-&lt;br /&gt;
|31|| OVL ||Boost converter over voltage signal||Pink-Blue&lt;br /&gt;
|Black&lt;br /&gt;
|-&lt;br /&gt;
|32|| GCNV ||Boost converter ground||Black-Red&lt;br /&gt;
|Green - Cable 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Article continues below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DC-DC Converter ==&lt;br /&gt;
[[File:Prius Gen 2 inverter lower casing internals.png|thumb|300x300px|Prius gen 2 inverter lower casing internals]]&lt;br /&gt;
[[File:Gen2 Prius DC-DC Connections.jpg|thumb|Prius Gen2 DC-DC connections.|284x284px]]&lt;br /&gt;
[[File:Prius GEN 2 C 5 Connector Pinout.png|alt=|thumb|DC-DC converter &amp;quot;C 5&amp;quot; connector]]&lt;br /&gt;
The onboard DC-DC Converter is powered by the high voltage traction battery to supply 12v and up to 100A for low-voltage automotive components and 12 battery maintenance, equivalent to an alternator  or generator. Direct control of the converter is simple, only one 12v wire connected to Pin#1 of connector &amp;quot;C5&amp;quot; is necessary to activate it, but a second input can be added at Pin#4, to enhance control.&lt;br /&gt;
&lt;br /&gt;
All 6-pin connectors are Yazaki 7283-7062-40, including the resolver connections on the transaxle.&lt;br /&gt;
&lt;br /&gt;
The 6-pin &amp;quot;C5&amp;quot; connector terminal positions and harness-side colors:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pin # !! Designation !! Description !! Wire Color&lt;br /&gt;
|-&lt;br /&gt;
|1||IGCT|| 12v+ || Blue&lt;br /&gt;
|-&lt;br /&gt;
|2||ID1|| Not Needed || Purple&lt;br /&gt;
|-&lt;br /&gt;
|3||S||B+ (opt)|| White&lt;br /&gt;
|-&lt;br /&gt;
|4||NODD|| 0-5v+ ||Ppl/Gld&lt;br /&gt;
|-&lt;br /&gt;
|5||VLO||Not Needed||Blue&lt;br /&gt;
|-&lt;br /&gt;
|6|||| ||Vacant&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The case of the inverter must be vehicle ground (12v battery negative terminal), just as an alternator or generator would be.&lt;br /&gt;
&lt;br /&gt;
With the HV bus energized and switched 12v applied to Pin#1 of &amp;quot;C5&amp;quot;, the DC-DC will produce 13.2-15.2 Vdc on the large C6 single-conductor connector nearby, which is equivalent to a 12v alternator/generator positive terminal.  Depending on voltage applied to pin 4 (if used), output can be tailored; when grounded, it will act as a &amp;quot;KILL&amp;quot; input and DC-DC output will drop to zero. No base load is required to produce voltage.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Note:&amp;lt;/u&amp;gt;&#039;&#039;&#039; The output at C6 (large grey connector) is not internally fused and not disabled unless power to Pin#1 of C5 is off, or Pin#4 is grounded, but the DC-DC converter can only produce output when the HV bus is energized.&lt;br /&gt;
&lt;br /&gt;
Note on Limitations - The DC-DC system is not designed to charge up a low 12v battery and certainly not one that&#039;s completely dead, doing so can damage the inverter/converter.  Pin#1 can be tied directly to the same ignition switch signal as the control board receives as this circuit draws only about 6.3mA.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inverter Cooling ==&lt;br /&gt;
&lt;br /&gt;
The inverter is liquid cooled, coolant enters at the front and exits the rear of the inverter housing from the o-ring port connected to the Hybrid Synergy Drive (HSD) cooling system reservoir.  Some type of circulating pump and radiator are needed to use Toyota inverters, many compact options are available.&lt;br /&gt;
&lt;br /&gt;
== Wiring ==&lt;br /&gt;
Details on connectors and terminals have been posted on the IH8MUD website: https://www.ih8mud.com/tech/WireHarnessRepairParts.php  &lt;br /&gt;
&lt;br /&gt;
Alternatively, the Toyota wire repair book can be found here: https://www.toyota-tech.eu/wire_harness_rm/RM06H0E.pdf&lt;br /&gt;
&lt;br /&gt;
Please use either or both of the above to identify the connector and terminal numbers needed for your project.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Connector&lt;br /&gt;
!Male&lt;br /&gt;
!Female&lt;br /&gt;
|-&lt;br /&gt;
|C5&lt;br /&gt;
|90980-10988&lt;br /&gt;
|90980-10987&lt;br /&gt;
|-&lt;br /&gt;
|B+ (DC-DC output)&lt;br /&gt;
|&lt;br /&gt;
|90980-11963&lt;br /&gt;
|-&lt;br /&gt;
|32-pin connector&lt;br /&gt;
|&lt;br /&gt;
|TE 1318747-1 (&amp;amp; 1123343-1 for pins)&lt;br /&gt;
|-&lt;br /&gt;
|28-pin connector (on inverter logic board)&lt;br /&gt;
|&lt;br /&gt;
|TE 1565380-1 (&amp;amp; 1123343-1 for pins)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Charging ==&lt;br /&gt;
The gen 2 can only charge in buck mode. So maximum charge voltage is limited to the rectified AC input. E.G. From a 230 VAC source the inverter can only charge up to around 320VDC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Relevant Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Charge mode:Buck&lt;br /&gt;
&lt;br /&gt;
Chargecur: 1.5&lt;br /&gt;
&lt;br /&gt;
Chargekp 20&lt;br /&gt;
&lt;br /&gt;
Chargeki: 10&lt;br /&gt;
&lt;br /&gt;
Chargeflt 2 dig&lt;br /&gt;
&lt;br /&gt;
Charge pwmmin: 10	(Change this to get equivalent to min battery voltage.)&lt;br /&gt;
&lt;br /&gt;
udcswbuck: x (HV bus voltage at which point Ground signal is used to control AC and HV battery relays)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Relevant Pins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* CSDN (pin 29 on inverter) &lt;br /&gt;
** Shuts down high and low IGBTs when fed 12v, via 470R&lt;br /&gt;
** When CSDN is HIGH both IGBTs are OFF.&lt;br /&gt;
* CPWM(pin 31 on control board, 13 on inverter)&lt;br /&gt;
** Enables charge mode when fed 12v via 470R&lt;br /&gt;
** When CPWM is HIGH, the LOW side IGBT is on(shorts out battery), when CPWM is LOW the HIGH side IGBT is on.&lt;br /&gt;
* Forward and reverse (11 and 12 on control board)&lt;br /&gt;
** Both must be high to enable charging&lt;br /&gt;
* DCSW switch(15 in control board)&lt;br /&gt;
** Controls DC relay switch.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Physical setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 240v AC plugs into two MG1 phases, with a precharge resistor always on.&lt;br /&gt;
** Relay controlled by DCSW pin connected to ground side of relay signal wires.&lt;br /&gt;
* HV Battery connected with precharge resistor&lt;br /&gt;
** Relay controlled from DCSW pin connect to ground side of relay wires.&lt;br /&gt;
* CPWM to 12v via 470R resistor. Pulled high to when you want to charge&lt;br /&gt;
* CSDN pin to 12v via 470R resistor. Pulled high to when you want to charge&lt;br /&gt;
** CSDN pin also tied to DCSW signal pin, which pulls it down when precharge is complete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Process&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Fwd and reverse signals high, relays open&lt;br /&gt;
# CPWM and CSDN pulled high via 470R .&lt;br /&gt;
# Connect AC input voltage with precharge&lt;br /&gt;
## DCSW will then close relays and pull down CSDN pin to activate charging.&lt;br /&gt;
# Activate buck on charger. (By manual web interface or does just having FWD and Reverse high activate this?&lt;br /&gt;
# To stop, can change chargecur to 0 or switch off inverter power.&lt;br /&gt;
&lt;br /&gt;
== Offgrid AC Use ==&lt;br /&gt;
&lt;br /&gt;
There has been moderate success using the Prius Gen 2 inverter to generate AC outlet voltages for offgrid use.&lt;br /&gt;
&lt;br /&gt;
See: https://openinverter.org/forum/viewtopic.php?p=22886&lt;br /&gt;
&lt;br /&gt;
See: https://github.com/jsphuebner/stm32-island&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Toyota]] [[Category:Inverter]]&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Toyota_Prius_Gen3_Board&amp;diff=3353</id>
		<title>Toyota Prius Gen3 Board</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Toyota_Prius_Gen3_Board&amp;diff=3353"/>
		<updated>2023-02-22T03:59:13Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: Added links to video URL&amp;#039;s I didn&amp;#039;t add with the prior change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Prius Gen3 Inverter Control v2.jpg|thumb|Prius Gen3 Control Board v2]]&lt;br /&gt;
&lt;br /&gt;
The Toyota Prius Gen3 Board is an open source project to repurpose 2010-2015 Toyota Prius inverters for DIY EV use. &lt;br /&gt;
&lt;br /&gt;
It consists of a open inverter circuit board and programming which replaces the OEM logic board in the prius inverter.&lt;br /&gt;
&lt;br /&gt;
This allows independent control of mg1 power stage, mg2 power stage, buck/boost converter and the dc/dc converter. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;Note that there is also a [[Toyota Prius Gen2 Inverter]] for the 2004-2009 model years.&lt;br /&gt;
&lt;br /&gt;
== Prius Inverter ==&lt;br /&gt;
The Toyota Prius is a hybrid vehicle. Their inverters are suitable and attractive for DIY EVs because of:&lt;br /&gt;
* Large part availability. Priuses (a.k.a. Prii) have been made in large numbers for 20 years.&lt;br /&gt;
* High affordability. Prius inverters are available for around $150 from scrapyards&lt;br /&gt;
* Durability. Toyota engineers appear to have made the inverters foolproof, many inputs and outputs gracefully handle fault conditions.&lt;br /&gt;
* Respectable performance. Rated for 50kW output, but tested to handle 600v, and 500+A on MG2. (MG1 unknown, Gen2 had 70% of MG2 on MG1).&lt;br /&gt;
* Ease of repurposing. Emulating the original ECU seems reasonably feasible.&lt;br /&gt;
&lt;br /&gt;
The Gen3 Prius (2010-2015 model years) has a variety of useful components inside the inverter package:&lt;br /&gt;
* 2 high power inverters, for the 2 motors MG1 (starter) capable of handling 250 amps, and MG2 (drive motor) capable of handling 350 amps.&lt;br /&gt;
* A DC-DC converter to provide 12v power supply to the automotive systems and accessories.&lt;br /&gt;
* A boost module to boost the 200v battery pack up to 500v, which looks to be able to function as a battery charger (wish list for future development)&lt;br /&gt;
* See this video for a thorough disassembly and explanation of the Gen2 Inverter and Converter HV System Design: https://www.youtube.com/watch?v=Y7Vm-C4MsW8&lt;br /&gt;
* See these videos for a teardown, disassembly and explanation of the Gen3 Inverter: https://www.youtube.com/watch?v=Pw3JqkI6VO4 (Teardown)  https://youtu.be/QBoRSXIwZQs (Regarding p0a94 error code for DC-DC Converter Performance)&lt;br /&gt;
&lt;br /&gt;
== Control Board ==&lt;br /&gt;
&lt;br /&gt;
The current version as of Jan 20, 2020 is v2.&lt;br /&gt;
&lt;br /&gt;
As designed by Damien Maguire, the open source hardware for the control board can be purchased from his website: &lt;br /&gt;
&lt;br /&gt;
[https://www.evbmw.com/index.php/evbmw-webshop/toyota-built-and-tested-boards Toyota Boards]&lt;br /&gt;
&lt;br /&gt;
The control board is a physical replacement for the OEM Prius Gen3 inverter logic board inside the inverter. Remove the old one and replace it with the new one.&lt;br /&gt;
&lt;br /&gt;
== Development History ==&lt;br /&gt;
&lt;br /&gt;
V1 - This board was sold tested but also as a bare logic board requiring purchase of your own components and SMD placement and soldering skills. &lt;br /&gt;
&lt;br /&gt;
V2 - A new board source was found to be both high quality and low cost. The boards were redesigned around the inventory of parts available from this supplier. In particular the high cost of populated and soldered boards (10x the price) from the source used to make the v1 boards is so significantly lower on the v2 that there are likely no savings by building and soldering the board yourself. The circuit now has hardware to support repurposing the MG1 inverter as a battery charger, though as of Jan 20, 2020, software is still in development.&lt;br /&gt;
&lt;br /&gt;
v1c - this board uses mg2 power stage for motor control, and mg1 +buck/boost converter as a battery charger, or parallel connection of MG1 and MG2 to give more amps to a single motor.&lt;br /&gt;
&lt;br /&gt;
v1d - this board allows to use mg1 and mg2 power stages for dual motor control &lt;br /&gt;
&lt;br /&gt;
== Vendors ==&lt;br /&gt;
&lt;br /&gt;
 [https://www.evbmw.com/index.php/evbmw-webshop EVBMW Webshop]&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
&lt;br /&gt;
Community support is available on the [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=488 Prius Gen 3 Inverter Logic Board Support Thread]&lt;br /&gt;
&lt;br /&gt;
You are not entitled to support, purchase from a vendor who offers support if you want it guaranteed. Treat the community with respect.&lt;br /&gt;
&lt;br /&gt;
== Inverter Model Numbers ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Inverter No || Car model(s) || Logic Board No || Power Board No || Compatible 50 pin connector || PCB size || Confirmed works with board || Link&lt;br /&gt;
|-&lt;br /&gt;
| G9200-33171 || Camry (RHD, unknown year) || || || || || || &lt;br /&gt;
|-&lt;br /&gt;
| G9200-47141 || Auris 2012, RHD&amp;lt;br/&amp;gt;Prius (RHD, unknown year, Gen3) || || || || || || &lt;br /&gt;
|-&lt;br /&gt;
|G9200-47140&lt;br /&gt;
|Prius 2010&lt;br /&gt;
|F1759-47041 01&lt;br /&gt;
|&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47162&lt;br /&gt;
|Prius + &lt;br /&gt;
|F1759-47041 01&lt;br /&gt;
|F1789-47090&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| G9200-47180  || || || || || || || [https://www.diyelectriccar.com/forums/showpost.php?p=1026169&amp;amp;postcount=8 Photo diyelectriccar.com]&lt;br /&gt;
|-&lt;br /&gt;
| G9200-47190 || Auris 2017 || F1759-47070 05 || F1789-52010&lt;br /&gt;
|| ? || || || [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=51&amp;amp;start=270#p5661 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47210&lt;br /&gt;
|Prius 2012&lt;br /&gt;
|F1759-47070 05&lt;br /&gt;
|&lt;br /&gt;
|YES&lt;br /&gt;
|154x143mm&lt;br /&gt;
|Yes&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?p=16539#p16539&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47220&lt;br /&gt;
|Prius 2014&lt;br /&gt;
|F1759-47070 05&lt;br /&gt;
|&lt;br /&gt;
|YES&lt;br /&gt;
|154x143mm&lt;br /&gt;
|Yes&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?p=21384#p21384&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47230&lt;br /&gt;
|Prius 2015&lt;br /&gt;
|&lt;br /&gt;
|F1789-52010&lt;br /&gt;
|Yes&lt;br /&gt;
|154x143mm&lt;br /&gt;
|&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?p=29248#p29248&lt;br /&gt;
|-&lt;br /&gt;
|G9200-52010||Yaris&lt;br /&gt;
Prius C&lt;br /&gt;
||F1759-52010 04||F1789-52010|| ||154x143mm||&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=257&amp;amp;p=5828#p5828&lt;br /&gt;
|-&lt;br /&gt;
|G9200-52031&lt;br /&gt;
|Yaris 2016&lt;br /&gt;
|F1759-52010 04&lt;br /&gt;
|F1789-52010&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| G9200-52032 || Yaris 2015 || F1759-52010 04 || F1789-52010 || YES || Long 143mm || || [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=439#p5058 Forum Thread openinverter.com] [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=51&amp;amp;start=270#p5669 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
| G9201-52011 || Yaris || || || YES|||||| [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=439#p5681 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
| G9201-52012 || Prius C || F1759-52010 || F1789-52010 || YES (presumably) |||||| [https://openinverter.org/forum/viewtopic.php?p=6979#p6979 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
|G9200-52030&lt;br /&gt;
|Prius C (a.k.a. Prius Aqua)&lt;br /&gt;
|F1759-52010 04&lt;br /&gt;
|F1789-52010&lt;br /&gt;
|&lt;br /&gt;
|154mm long&lt;br /&gt;
|&lt;br /&gt;
|[https://openinverter.org/forum/viewtopic.php?f=11&amp;amp;t=999&amp;amp;p=16434#p16434 Forum Thread openinverter.com]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kit Assembly Instructions (V1C) ==&lt;br /&gt;
[[File:Prius3-ldo2.jpg|thumb|Extra voltage regulator on Prius Gen3 board]]&lt;br /&gt;
This guide is for the assembly of version V1C of the Gen 3 board available here: https://www.evbmw.com/index.php/evbmw-webshop/toyota-built-and-tested-boards/prius-gen-3-inverter-built-tested&lt;br /&gt;
&lt;br /&gt;
This is based on the assembly videos by Damien Maguire. &lt;br /&gt;
&lt;br /&gt;
Part 1: https://www.youtube.com/watch?v=QE-zym8iIgM&amp;amp;t=2643s &lt;br /&gt;
&lt;br /&gt;
Part 2: https://www.youtube.com/watch?v=Nu5_OBOPk4s&amp;amp;t=1787s&lt;br /&gt;
&lt;br /&gt;
=== LDO strengthening ===&lt;br /&gt;
The stock 3V3 LDO (3.3V linear voltage regulator) does not provide sufficient current for both the STM32(s) and wifi module(s). Therefor the wifi module needs a distinct regulator.&lt;br /&gt;
&lt;br /&gt;
TODO: does this also affect the latest revision boards?&lt;br /&gt;
&lt;br /&gt;
=== Early Board Correction, pre July 2020 ===&lt;br /&gt;
The first batch of JLCPCB boards shipped have an incorrect resistor value that needs to be changed over. Boards &#039;&#039;shipped after Jun 26, 2020&#039;&#039; will not need to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:Power supply.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Resistor labeled R101 (labeled &#039;1002&#039;) needs swapping for a 8k2 (0805 package) resistor. &lt;br /&gt;
[[File:20200629 155303.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Motor Temperature Sensor correction. ===&lt;br /&gt;
Boards currently have an error with the temperature sensor circuit. R14 is supposed to be in parallel with C11 to form the voltage divider. One workaround would be to put a 1k resistor from one of the pads to ground. this can be done externally if you&#039;d rather not modify the board, put a 1k ohm resistor from MG2_STATOR_T2 to a ground pin. Then connector the temperature sensor from MG2_STATOR_T1 to MG2_STATOR_T2 as normal. &lt;br /&gt;
 &lt;br /&gt;
This is a current issue on the boards. A new revision is not yet available. &lt;br /&gt;
[[File:Screenshot 2021-08-13 at 8.50.56 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Wifi Module Correction ===&lt;br /&gt;
The capacitor may need increasing to 10uF deal with noise. The table below shows which boards need updating and which capacitor(s) to update.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Board Version&lt;br /&gt;
!Cap(s) needs updating?&lt;br /&gt;
!Cap(s) to update&lt;br /&gt;
|-&lt;br /&gt;
|Single motor, large board (v1b)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C48&lt;br /&gt;
|-&lt;br /&gt;
|Single motor, small board (v1c)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C49&lt;br /&gt;
|-&lt;br /&gt;
|Single motor, small board (v1c, block 3)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C49&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, small board (v1d)&lt;br /&gt;
|No&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, large board (v1d)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C58 and C86&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, large board (v1d, block 3)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C58 and C86&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, large board (v1d, block 4)&lt;br /&gt;
|No&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
[[File:Screenshot 2021-08-23 at 1.07.32 pm.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== DC-DC Startup Delay (V1c &amp;amp; V1d) ===&lt;br /&gt;
These revision boards will start up the DC-DC converter during pre-charge, if you&#039;ve soldered the jumper. This will mean the current for the DC-DC will be drawn during pre-charge, potentially preventing the main contactor closing.&lt;br /&gt;
&lt;br /&gt;
See https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=1039 for more details.&lt;br /&gt;
&lt;br /&gt;
=== Soldering The Breakout Board ===&lt;br /&gt;
Solder the Ampseal socket to the the breakout board, the silk-screen indicates side and orientation fitment.&lt;br /&gt;
&lt;br /&gt;
[[File:20200605 174452.jpg|thumb|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
Next flip it over and solder the 34 way IDC locking header on, notch upwards as show.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Some versions of the breakout board have and error in the silk-screen that indicate orientation incorrectly, with the notch towards the bottom.&#039;&#039;&lt;br /&gt;
[[File:20200606 130213.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Soldering the Main Board ===&lt;br /&gt;
The main board is mostly pretty easy to solder, the one exception is the 50 way white connector. I found that putting flux on the pads and dragging solder across them, placing the connector in place and then placing the iron on the pins was the easiest. &lt;br /&gt;
&lt;br /&gt;
Also easiest is to start with this connector, whilst the most complicated, starting with an unpopulated board allows easier access to it as the following connectors are largely around this one. &lt;br /&gt;
[[File:20200619 175629.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending on the kit and time you received it due to chip shortages, you might have IC12 and IC14 unpopulated and need to solder them on. &lt;br /&gt;
&lt;br /&gt;
Each chip&#039;s &#039;pin one&#039; has a small notch to indicate it and this matches the line and IC12 /IC14 silk screen on the board. &lt;br /&gt;
&lt;br /&gt;
Again these are easier to get out of the way before the connectors are positioned.&lt;br /&gt;
[[File:Toyota-gen-3-board---IC12.jpg|none|thumb]]&lt;br /&gt;
[[File:Toyota-gen-3-board---IC14.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next up I did conn 1, it can only go one way, and is a piece of cake after the 50 way connector.&lt;br /&gt;
[[File:20200605 174924.jpg|none|thumb]]&lt;br /&gt;
And Conn8, again easy.&lt;br /&gt;
[[File:20200605 175047.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Next the DCDC convert connector, again only fits one way.&lt;br /&gt;
[[File:20200605 175849.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
MG1 and MG2 Current sensor Connectors, both these are the same, the tabs on both MG1 and MG2 are at the top. &lt;br /&gt;
&lt;br /&gt;
Ignore the &#039;Notch&#039; on the board it needs to face outwards to the edge of the board, you&#039;ll also need to turn the sensor cables 180 deg to fit when installing the board. &lt;br /&gt;
[[File:20200605 181654.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Next up the L2 inductor, it can go either way&lt;br /&gt;
[[File:20200605_182754.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Next up I did the right angled pins for the wifi module, stick the pins in the module connector and then through the board, hold it in place and flip it over.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; This is how &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;not&#039;&#039;&#039;&#039; to mount the right angle connector. The black plastic should be perpendicular to the board and is used to limit the Olimex WifI Board connector.&lt;br /&gt;
[[File:Toyota-gen-3-board---right angled pins.jpg|none|thumb]]&lt;br /&gt;
Cut 2 lengths of 3 pins from the header pin strips for the ISP header for programming the Atmega328P that will be used ton control the buck-boost converter.[[File:20200605 183933.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
To enable the DCDC converter for I&#039;ve bridged over the 2 pin holes, but you can add a switch or something here, or leave it open if you&#039;re not using the DCDC to keep the 12v battery charged.&lt;br /&gt;
&lt;br /&gt;
See note above for &#039;&#039;&#039;V1C and V1D boards&#039;&#039;&#039;&lt;br /&gt;
[[File:20200605 184633.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Pin header for Alegro current sensor, currently no software exists to control the buck boost, hopefully in the future this will be able to be used as a charger, this pin header is for the possible addition of a current sensor to facilitate.&lt;br /&gt;
[[File:20200605_185543.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Three options exist on the board for flashing the firmware to the STM32.&lt;br /&gt;
&lt;br /&gt;
If you plan on programming your board with a TC2050 JTAG &amp;lt;ref&amp;gt;https://www.tag-connect.com/product/tc2050-idc-nl-050 (Backup: [https://web.archive.org/web/20220123084231/https://www.tag-connect.com/product/tc2050-idc-nl-050 Web Archive])&amp;lt;/ref&amp;gt; then obviously skip the next step.&lt;br /&gt;
&lt;br /&gt;
Solder a 3 pin headers for single wire program interface, or a 6 pin header for FTDI interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The photo below shows both headers populated, however you don&#039;t necessarily need both.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:20200605 185557.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Last up is the 34-way ICD interlock connector for the breakout board. Notch outward.&lt;br /&gt;
[[File:20200609 094633.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Powering up ===&lt;br /&gt;
Now it&#039;s time to power up the board with 12v and test.&lt;br /&gt;
&lt;br /&gt;
Green wire is +12v (pin 1) and blue 0v (pin 11)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; When Idle, board consumes about 1.7 - 1.8A of current. When PWM starts, current consumption goes up to ~2A.&lt;br /&gt;
[[File:20200608 125857.jpg|none|thumb]]&lt;br /&gt;
[[File:Screenshot 2020-06-07 at 1.32.12 pm.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Checking voltages ===&lt;br /&gt;
&lt;br /&gt;
Check for ~3.3v here on C32&lt;br /&gt;
[[File:20200608 124947.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Check for ~5v here on C21/C20/C22/C25&lt;br /&gt;
[[File:20200607 134336.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Check for -5v here on the little via next to CONN7 or right next to CONN2 there&#039;s a via with -5V under it.&lt;br /&gt;
[[File:20200608 125110.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Finally the 26v &lt;br /&gt;
[[File:20200608 125053.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
Full kits will be supplied programmed and partial kits will be un-programmed.&lt;br /&gt;
&lt;br /&gt;
=== Wifi Module Firmware ===&lt;br /&gt;
&amp;lt;u&amp;gt;The WiFi module supplied as part of a kit will have the default SSID of &#039;&#039;&#039;&#039;&#039;inverter&#039;&#039;&#039;&#039;&#039; and a password of &#039;&#039;&#039;&#039;&#039;inverter123&#039;&#039;&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
My wifi module came with the firmware already installed, but if yours didn&#039;t follow the outline steps below. You will need a 3.3v USB to Serial adaptor.  &lt;br /&gt;
# Download the software from https://github.com/jsphuebner/esp8266-web-interface &lt;br /&gt;
#  Install the Arduino core from https://github.com/esp8266/Arduino (Arduino IDE, Platform.IO etc supported)&lt;br /&gt;
#  Write code to ESP8266&lt;br /&gt;
#  Write filesystem to ESP8266&lt;br /&gt;
&lt;br /&gt;
Step by Step using Arduino IDE&lt;br /&gt;
# Add https://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board &lt;br /&gt;
# Go to Boards -&amp;gt; Board Manager and install ESP8266&lt;br /&gt;
# Extract the esp8266-web-interface software to your Arduino projects directory&lt;br /&gt;
# Create a new folder named data&lt;br /&gt;
# Move all files except FSBrowser.ino to the data folder.&lt;br /&gt;
# Choose Olimex MOD-WIFI-ESP8266 as the board&lt;br /&gt;
# Upload the code using the Arduino IDE&lt;br /&gt;
# Use &#039;ESP8266 Sketch Data Upload&#039; from the Tools menu, this will upload the files in the data directory to the ESP8266&lt;br /&gt;
&lt;br /&gt;
=== Programming Firmware ===&lt;br /&gt;
There are three different interfaces that are possible to program the firmware.&lt;br /&gt;
&lt;br /&gt;
Below are instructions for using the single wire programming interface with the USB STLink V2&amp;lt;ref&amp;gt;https://www.st.com/en/development-tools/st-link-v2.html (Backup: [https://web.archive.org/web/20220708173838/https://www.st.com/en/development-tools/st-link-v2.html Web Archive])&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Connect the 3 wire pin headers to the programming device.&lt;br /&gt;
[[File:Swp.jpg|none|thumb]]&lt;br /&gt;
[[File:S-l1600.jpg|none|thumb]]&lt;br /&gt;
The pin labeled &#039;&#039;DAT&#039;&#039; on the board should connect to &#039;&#039;SWDIO&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The middle pin of the 3 pins on the board should go to &#039;&#039;GND&#039;&#039; on the STLink V2&lt;br /&gt;
&lt;br /&gt;
The pin labeled &#039;&#039;CLK&#039;&#039; on the board should connect to &#039;&#039;SWCLK&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will also need to hook up power to the board. You can connect the 5V output of the STLink to the 5V pin of the FTDI header. This is the third pin from the left, where pin 1 is just below the letters BLK on the board.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using a Mac or Linux&#039;&#039;&#039; install https://github.com/stlink-org/stlink&lt;br /&gt;
&lt;br /&gt;
The bootloader can be found here: https://github.com/jsphuebner/tumanako-inverter-fw-bootloader/releases&lt;br /&gt;
&lt;br /&gt;
Run command to write the bootloader&amp;lt;blockquote&amp;gt;st-flash write stm32_loader.bin 0x08000000&amp;lt;/blockquote&amp;gt;&#039;&#039;&#039;For Windows&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Grab the custom bootloader (the .bin file) from https://github.com/jsphuebner/tumanako-inverter-fw-bootloader/releases&lt;br /&gt;
&lt;br /&gt;
Install the ST Link software from here: https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html&lt;br /&gt;
&lt;br /&gt;
Run the software then select Target&amp;gt;Connect and then Target&amp;gt;Settings to check that your USB device is connected and that the settings look as follows:&lt;br /&gt;
[[File:ST Link Software Settings.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Select File&amp;gt;Open and choose the bootloader from its download location. Then select Target&amp;gt;Program &amp;amp; Verify and you should see this:&lt;br /&gt;
[[File:Programming bootloader with ST Link software.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Once the bootloader has been programmed the main firmware can be uploaded and upgraded via the [[web interface]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The main firmware can be found here: https://github.com/jsphuebner/stm32-sine/releases&lt;br /&gt;
&lt;br /&gt;
A wifi network should be visible with the name &#039;&#039;ESP-*&#039;&#039; connect to it&lt;br /&gt;
[[File:Screenshot 2020-06-20 at 8.33.04 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Once connected open a browser and navigate to http://192.168.4.1 and find the update section, upload the firmware.&lt;br /&gt;
[[File:Screenshot 2020-06-20 at 8.28.53 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Once this has completed you can verify by scrolling to the Spot Values section and you&#039;ll see the software version&lt;br /&gt;
[[File:Screenshot 2020-06-20 at 8.39.58 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Atmega328p Firmware ===&lt;br /&gt;
&#039;&#039;&#039;Be super careful never to program the Atmega while high voltage is applied and caps are not discharged. When cycling through the boot loader, it seems to do something strange that will blow up the otherwise bullet proof buck/boost converter! Also be aware that Arduino also cycles through the boot loader when closing the serial terminal!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will control the Buck Boost module that&#039;s hopefully going to be a functioning charger in the future, it also requires a simple bit of firmware to enable the DC-DC converter.&lt;br /&gt;
&lt;br /&gt;
[Add instructions for firmware]&lt;br /&gt;
&lt;br /&gt;
== Inverter Parameters ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Parameter&lt;br /&gt;
!Suggested Value&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|pwmfrq&lt;br /&gt;
|2&lt;br /&gt;
|PWM frequency. 0=17.6kHz, 1=8.8kHz, &#039;&#039;&#039;2=4.4kHz&#039;&#039;&#039;, 3=2.2kHz. Needs PWM restart&lt;br /&gt;
|-&lt;br /&gt;
|pwmpol&lt;br /&gt;
|0 - Active High&lt;br /&gt;
|DO NOT PLAY WITH THIS!&lt;br /&gt;
|-&lt;br /&gt;
|deadtime&lt;br /&gt;
|130&lt;br /&gt;
|Deadtime between highside and lowside pulse. 28=800ns, 56=1.5µs. Not always linear, consult STM32 manual. Needs PWM restart&lt;br /&gt;
|-&lt;br /&gt;
|il1gain&lt;br /&gt;
|4.56&lt;br /&gt;
|Digits per A of current sensor L1&lt;br /&gt;
|-&lt;br /&gt;
|il2gain&lt;br /&gt;
|4.5&lt;br /&gt;
|Digits per A of current sensor L2&lt;br /&gt;
|-&lt;br /&gt;
|udcgain&lt;br /&gt;
|5&lt;br /&gt;
|Digits per V of DC link&lt;br /&gt;
|-&lt;br /&gt;
|udcofs&lt;br /&gt;
|0&lt;br /&gt;
|DC link 0V offset&lt;br /&gt;
|-&lt;br /&gt;
|udclim&lt;br /&gt;
|540&lt;br /&gt;
|High voltage at which the PWM is shut down&lt;br /&gt;
|-&lt;br /&gt;
|snshs&lt;br /&gt;
|1&lt;br /&gt;
|Heatsink temperature sensor. 0=JCurve, &#039;&#039;&#039;1=Semikron&#039;&#039;&#039;, 2=MBB600, 3=KTY81, 4=PT1000, 5=NTCK45+2k2, 6=Leaf&lt;br /&gt;
|-&lt;br /&gt;
|pinswap&lt;br /&gt;
|8&lt;br /&gt;
|0=None, 1=Currents12, 2=SinCos, 4=PWMOutput13, &#039;&#039;&#039;8=PWMOutput23&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
[[Parameters]] Details&lt;br /&gt;
&lt;br /&gt;
== First Run (PWM verify) ==&lt;br /&gt;
Once your board in installed in the inverter and all the internal connectors are connected you can power up the inverter with 12v as above. No need to have anything connected to the HV battery or MG1 or MG2. You&#039;ll hear an audible wine. We&#039;re first going to verify the PWM outputs on the board and then connecting up a motor.&lt;br /&gt;
&lt;br /&gt;
Connect pin 3, MG2_FORW_IN to 12v&lt;br /&gt;
&lt;br /&gt;
Navigate to the [[Web Interface]]&lt;br /&gt;
&lt;br /&gt;
Change the parameter  encmode to &#039;AB&#039; as at the moment we don&#039;t have any sensors connected. Set udcmin to 0 to disable precharge.&lt;br /&gt;
&lt;br /&gt;
Start the inverter in manual mode with the button&lt;br /&gt;
[[File:Screenshot 2020-07-06 at 1.21.04 pm.png|thumb|alt=|none]]    &lt;br /&gt;
&lt;br /&gt;
Now set the 2 testing parameters, fslipsnpnt and ampnom to 1. &lt;br /&gt;
[[File:Screenshot 2020-07-06 at 1.21.13 pm.png|none|thumb]] &lt;br /&gt;
&lt;br /&gt;
Using a scope, look for a PWM signal on MG2 A/B/C Hi/Low on the 50 pin connector. R74 through R79 can be used as test points for the PWM signal - these are located next to the 50 pin connector as shown in the image below. &lt;br /&gt;
[[File:51872869539 19178b9a51 o.jpg|alt=Partial shot of the 50 pin connector showing the location of the resistors which can be used as test points to check for the PWM signal on MG2 A/B/C Hi / Low. |none|thumb]]&lt;br /&gt;
Stop the inverter &lt;br /&gt;
&lt;br /&gt;
== First Run (Open loop motor spin) ==&lt;br /&gt;
&lt;br /&gt;
Now connect up the 3 motor phases and a small voltage of around 30v to the HV, I manually pre-charged with a 50w 10ohm resistor for a couple of seconds, the supply needs to be able to supply 10 amps or so. I also had a 20 amp fuse inline.&lt;br /&gt;
&lt;br /&gt;
As above, start the inverter in manual mode, set ampnom to 100 and fslipsnpnt to 10, the motor should start to spin.&lt;br /&gt;
&lt;br /&gt;
You may have [[Errors]] to address if this doesn&#039;t happen.&lt;br /&gt;
&lt;br /&gt;
== DC-DC Converter ==&lt;br /&gt;
The inverter contains a DC DC converter, that is used to keep the 12v battery charged using the high voltage battery. This is the EV equivalent to the alternator on a combustion engined car.&lt;br /&gt;
&lt;br /&gt;
As per the assembly instructions above this needs to be enabled via the jumper on the control board.&lt;br /&gt;
&lt;br /&gt;
In the unmodified state, the DC DC converter will operate with a main battery voltage in the ~80v to ~235v range and will require a simple modification to allow it to operate at higher voltage range, ~140v to ~400v.&lt;br /&gt;
&lt;br /&gt;
There&#039;s a couple of options for the DC DC converter. If you aren&#039;t planning on using the inverter as a charger and don&#039;t want to change the resistors you can use the buck boost module to step down the battery voltage to within the DC DC range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unmodified DC DC Resistors, using Buck Boost to step down.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Connect your battery to the inverter as shown below, with pre charge and fuses etc.[[File:20200705 190723.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can use the following sketch on the atmega328p&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Runs atmega328p buck/boost control on Prius Gen 3 and Yaris/Auris inverters in buck mode to drop Main HV down for DCDC converter.&lt;br /&gt;
Experimental code. Only tested on the bench! Use at your own risk!&lt;br /&gt;
D.Maguire&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;Metro.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int HVLow = 0;        // voltage on low side of converter&lt;br /&gt;
int HVHi = 0;        // voltage on high side of converter&lt;br /&gt;
int SetV = 0;       //set point voltage&lt;br /&gt;
int PWMDuty = 0;    //pwm duty cycle&lt;br /&gt;
&lt;br /&gt;
Metro timer_pwm=Metro(5); &lt;br /&gt;
Metro timer_serial=Metro(200);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);//&lt;br /&gt;
  TCCR1B = TCCR1B &amp;amp; B11111000 | B00000010;    // set timer 1 divisor to  8 for PWM frequency of  3921.16 Hz&lt;br /&gt;
  pinMode(9, OUTPUT); //boost low side&lt;br /&gt;
  pinMode(10, OUTPUT); //boost Hi side&lt;br /&gt;
  analogWrite(9,0); //low side off&lt;br /&gt;
  analogWrite(10,0); //High side off&lt;br /&gt;
  SetV=210;  //set at 210v to run dcdc&lt;br /&gt;
  PWMDuty=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// the loop function runs over and over again forever&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
    HVLow = (analogRead(A0)/1.85)-43; //-43 needed for Lexus CT200h variant. Remove for Prius / Auris.&lt;br /&gt;
    HVHi = (analogRead(A1)*1.25);&lt;br /&gt;
    &lt;br /&gt;
    updatePWM();  //call pwm update routine.&lt;br /&gt;
    serialOUT();  //call serial out routine&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void serialOUT()&lt;br /&gt;
{&lt;br /&gt;
  if(timer_serial.check()){&lt;br /&gt;
  Serial.print(&amp;quot;Low Vbus = &amp;quot;);&lt;br /&gt;
  Serial.print(HVLow);&lt;br /&gt;
  Serial.print(&amp;quot;Volts&amp;quot;);&lt;br /&gt;
  Serial.print(&amp;quot;\t High Vbus = &amp;quot;);&lt;br /&gt;
  Serial.print(HVHi);&lt;br /&gt;
  Serial.print(&amp;quot;Volts&amp;quot;);&lt;br /&gt;
  Serial.print(&amp;quot;\t PWMDUTY = &amp;quot;);&lt;br /&gt;
  Serial.println(PWMDuty);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void updatePWM()&lt;br /&gt;
{&lt;br /&gt;
if(timer_pwm.check()){&lt;br /&gt;
  if(HVHi&amp;gt;300){  //if hv is above 300v start ramping up pwm and regulate to setpoint.&lt;br /&gt;
    if (HVLow&amp;lt;SetV) PWMDuty++;&lt;br /&gt;
    if (HVLow&amp;gt;SetV) PWMDuty--;&lt;br /&gt;
    if (PWMDuty&amp;lt;0)  PWMDuty=0;&lt;br /&gt;
    if (PWMDuty&amp;gt;250)  PWMDuty=250;&lt;br /&gt;
    analogWrite(10,PWMDuty);&lt;br /&gt;
  }&lt;br /&gt;
  if(HVHi&amp;lt;250)&lt;br /&gt;
  {&lt;br /&gt;
      PWMDuty--;;  //if hv is lower then 250v ramp down pwm&lt;br /&gt;
      if (PWMDuty&amp;lt;0)  PWMDuty=0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modified DC DC Resistors, using Buck Boost to bridge.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You must have modified the resistors in the inverter for this method to work. &lt;br /&gt;
&lt;br /&gt;
Connect your battery to the inverter as shown below, with pre charge and fuses etc.&lt;br /&gt;
&lt;br /&gt;
[[File:20200705 190723.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
The following sketch can use used on the atmega328p to internally bridge the buck boost module so that the full battery voltage reaches the DC DC converter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// I/O-PINS&lt;br /&gt;
const uint8_t boostLoDrivePIN = 9; // D9 (PB1)&lt;br /&gt;
const uint8_t boostHiDrivePIN = 10; // D10 (PB2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/********&lt;br /&gt;
* SETUP *&lt;br /&gt;
********/&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  pinMode(boostHiDrivePIN, OUTPUT);&lt;br /&gt;
  digitalWrite(boostHiDrivePIN, HIGH); // To set high drive ON&lt;br /&gt;
  &lt;br /&gt;
  pinMode(boostLoDrivePIN, OUTPUT);&lt;br /&gt;
  digitalWrite(boostLoDrivePIN, LOW); // To set low drive OFF&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*******&lt;br /&gt;
* LOOP *&lt;br /&gt;
*******/&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modified DC DC Resistors and using Buck Boost for charging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your battery will be connected to Charging HV + and HV - with contactors and precharge. You will also have another contactor that the atmega328p will control to externally bridge Charging HV+ and Driving HV+ this will externally bridge both sides of the buck boost module when in run mode so that the driving isn&#039;t limited by the buck boost module but during charging the contactor will open and the connection is severed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:20200705 190723 2.jpg|none|thumb]]The charing code for the atmega328p is here https://github.com/celeron55/prius3charger_buck, more details on charging is further down in the wiki.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modifying the DC DC converter resistors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The DC DC converter in unmodified state will startup at a little over 100v and shut down at around 240v, to use it with a higher voltage it needs to be modified by changing some smd resistors.&lt;br /&gt;
&lt;br /&gt;
See https://www.youtube.com/watch?v=Nu5_OBOPk4s&amp;amp;t=2s&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to remove the bottom cover of the inverter to expose the DC DC converter control board.&lt;br /&gt;
[[File:Screenshot 2021-01-06 at 6.51.47 pm.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
We need to replace 4 resistors on the top side of the board, these are R629, R627, R625, R623, currently 120k ohm, these will need replacing with  210k ohm&lt;br /&gt;
&lt;br /&gt;
(1%, 0.5W, 0805, Manufacturer part#: ERJP06F2103V Farnell #: 2326773 )&lt;br /&gt;
[[File:Screenshot 2021-01-06 at 6.56.26 pm.png|none|thumb]]&lt;br /&gt;
[[File:20210114 162937.jpg|none|thumb]]&lt;br /&gt;
These are the 4 resistors on the top.&lt;br /&gt;
[[File:20210114 172258.jpg|none|thumb]]&lt;br /&gt;
And Replace&lt;br /&gt;
[[File:20210114 174343.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
There&#039;s also 4 resistors to replace on the bottom, these are R630, R628, R626, R624, these also need to be 210k ohm.&lt;br /&gt;
[[File:Screenshot 2021-01-06 at 6.59.08 pm.png|none|thumb]]&lt;br /&gt;
[[File:20210114 172503.jpg|none|thumb]]&lt;br /&gt;
The bottom resistors are up next to the flexible cable, on the underside of the board, to access them, unscrew the 4 screws holding the board in place, unplug the black connector carefully lift the board upwards.&lt;br /&gt;
&lt;br /&gt;
Bare in mind the flexible cable is still attached and is soldered directly to the board. Flip it over.&lt;br /&gt;
[[File:20210114 172710.jpg|none|thumb]]&lt;br /&gt;
[[File:20210114 173552.jpg|none|thumb]]&lt;br /&gt;
Bottom side replaced. You can now place the board back in place, screw the 4 screws in and don&#039;t forget the black plug.&lt;br /&gt;
&lt;br /&gt;
Replace the bottom metal cover.&lt;br /&gt;
&lt;br /&gt;
== 12v Battery Connection ==&lt;br /&gt;
The 12v battery positive connects to this post, it&#039;ll output ~14v when the DC-DC is running to keep the battery charged, the negative terminal of the battery should be connected to the case of the inverter.[[File:20200705_190706.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== High Voltage Battery Connection ==&lt;br /&gt;
The HV battery connection is below, DO NOT directly connect the battery here. It needs to be connected via contactors and a pre-charge resistor. This connection point by-passes the buck/boost converter.&lt;br /&gt;
&lt;br /&gt;
[[File:20200705 190723.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
[Add details of pre-charge and contactor]&lt;br /&gt;
&lt;br /&gt;
== Motor Connection ==&lt;br /&gt;
If you are only using MG2 to power a motor, and not paralleling MG1 and MG2, connect your 3 phase wires from the motor to the outer 3 terminals.&lt;br /&gt;
&lt;br /&gt;
Some versions of this inverter have the U-V-W labels for the three phase wires stamped into the case and some do not. These are shown below in case you have a version of the inverter without them and need to connect to a motor other than the originial prius transaxle.&lt;br /&gt;
[[File:20200705 190657-2.jpg|alt=|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Parallel MG1 and MG2 on a single motor ==&lt;br /&gt;
MG1 and MG2 can be used in parallel for more power, to do so there&#039;s some solder jumpers on the board to use. Jumpers SJ1 to SJ6 need soldering across the little gap between them.&lt;br /&gt;
[[File:Screenshot 2021-08-20 at 9.17.02 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You then need to connect MG1 phase 1 to MG2 phase 1 and so on. This needs to be done before the the current sensors so that all the current goes through MG2 current sensors on the phase bars, otherwise the software cannot measure the current correctly.&lt;br /&gt;
[[File:1n9hto6.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== IDC Connector ==&lt;br /&gt;
If you are not using the AMPSeal daughterboard, you can connect directly to the 34 pin IDC connector on the EVBMW board. &lt;br /&gt;
&lt;br /&gt;
Connections are as follows:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Pin Number&lt;br /&gt;
|Label&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|12V_IN&lt;br /&gt;
|Provide with +12V supply from battery or power supply for testing&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|12V_IN&lt;br /&gt;
|Provide with +12V supply from battery or power supply for testing&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|MG2_FORW_IN&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|MG2_REVER_IN&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|MG2_START&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to start the inverter and move it from pre-charge to run mode. Typically connected to the momentary &#039;START&#039; position of your ignition switch.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|MG2_BRAKE_ON&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to inform the inverter that the car is under braking. Typically takes a feed from the brake switch that also turns on brake lights etc.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|CRUISE_IN&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to turn on cruise control mode. This sets the current motor speed as the set point for cruise control. Cruise control is disabled by a signal from the brake switch.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|VCC_5V&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+5V supply for temperature and throttle sensors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|MG2_ACCEL&lt;br /&gt;
|5V analogue input from first channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|MG2_BRAKE_TRANS&lt;br /&gt;
|5V analogue input from second channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return.&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|CAN_EXT_H&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|CAN_EXT_L&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|VCC_5V&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+5V supply for temperature and throttle sensors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|MG2_ENC_1&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the SIN winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|MG2_ENC_2&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the COS winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|MG2_COSA&lt;br /&gt;
|Connect SIN winding of motor resolver here and to Encoder Channel A&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|MG2_SINA&lt;br /&gt;
|Connect COS winding of motor resolver here and to Encoder Channel B&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|MG2_EXCA&lt;br /&gt;
|Connect exciter winding of motor resolver here and to ground&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|MG2_STATOR_T1&lt;br /&gt;
|5V output for the motor temperature sensor. These are typically variable resistance devices. Connect one side of the sensor here.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|MG2_STATOR_T2&lt;br /&gt;
|Input from motor temperature sensor. Connect the other side of the sensor here. &#039;&#039;&#039;(Note the board correction above. Do not connect if it hasn&#039;t been addressed by a new revision or work around)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|MAIN_CON&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|PRECHG_RLY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|AC_CON&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|HV_CON&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|AC_PRECH&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|EVSE_PROX&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|CONTROL_PILOT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|CHG_CANH&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|CHG_CANL&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ampseal Socket &amp;amp; Plug ==&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&amp;lt;ref&amp;gt;https://www.ebay.co.uk/itm/Connector-ECU-Terminals-35P-35-Way-776164-1-776231-1-776163-1-Male-Female-Pins/401764868163?hash=item5d8b0d6043:g:3TkAAOSwexhc1Tcy (Backup: [https://web.archive.org/web/20221016161951/https://www.ebay.co.uk/itm/Connector-ECU-Terminals-35P-35-Way-776164-1-776231-1-776163-1-Male-Female-Pins/401764868163 Web Archive])&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:AMPSeal socket (male).jpg|alt=|none|thumb|AMPSeal socket (male) in 3D printed surround with pins marked]]&lt;br /&gt;
&lt;br /&gt;
The AMPSeal connector is wired as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Pin Number&lt;br /&gt;
|AMPSeal Pinout Label&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|12V SUPPLY POSITIVE&lt;br /&gt;
|Provide with +12V supply from battery or power supply for testing&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FORWARD DIRECTION SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|REVERSE DIRECTION SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|START SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to start the inverter and move it from pre-charge to run mode. Typically connected to the momentary &#039;START&#039; position of your ignition switch.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|BRAKE DIGITAL SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to inform the inverter that the car is under braking. Typically takes a feed from the brake switch that also turns on brake lights etc.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|CRUISE CONTROL SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to turn on cruise control mode. This sets the current motor speed as the set point for cruise control. Cruise control is disabled by a signal from the brake switch.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|5V OUT&lt;br /&gt;
| +5V supply for temperature and throttle sensors&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|ACCELERATOR CHAN 1 INPUT&lt;br /&gt;
|5V analogue input from first channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACCELERATOR CHAN 2 INPUT&lt;br /&gt;
|5V analogue input from second channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return.&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|INVERTER CAN HIGH&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|INVERTER CAN LOW&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
| +5V OUT&lt;br /&gt;
| +5V supply for temperature and throttle sensors&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ENCODER CHAN A&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the SIN winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ENCODER CHAN B&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the COS winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|RESOLVER SIN&lt;br /&gt;
|Connect SIN winding of motor resolver here and to Encoder Channel A&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|RESOLVER COS&lt;br /&gt;
|Connect COS winding of motor resolver here and to Encoder Channel B&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|RESOLVER EXC&lt;br /&gt;
|Connect exciter winding of motor resolver here and to ground&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|MOTOR TEMP SENSOR T1&lt;br /&gt;
|5V output for the motor temperature sensor. These are typically variable resistance devices. Connect one side of the sensor here.&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|MOTOR TEMP SENSOR T2&lt;br /&gt;
|Input from motor temperature sensor. Connect the other side of the sensor here. &#039;&#039;&#039;(Note the board correction above. Do not connect if it hasn&#039;t been addressed by a new revision or work around)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|MAIN HV CONTACTOR&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground).&lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|HV PRECHARGE RELAY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|CHARGER AC INPUT RELAY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|CHARGER HV DC REQUEST&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|CHARGER AC PRECHARGE RELAY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|EVSE PROXIMITY SIGNAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|EVSE CONTROL PILOT SIGNAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|CHARGER CAN HIGH&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|CHARGER CAN LOW&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|NOT USED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|NOT USED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connecting Resolver ==&lt;br /&gt;
For resolver connect EXC to one side of the exciter winding and other to Ground.&lt;br /&gt;
&lt;br /&gt;
Connect one side of SIN winding to SIN and other to Encoder A&lt;br /&gt;
&lt;br /&gt;
Conenct one side of COS winding to COS and other to encoder B.&lt;br /&gt;
&lt;br /&gt;
== Inverter as charger ==&lt;br /&gt;
The buck/boost module in the inverter can be used to step up or down an input voltage to charge the high voltage battery in the car. Stepping down to a lower voltage is buck and up is boost converting.&lt;br /&gt;
&lt;br /&gt;
=== Buck Mode Charging. ===&lt;br /&gt;
This is what you need if your battery voltage will be lower than the rectified input (&amp;lt; 340v for 240v single phase, 600v for 3 phase)&lt;br /&gt;
&lt;br /&gt;
There&#039;s some firmware for the Atmega on the EVBMW board to control the buck/boost in buck mode for charging.&lt;br /&gt;
&lt;br /&gt;
https://github.com/celeron55/prius3charger_buck&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve downloaded the code there&#039;s some things to change.&amp;lt;blockquote&amp;gt;#define BATTERY_CHARGE_VOLTAGE 300    //Set this to your battery full voltage&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;#define AC_PRECHARGE_MINIMUM_VOLTAGE 550  // European 3-phase rectifies to 600V, Single Phase 240v rectifies to 340V&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;#define PRECHARGE_BOOST_ENABLED true.   // The capacitor needs pre-charging, there&#039;s 2 options, a pre-charge resistor on the A.C input or use the battery to boost to the input voltage.&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;#define PRECHARGE_BOOST_VOLTAGE 550  // European 3-phase rectifies to 600V, Single Phase 240v rectifies to 340V&amp;lt;/blockquote&amp;gt;The battery connection needs to be a little different. The battery + will need connecting to the left most terminal and a contactor will be needed to bridge the left most and right most when running.&lt;br /&gt;
[[File:20200705 190723 2.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== 3D Printed Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:20210119 125158.jpg|none|thumb]]&lt;br /&gt;
|[[File:20210119 110057.jpg|none|thumb]]&lt;br /&gt;
|[[File:20210119 191934.jpg|none|thumb]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
User bobby_come_lately has created a fair few 3D printable parts for use with the inverter. They can be downloaded https://github.com/jamiejones85/Gen3PriusInverter3DParts&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&#039;&#039;&#039;What happens when the inverter has an ERROR?&#039;&#039;&#039;&amp;lt;blockquote&amp;gt;The Toyota driver error signals are connected to the pk_in pin on the stm32 so when the Inverter has an error it stops the PWM by giving the STM32 an interrupt signal. See [https://openinverter.org/forum/viewtopic.php?p=25460#p25460 Here]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/damienmaguire/Prius-Gen3-Inverter/tree/master/V2 Damien&#039;s Prius Gen3 v2 Github]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/damienmaguire/Prius-Gen3-Inverter/blob/master/V1c/PriusGen3HandPlacedParts.csv Bill of Hand Placed Parts] (Github)&lt;br /&gt;
&lt;br /&gt;
[https://github.com/damienmaguire/Prius-Gen3-Inverter/blob/master/V2/PriusG3_V1b_BOM_JLC.xls?raw=true Bill of Materials] (Github)&lt;br /&gt;
&lt;br /&gt;
The control board takes advantage of the [https://openinverter.org/wiki/Downloads OpenInverter.org software] for control.&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Toyota]] [[Category:Inverter]]&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Toyota_Prius_Gen3_Board&amp;diff=3352</id>
		<title>Toyota Prius Gen3 Board</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Toyota_Prius_Gen3_Board&amp;diff=3352"/>
		<updated>2023-02-22T03:57:51Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: Added the Prius Gen3 Inverter disassembly and tear down videos for reference as well as updated the incorrectly referenced video already present as Gen2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Prius Gen3 Inverter Control v2.jpg|thumb|Prius Gen3 Control Board v2]]&lt;br /&gt;
&lt;br /&gt;
The Toyota Prius Gen3 Board is an open source project to repurpose 2010-2015 Toyota Prius inverters for DIY EV use. &lt;br /&gt;
&lt;br /&gt;
It consists of a open inverter circuit board and programming which replaces the OEM logic board in the prius inverter.&lt;br /&gt;
&lt;br /&gt;
This allows independent control of mg1 power stage, mg2 power stage, buck/boost converter and the dc/dc converter. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;Note that there is also a [[Toyota Prius Gen2 Inverter]] for the 2004-2009 model years.&lt;br /&gt;
&lt;br /&gt;
== Prius Inverter ==&lt;br /&gt;
The Toyota Prius is a hybrid vehicle. Their inverters are suitable and attractive for DIY EVs because of:&lt;br /&gt;
* Large part availability. Priuses (a.k.a. Prii) have been made in large numbers for 20 years.&lt;br /&gt;
* High affordability. Prius inverters are available for around $150 from scrapyards&lt;br /&gt;
* Durability. Toyota engineers appear to have made the inverters foolproof, many inputs and outputs gracefully handle fault conditions.&lt;br /&gt;
* Respectable performance. Rated for 50kW output, but tested to handle 600v, and 500+A on MG2. (MG1 unknown, Gen2 had 70% of MG2 on MG1).&lt;br /&gt;
* Ease of repurposing. Emulating the original ECU seems reasonably feasible.&lt;br /&gt;
&lt;br /&gt;
The Gen3 Prius (2010-2015 model years) has a variety of useful components inside the inverter package:&lt;br /&gt;
* 2 high power inverters, for the 2 motors MG1 (starter) capable of handling 250 amps, and MG2 (drive motor) capable of handling 350 amps.&lt;br /&gt;
* A DC-DC converter to provide 12v power supply to the automotive systems and accessories.&lt;br /&gt;
* A boost module to boost the 200v battery pack up to 500v, which looks to be able to function as a battery charger (wish list for future development)&lt;br /&gt;
* See this video for a thorough disassembly and explanation of the Gen2 Inverter and Converter HV System Design: https://www.youtube.com/watch?v=Y7Vm-C4MsW8&lt;br /&gt;
* See these videos for a teardown, disassembly and explanation of the Gen3 Inverter: &amp;lt;nowiki&amp;gt;https://www.youtube.com/watch?v=Pw3JqkI6VO4&amp;lt;/nowiki&amp;gt; (Teardown)  &amp;lt;nowiki&amp;gt;https://youtu.be/QBoRSXIwZQs&amp;lt;/nowiki&amp;gt; (Regarding p0a94 error code for DC-DC Converter Performance)&lt;br /&gt;
&lt;br /&gt;
== Control Board ==&lt;br /&gt;
&lt;br /&gt;
The current version as of Jan 20, 2020 is v2.&lt;br /&gt;
&lt;br /&gt;
As designed by Damien Maguire, the open source hardware for the control board can be purchased from his website: &lt;br /&gt;
&lt;br /&gt;
[https://www.evbmw.com/index.php/evbmw-webshop/toyota-built-and-tested-boards Toyota Boards]&lt;br /&gt;
&lt;br /&gt;
The control board is a physical replacement for the OEM Prius Gen3 inverter logic board inside the inverter. Remove the old one and replace it with the new one.&lt;br /&gt;
&lt;br /&gt;
== Development History ==&lt;br /&gt;
&lt;br /&gt;
V1 - This board was sold tested but also as a bare logic board requiring purchase of your own components and SMD placement and soldering skills. &lt;br /&gt;
&lt;br /&gt;
V2 - A new board source was found to be both high quality and low cost. The boards were redesigned around the inventory of parts available from this supplier. In particular the high cost of populated and soldered boards (10x the price) from the source used to make the v1 boards is so significantly lower on the v2 that there are likely no savings by building and soldering the board yourself. The circuit now has hardware to support repurposing the MG1 inverter as a battery charger, though as of Jan 20, 2020, software is still in development.&lt;br /&gt;
&lt;br /&gt;
v1c - this board uses mg2 power stage for motor control, and mg1 +buck/boost converter as a battery charger, or parallel connection of MG1 and MG2 to give more amps to a single motor.&lt;br /&gt;
&lt;br /&gt;
v1d - this board allows to use mg1 and mg2 power stages for dual motor control &lt;br /&gt;
&lt;br /&gt;
== Vendors ==&lt;br /&gt;
&lt;br /&gt;
 [https://www.evbmw.com/index.php/evbmw-webshop EVBMW Webshop]&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
&lt;br /&gt;
Community support is available on the [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=488 Prius Gen 3 Inverter Logic Board Support Thread]&lt;br /&gt;
&lt;br /&gt;
You are not entitled to support, purchase from a vendor who offers support if you want it guaranteed. Treat the community with respect.&lt;br /&gt;
&lt;br /&gt;
== Inverter Model Numbers ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Inverter No || Car model(s) || Logic Board No || Power Board No || Compatible 50 pin connector || PCB size || Confirmed works with board || Link&lt;br /&gt;
|-&lt;br /&gt;
| G9200-33171 || Camry (RHD, unknown year) || || || || || || &lt;br /&gt;
|-&lt;br /&gt;
| G9200-47141 || Auris 2012, RHD&amp;lt;br/&amp;gt;Prius (RHD, unknown year, Gen3) || || || || || || &lt;br /&gt;
|-&lt;br /&gt;
|G9200-47140&lt;br /&gt;
|Prius 2010&lt;br /&gt;
|F1759-47041 01&lt;br /&gt;
|&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
|Yes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47162&lt;br /&gt;
|Prius + &lt;br /&gt;
|F1759-47041 01&lt;br /&gt;
|F1789-47090&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| G9200-47180  || || || || || || || [https://www.diyelectriccar.com/forums/showpost.php?p=1026169&amp;amp;postcount=8 Photo diyelectriccar.com]&lt;br /&gt;
|-&lt;br /&gt;
| G9200-47190 || Auris 2017 || F1759-47070 05 || F1789-52010&lt;br /&gt;
|| ? || || || [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=51&amp;amp;start=270#p5661 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47210&lt;br /&gt;
|Prius 2012&lt;br /&gt;
|F1759-47070 05&lt;br /&gt;
|&lt;br /&gt;
|YES&lt;br /&gt;
|154x143mm&lt;br /&gt;
|Yes&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?p=16539#p16539&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47220&lt;br /&gt;
|Prius 2014&lt;br /&gt;
|F1759-47070 05&lt;br /&gt;
|&lt;br /&gt;
|YES&lt;br /&gt;
|154x143mm&lt;br /&gt;
|Yes&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?p=21384#p21384&lt;br /&gt;
|-&lt;br /&gt;
|G9200-47230&lt;br /&gt;
|Prius 2015&lt;br /&gt;
|&lt;br /&gt;
|F1789-52010&lt;br /&gt;
|Yes&lt;br /&gt;
|154x143mm&lt;br /&gt;
|&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?p=29248#p29248&lt;br /&gt;
|-&lt;br /&gt;
|G9200-52010||Yaris&lt;br /&gt;
Prius C&lt;br /&gt;
||F1759-52010 04||F1789-52010|| ||154x143mm||&lt;br /&gt;
|https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=257&amp;amp;p=5828#p5828&lt;br /&gt;
|-&lt;br /&gt;
|G9200-52031&lt;br /&gt;
|Yaris 2016&lt;br /&gt;
|F1759-52010 04&lt;br /&gt;
|F1789-52010&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| G9200-52032 || Yaris 2015 || F1759-52010 04 || F1789-52010 || YES || Long 143mm || || [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=439#p5058 Forum Thread openinverter.com] [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=51&amp;amp;start=270#p5669 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
| G9201-52011 || Yaris || || || YES|||||| [https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=439#p5681 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
| G9201-52012 || Prius C || F1759-52010 || F1789-52010 || YES (presumably) |||||| [https://openinverter.org/forum/viewtopic.php?p=6979#p6979 Forum Thread openinverter.com]&lt;br /&gt;
|-&lt;br /&gt;
|G9200-52030&lt;br /&gt;
|Prius C (a.k.a. Prius Aqua)&lt;br /&gt;
|F1759-52010 04&lt;br /&gt;
|F1789-52010&lt;br /&gt;
|&lt;br /&gt;
|154mm long&lt;br /&gt;
|&lt;br /&gt;
|[https://openinverter.org/forum/viewtopic.php?f=11&amp;amp;t=999&amp;amp;p=16434#p16434 Forum Thread openinverter.com]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kit Assembly Instructions (V1C) ==&lt;br /&gt;
[[File:Prius3-ldo2.jpg|thumb|Extra voltage regulator on Prius Gen3 board]]&lt;br /&gt;
This guide is for the assembly of version V1C of the Gen 3 board available here: https://www.evbmw.com/index.php/evbmw-webshop/toyota-built-and-tested-boards/prius-gen-3-inverter-built-tested&lt;br /&gt;
&lt;br /&gt;
This is based on the assembly videos by Damien Maguire. &lt;br /&gt;
&lt;br /&gt;
Part 1: https://www.youtube.com/watch?v=QE-zym8iIgM&amp;amp;t=2643s &lt;br /&gt;
&lt;br /&gt;
Part 2: https://www.youtube.com/watch?v=Nu5_OBOPk4s&amp;amp;t=1787s&lt;br /&gt;
&lt;br /&gt;
=== LDO strengthening ===&lt;br /&gt;
The stock 3V3 LDO (3.3V linear voltage regulator) does not provide sufficient current for both the STM32(s) and wifi module(s). Therefor the wifi module needs a distinct regulator.&lt;br /&gt;
&lt;br /&gt;
TODO: does this also affect the latest revision boards?&lt;br /&gt;
&lt;br /&gt;
=== Early Board Correction, pre July 2020 ===&lt;br /&gt;
The first batch of JLCPCB boards shipped have an incorrect resistor value that needs to be changed over. Boards &#039;&#039;shipped after Jun 26, 2020&#039;&#039; will not need to do this.&lt;br /&gt;
&lt;br /&gt;
[[File:Power supply.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Resistor labeled R101 (labeled &#039;1002&#039;) needs swapping for a 8k2 (0805 package) resistor. &lt;br /&gt;
[[File:20200629 155303.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Motor Temperature Sensor correction. ===&lt;br /&gt;
Boards currently have an error with the temperature sensor circuit. R14 is supposed to be in parallel with C11 to form the voltage divider. One workaround would be to put a 1k resistor from one of the pads to ground. this can be done externally if you&#039;d rather not modify the board, put a 1k ohm resistor from MG2_STATOR_T2 to a ground pin. Then connector the temperature sensor from MG2_STATOR_T1 to MG2_STATOR_T2 as normal. &lt;br /&gt;
 &lt;br /&gt;
This is a current issue on the boards. A new revision is not yet available. &lt;br /&gt;
[[File:Screenshot 2021-08-13 at 8.50.56 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Wifi Module Correction ===&lt;br /&gt;
The capacitor may need increasing to 10uF deal with noise. The table below shows which boards need updating and which capacitor(s) to update.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Board Version&lt;br /&gt;
!Cap(s) needs updating?&lt;br /&gt;
!Cap(s) to update&lt;br /&gt;
|-&lt;br /&gt;
|Single motor, large board (v1b)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C48&lt;br /&gt;
|-&lt;br /&gt;
|Single motor, small board (v1c)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C49&lt;br /&gt;
|-&lt;br /&gt;
|Single motor, small board (v1c, block 3)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C49&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, small board (v1d)&lt;br /&gt;
|No&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, large board (v1d)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C58 and C86&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, large board (v1d, block 3)&lt;br /&gt;
|Maybe&lt;br /&gt;
|C58 and C86&lt;br /&gt;
|-&lt;br /&gt;
|Dual motor, large board (v1d, block 4)&lt;br /&gt;
|No&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
[[File:Screenshot 2021-08-23 at 1.07.32 pm.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== DC-DC Startup Delay (V1c &amp;amp; V1d) ===&lt;br /&gt;
These revision boards will start up the DC-DC converter during pre-charge, if you&#039;ve soldered the jumper. This will mean the current for the DC-DC will be drawn during pre-charge, potentially preventing the main contactor closing.&lt;br /&gt;
&lt;br /&gt;
See https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=1039 for more details.&lt;br /&gt;
&lt;br /&gt;
=== Soldering The Breakout Board ===&lt;br /&gt;
Solder the Ampseal socket to the the breakout board, the silk-screen indicates side and orientation fitment.&lt;br /&gt;
&lt;br /&gt;
[[File:20200605 174452.jpg|thumb|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
Next flip it over and solder the 34 way IDC locking header on, notch upwards as show.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Some versions of the breakout board have and error in the silk-screen that indicate orientation incorrectly, with the notch towards the bottom.&#039;&#039;&lt;br /&gt;
[[File:20200606 130213.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Soldering the Main Board ===&lt;br /&gt;
The main board is mostly pretty easy to solder, the one exception is the 50 way white connector. I found that putting flux on the pads and dragging solder across them, placing the connector in place and then placing the iron on the pins was the easiest. &lt;br /&gt;
&lt;br /&gt;
Also easiest is to start with this connector, whilst the most complicated, starting with an unpopulated board allows easier access to it as the following connectors are largely around this one. &lt;br /&gt;
[[File:20200619 175629.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending on the kit and time you received it due to chip shortages, you might have IC12 and IC14 unpopulated and need to solder them on. &lt;br /&gt;
&lt;br /&gt;
Each chip&#039;s &#039;pin one&#039; has a small notch to indicate it and this matches the line and IC12 /IC14 silk screen on the board. &lt;br /&gt;
&lt;br /&gt;
Again these are easier to get out of the way before the connectors are positioned.&lt;br /&gt;
[[File:Toyota-gen-3-board---IC12.jpg|none|thumb]]&lt;br /&gt;
[[File:Toyota-gen-3-board---IC14.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next up I did conn 1, it can only go one way, and is a piece of cake after the 50 way connector.&lt;br /&gt;
[[File:20200605 174924.jpg|none|thumb]]&lt;br /&gt;
And Conn8, again easy.&lt;br /&gt;
[[File:20200605 175047.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Next the DCDC convert connector, again only fits one way.&lt;br /&gt;
[[File:20200605 175849.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
MG1 and MG2 Current sensor Connectors, both these are the same, the tabs on both MG1 and MG2 are at the top. &lt;br /&gt;
&lt;br /&gt;
Ignore the &#039;Notch&#039; on the board it needs to face outwards to the edge of the board, you&#039;ll also need to turn the sensor cables 180 deg to fit when installing the board. &lt;br /&gt;
[[File:20200605 181654.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Next up the L2 inductor, it can go either way&lt;br /&gt;
[[File:20200605_182754.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Next up I did the right angled pins for the wifi module, stick the pins in the module connector and then through the board, hold it in place and flip it over.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; This is how &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;not&#039;&#039;&#039;&#039; to mount the right angle connector. The black plastic should be perpendicular to the board and is used to limit the Olimex WifI Board connector.&lt;br /&gt;
[[File:Toyota-gen-3-board---right angled pins.jpg|none|thumb]]&lt;br /&gt;
Cut 2 lengths of 3 pins from the header pin strips for the ISP header for programming the Atmega328P that will be used ton control the buck-boost converter.[[File:20200605 183933.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
To enable the DCDC converter for I&#039;ve bridged over the 2 pin holes, but you can add a switch or something here, or leave it open if you&#039;re not using the DCDC to keep the 12v battery charged.&lt;br /&gt;
&lt;br /&gt;
See note above for &#039;&#039;&#039;V1C and V1D boards&#039;&#039;&#039;&lt;br /&gt;
[[File:20200605 184633.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Pin header for Alegro current sensor, currently no software exists to control the buck boost, hopefully in the future this will be able to be used as a charger, this pin header is for the possible addition of a current sensor to facilitate.&lt;br /&gt;
[[File:20200605_185543.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Three options exist on the board for flashing the firmware to the STM32.&lt;br /&gt;
&lt;br /&gt;
If you plan on programming your board with a TC2050 JTAG &amp;lt;ref&amp;gt;https://www.tag-connect.com/product/tc2050-idc-nl-050 (Backup: [https://web.archive.org/web/20220123084231/https://www.tag-connect.com/product/tc2050-idc-nl-050 Web Archive])&amp;lt;/ref&amp;gt; then obviously skip the next step.&lt;br /&gt;
&lt;br /&gt;
Solder a 3 pin headers for single wire program interface, or a 6 pin header for FTDI interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The photo below shows both headers populated, however you don&#039;t necessarily need both.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:20200605 185557.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Last up is the 34-way ICD interlock connector for the breakout board. Notch outward.&lt;br /&gt;
[[File:20200609 094633.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Powering up ===&lt;br /&gt;
Now it&#039;s time to power up the board with 12v and test.&lt;br /&gt;
&lt;br /&gt;
Green wire is +12v (pin 1) and blue 0v (pin 11)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; When Idle, board consumes about 1.7 - 1.8A of current. When PWM starts, current consumption goes up to ~2A.&lt;br /&gt;
[[File:20200608 125857.jpg|none|thumb]]&lt;br /&gt;
[[File:Screenshot 2020-06-07 at 1.32.12 pm.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Checking voltages ===&lt;br /&gt;
&lt;br /&gt;
Check for ~3.3v here on C32&lt;br /&gt;
[[File:20200608 124947.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Check for ~5v here on C21/C20/C22/C25&lt;br /&gt;
[[File:20200607 134336.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Check for -5v here on the little via next to CONN7 or right next to CONN2 there&#039;s a via with -5V under it.&lt;br /&gt;
[[File:20200608 125110.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Finally the 26v &lt;br /&gt;
[[File:20200608 125053.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
Full kits will be supplied programmed and partial kits will be un-programmed.&lt;br /&gt;
&lt;br /&gt;
=== Wifi Module Firmware ===&lt;br /&gt;
&amp;lt;u&amp;gt;The WiFi module supplied as part of a kit will have the default SSID of &#039;&#039;&#039;&#039;&#039;inverter&#039;&#039;&#039;&#039;&#039; and a password of &#039;&#039;&#039;&#039;&#039;inverter123&#039;&#039;&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
My wifi module came with the firmware already installed, but if yours didn&#039;t follow the outline steps below. You will need a 3.3v USB to Serial adaptor.  &lt;br /&gt;
# Download the software from https://github.com/jsphuebner/esp8266-web-interface &lt;br /&gt;
#  Install the Arduino core from https://github.com/esp8266/Arduino (Arduino IDE, Platform.IO etc supported)&lt;br /&gt;
#  Write code to ESP8266&lt;br /&gt;
#  Write filesystem to ESP8266&lt;br /&gt;
&lt;br /&gt;
Step by Step using Arduino IDE&lt;br /&gt;
# Add https://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board &lt;br /&gt;
# Go to Boards -&amp;gt; Board Manager and install ESP8266&lt;br /&gt;
# Extract the esp8266-web-interface software to your Arduino projects directory&lt;br /&gt;
# Create a new folder named data&lt;br /&gt;
# Move all files except FSBrowser.ino to the data folder.&lt;br /&gt;
# Choose Olimex MOD-WIFI-ESP8266 as the board&lt;br /&gt;
# Upload the code using the Arduino IDE&lt;br /&gt;
# Use &#039;ESP8266 Sketch Data Upload&#039; from the Tools menu, this will upload the files in the data directory to the ESP8266&lt;br /&gt;
&lt;br /&gt;
=== Programming Firmware ===&lt;br /&gt;
There are three different interfaces that are possible to program the firmware.&lt;br /&gt;
&lt;br /&gt;
Below are instructions for using the single wire programming interface with the USB STLink V2&amp;lt;ref&amp;gt;https://www.st.com/en/development-tools/st-link-v2.html (Backup: [https://web.archive.org/web/20220708173838/https://www.st.com/en/development-tools/st-link-v2.html Web Archive])&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Connect the 3 wire pin headers to the programming device.&lt;br /&gt;
[[File:Swp.jpg|none|thumb]]&lt;br /&gt;
[[File:S-l1600.jpg|none|thumb]]&lt;br /&gt;
The pin labeled &#039;&#039;DAT&#039;&#039; on the board should connect to &#039;&#039;SWDIO&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The middle pin of the 3 pins on the board should go to &#039;&#039;GND&#039;&#039; on the STLink V2&lt;br /&gt;
&lt;br /&gt;
The pin labeled &#039;&#039;CLK&#039;&#039; on the board should connect to &#039;&#039;SWCLK&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will also need to hook up power to the board. You can connect the 5V output of the STLink to the 5V pin of the FTDI header. This is the third pin from the left, where pin 1 is just below the letters BLK on the board.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using a Mac or Linux&#039;&#039;&#039; install https://github.com/stlink-org/stlink&lt;br /&gt;
&lt;br /&gt;
The bootloader can be found here: https://github.com/jsphuebner/tumanako-inverter-fw-bootloader/releases&lt;br /&gt;
&lt;br /&gt;
Run command to write the bootloader&amp;lt;blockquote&amp;gt;st-flash write stm32_loader.bin 0x08000000&amp;lt;/blockquote&amp;gt;&#039;&#039;&#039;For Windows&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Grab the custom bootloader (the .bin file) from https://github.com/jsphuebner/tumanako-inverter-fw-bootloader/releases&lt;br /&gt;
&lt;br /&gt;
Install the ST Link software from here: https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html&lt;br /&gt;
&lt;br /&gt;
Run the software then select Target&amp;gt;Connect and then Target&amp;gt;Settings to check that your USB device is connected and that the settings look as follows:&lt;br /&gt;
[[File:ST Link Software Settings.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Select File&amp;gt;Open and choose the bootloader from its download location. Then select Target&amp;gt;Program &amp;amp; Verify and you should see this:&lt;br /&gt;
[[File:Programming bootloader with ST Link software.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Once the bootloader has been programmed the main firmware can be uploaded and upgraded via the [[web interface]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The main firmware can be found here: https://github.com/jsphuebner/stm32-sine/releases&lt;br /&gt;
&lt;br /&gt;
A wifi network should be visible with the name &#039;&#039;ESP-*&#039;&#039; connect to it&lt;br /&gt;
[[File:Screenshot 2020-06-20 at 8.33.04 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Once connected open a browser and navigate to http://192.168.4.1 and find the update section, upload the firmware.&lt;br /&gt;
[[File:Screenshot 2020-06-20 at 8.28.53 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Once this has completed you can verify by scrolling to the Spot Values section and you&#039;ll see the software version&lt;br /&gt;
[[File:Screenshot 2020-06-20 at 8.39.58 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Atmega328p Firmware ===&lt;br /&gt;
&#039;&#039;&#039;Be super careful never to program the Atmega while high voltage is applied and caps are not discharged. When cycling through the boot loader, it seems to do something strange that will blow up the otherwise bullet proof buck/boost converter! Also be aware that Arduino also cycles through the boot loader when closing the serial terminal!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will control the Buck Boost module that&#039;s hopefully going to be a functioning charger in the future, it also requires a simple bit of firmware to enable the DC-DC converter.&lt;br /&gt;
&lt;br /&gt;
[Add instructions for firmware]&lt;br /&gt;
&lt;br /&gt;
== Inverter Parameters ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Parameter&lt;br /&gt;
!Suggested Value&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|pwmfrq&lt;br /&gt;
|2&lt;br /&gt;
|PWM frequency. 0=17.6kHz, 1=8.8kHz, &#039;&#039;&#039;2=4.4kHz&#039;&#039;&#039;, 3=2.2kHz. Needs PWM restart&lt;br /&gt;
|-&lt;br /&gt;
|pwmpol&lt;br /&gt;
|0 - Active High&lt;br /&gt;
|DO NOT PLAY WITH THIS!&lt;br /&gt;
|-&lt;br /&gt;
|deadtime&lt;br /&gt;
|130&lt;br /&gt;
|Deadtime between highside and lowside pulse. 28=800ns, 56=1.5µs. Not always linear, consult STM32 manual. Needs PWM restart&lt;br /&gt;
|-&lt;br /&gt;
|il1gain&lt;br /&gt;
|4.56&lt;br /&gt;
|Digits per A of current sensor L1&lt;br /&gt;
|-&lt;br /&gt;
|il2gain&lt;br /&gt;
|4.5&lt;br /&gt;
|Digits per A of current sensor L2&lt;br /&gt;
|-&lt;br /&gt;
|udcgain&lt;br /&gt;
|5&lt;br /&gt;
|Digits per V of DC link&lt;br /&gt;
|-&lt;br /&gt;
|udcofs&lt;br /&gt;
|0&lt;br /&gt;
|DC link 0V offset&lt;br /&gt;
|-&lt;br /&gt;
|udclim&lt;br /&gt;
|540&lt;br /&gt;
|High voltage at which the PWM is shut down&lt;br /&gt;
|-&lt;br /&gt;
|snshs&lt;br /&gt;
|1&lt;br /&gt;
|Heatsink temperature sensor. 0=JCurve, &#039;&#039;&#039;1=Semikron&#039;&#039;&#039;, 2=MBB600, 3=KTY81, 4=PT1000, 5=NTCK45+2k2, 6=Leaf&lt;br /&gt;
|-&lt;br /&gt;
|pinswap&lt;br /&gt;
|8&lt;br /&gt;
|0=None, 1=Currents12, 2=SinCos, 4=PWMOutput13, &#039;&#039;&#039;8=PWMOutput23&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
[[Parameters]] Details&lt;br /&gt;
&lt;br /&gt;
== First Run (PWM verify) ==&lt;br /&gt;
Once your board in installed in the inverter and all the internal connectors are connected you can power up the inverter with 12v as above. No need to have anything connected to the HV battery or MG1 or MG2. You&#039;ll hear an audible wine. We&#039;re first going to verify the PWM outputs on the board and then connecting up a motor.&lt;br /&gt;
&lt;br /&gt;
Connect pin 3, MG2_FORW_IN to 12v&lt;br /&gt;
&lt;br /&gt;
Navigate to the [[Web Interface]]&lt;br /&gt;
&lt;br /&gt;
Change the parameter  encmode to &#039;AB&#039; as at the moment we don&#039;t have any sensors connected. Set udcmin to 0 to disable precharge.&lt;br /&gt;
&lt;br /&gt;
Start the inverter in manual mode with the button&lt;br /&gt;
[[File:Screenshot 2020-07-06 at 1.21.04 pm.png|thumb|alt=|none]]    &lt;br /&gt;
&lt;br /&gt;
Now set the 2 testing parameters, fslipsnpnt and ampnom to 1. &lt;br /&gt;
[[File:Screenshot 2020-07-06 at 1.21.13 pm.png|none|thumb]] &lt;br /&gt;
&lt;br /&gt;
Using a scope, look for a PWM signal on MG2 A/B/C Hi/Low on the 50 pin connector. R74 through R79 can be used as test points for the PWM signal - these are located next to the 50 pin connector as shown in the image below. &lt;br /&gt;
[[File:51872869539 19178b9a51 o.jpg|alt=Partial shot of the 50 pin connector showing the location of the resistors which can be used as test points to check for the PWM signal on MG2 A/B/C Hi / Low. |none|thumb]]&lt;br /&gt;
Stop the inverter &lt;br /&gt;
&lt;br /&gt;
== First Run (Open loop motor spin) ==&lt;br /&gt;
&lt;br /&gt;
Now connect up the 3 motor phases and a small voltage of around 30v to the HV, I manually pre-charged with a 50w 10ohm resistor for a couple of seconds, the supply needs to be able to supply 10 amps or so. I also had a 20 amp fuse inline.&lt;br /&gt;
&lt;br /&gt;
As above, start the inverter in manual mode, set ampnom to 100 and fslipsnpnt to 10, the motor should start to spin.&lt;br /&gt;
&lt;br /&gt;
You may have [[Errors]] to address if this doesn&#039;t happen.&lt;br /&gt;
&lt;br /&gt;
== DC-DC Converter ==&lt;br /&gt;
The inverter contains a DC DC converter, that is used to keep the 12v battery charged using the high voltage battery. This is the EV equivalent to the alternator on a combustion engined car.&lt;br /&gt;
&lt;br /&gt;
As per the assembly instructions above this needs to be enabled via the jumper on the control board.&lt;br /&gt;
&lt;br /&gt;
In the unmodified state, the DC DC converter will operate with a main battery voltage in the ~80v to ~235v range and will require a simple modification to allow it to operate at higher voltage range, ~140v to ~400v.&lt;br /&gt;
&lt;br /&gt;
There&#039;s a couple of options for the DC DC converter. If you aren&#039;t planning on using the inverter as a charger and don&#039;t want to change the resistors you can use the buck boost module to step down the battery voltage to within the DC DC range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unmodified DC DC Resistors, using Buck Boost to step down.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Connect your battery to the inverter as shown below, with pre charge and fuses etc.[[File:20200705 190723.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can use the following sketch on the atmega328p&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Runs atmega328p buck/boost control on Prius Gen 3 and Yaris/Auris inverters in buck mode to drop Main HV down for DCDC converter.&lt;br /&gt;
Experimental code. Only tested on the bench! Use at your own risk!&lt;br /&gt;
D.Maguire&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;Metro.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int HVLow = 0;        // voltage on low side of converter&lt;br /&gt;
int HVHi = 0;        // voltage on high side of converter&lt;br /&gt;
int SetV = 0;       //set point voltage&lt;br /&gt;
int PWMDuty = 0;    //pwm duty cycle&lt;br /&gt;
&lt;br /&gt;
Metro timer_pwm=Metro(5); &lt;br /&gt;
Metro timer_serial=Metro(200);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);//&lt;br /&gt;
  TCCR1B = TCCR1B &amp;amp; B11111000 | B00000010;    // set timer 1 divisor to  8 for PWM frequency of  3921.16 Hz&lt;br /&gt;
  pinMode(9, OUTPUT); //boost low side&lt;br /&gt;
  pinMode(10, OUTPUT); //boost Hi side&lt;br /&gt;
  analogWrite(9,0); //low side off&lt;br /&gt;
  analogWrite(10,0); //High side off&lt;br /&gt;
  SetV=210;  //set at 210v to run dcdc&lt;br /&gt;
  PWMDuty=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// the loop function runs over and over again forever&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
    HVLow = (analogRead(A0)/1.85)-43; //-43 needed for Lexus CT200h variant. Remove for Prius / Auris.&lt;br /&gt;
    HVHi = (analogRead(A1)*1.25);&lt;br /&gt;
    &lt;br /&gt;
    updatePWM();  //call pwm update routine.&lt;br /&gt;
    serialOUT();  //call serial out routine&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void serialOUT()&lt;br /&gt;
{&lt;br /&gt;
  if(timer_serial.check()){&lt;br /&gt;
  Serial.print(&amp;quot;Low Vbus = &amp;quot;);&lt;br /&gt;
  Serial.print(HVLow);&lt;br /&gt;
  Serial.print(&amp;quot;Volts&amp;quot;);&lt;br /&gt;
  Serial.print(&amp;quot;\t High Vbus = &amp;quot;);&lt;br /&gt;
  Serial.print(HVHi);&lt;br /&gt;
  Serial.print(&amp;quot;Volts&amp;quot;);&lt;br /&gt;
  Serial.print(&amp;quot;\t PWMDUTY = &amp;quot;);&lt;br /&gt;
  Serial.println(PWMDuty);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void updatePWM()&lt;br /&gt;
{&lt;br /&gt;
if(timer_pwm.check()){&lt;br /&gt;
  if(HVHi&amp;gt;300){  //if hv is above 300v start ramping up pwm and regulate to setpoint.&lt;br /&gt;
    if (HVLow&amp;lt;SetV) PWMDuty++;&lt;br /&gt;
    if (HVLow&amp;gt;SetV) PWMDuty--;&lt;br /&gt;
    if (PWMDuty&amp;lt;0)  PWMDuty=0;&lt;br /&gt;
    if (PWMDuty&amp;gt;250)  PWMDuty=250;&lt;br /&gt;
    analogWrite(10,PWMDuty);&lt;br /&gt;
  }&lt;br /&gt;
  if(HVHi&amp;lt;250)&lt;br /&gt;
  {&lt;br /&gt;
      PWMDuty--;;  //if hv is lower then 250v ramp down pwm&lt;br /&gt;
      if (PWMDuty&amp;lt;0)  PWMDuty=0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modified DC DC Resistors, using Buck Boost to bridge.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You must have modified the resistors in the inverter for this method to work. &lt;br /&gt;
&lt;br /&gt;
Connect your battery to the inverter as shown below, with pre charge and fuses etc.&lt;br /&gt;
&lt;br /&gt;
[[File:20200705 190723.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
The following sketch can use used on the atmega328p to internally bridge the buck boost module so that the full battery voltage reaches the DC DC converter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// I/O-PINS&lt;br /&gt;
const uint8_t boostLoDrivePIN = 9; // D9 (PB1)&lt;br /&gt;
const uint8_t boostHiDrivePIN = 10; // D10 (PB2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/********&lt;br /&gt;
* SETUP *&lt;br /&gt;
********/&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  pinMode(boostHiDrivePIN, OUTPUT);&lt;br /&gt;
  digitalWrite(boostHiDrivePIN, HIGH); // To set high drive ON&lt;br /&gt;
  &lt;br /&gt;
  pinMode(boostLoDrivePIN, OUTPUT);&lt;br /&gt;
  digitalWrite(boostLoDrivePIN, LOW); // To set low drive OFF&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*******&lt;br /&gt;
* LOOP *&lt;br /&gt;
*******/&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modified DC DC Resistors and using Buck Boost for charging.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your battery will be connected to Charging HV + and HV - with contactors and precharge. You will also have another contactor that the atmega328p will control to externally bridge Charging HV+ and Driving HV+ this will externally bridge both sides of the buck boost module when in run mode so that the driving isn&#039;t limited by the buck boost module but during charging the contactor will open and the connection is severed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:20200705 190723 2.jpg|none|thumb]]The charing code for the atmega328p is here https://github.com/celeron55/prius3charger_buck, more details on charging is further down in the wiki.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modifying the DC DC converter resistors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The DC DC converter in unmodified state will startup at a little over 100v and shut down at around 240v, to use it with a higher voltage it needs to be modified by changing some smd resistors.&lt;br /&gt;
&lt;br /&gt;
See https://www.youtube.com/watch?v=Nu5_OBOPk4s&amp;amp;t=2s&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to remove the bottom cover of the inverter to expose the DC DC converter control board.&lt;br /&gt;
[[File:Screenshot 2021-01-06 at 6.51.47 pm.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
We need to replace 4 resistors on the top side of the board, these are R629, R627, R625, R623, currently 120k ohm, these will need replacing with  210k ohm&lt;br /&gt;
&lt;br /&gt;
(1%, 0.5W, 0805, Manufacturer part#: ERJP06F2103V Farnell #: 2326773 )&lt;br /&gt;
[[File:Screenshot 2021-01-06 at 6.56.26 pm.png|none|thumb]]&lt;br /&gt;
[[File:20210114 162937.jpg|none|thumb]]&lt;br /&gt;
These are the 4 resistors on the top.&lt;br /&gt;
[[File:20210114 172258.jpg|none|thumb]]&lt;br /&gt;
And Replace&lt;br /&gt;
[[File:20210114 174343.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
There&#039;s also 4 resistors to replace on the bottom, these are R630, R628, R626, R624, these also need to be 210k ohm.&lt;br /&gt;
[[File:Screenshot 2021-01-06 at 6.59.08 pm.png|none|thumb]]&lt;br /&gt;
[[File:20210114 172503.jpg|none|thumb]]&lt;br /&gt;
The bottom resistors are up next to the flexible cable, on the underside of the board, to access them, unscrew the 4 screws holding the board in place, unplug the black connector carefully lift the board upwards.&lt;br /&gt;
&lt;br /&gt;
Bare in mind the flexible cable is still attached and is soldered directly to the board. Flip it over.&lt;br /&gt;
[[File:20210114 172710.jpg|none|thumb]]&lt;br /&gt;
[[File:20210114 173552.jpg|none|thumb]]&lt;br /&gt;
Bottom side replaced. You can now place the board back in place, screw the 4 screws in and don&#039;t forget the black plug.&lt;br /&gt;
&lt;br /&gt;
Replace the bottom metal cover.&lt;br /&gt;
&lt;br /&gt;
== 12v Battery Connection ==&lt;br /&gt;
The 12v battery positive connects to this post, it&#039;ll output ~14v when the DC-DC is running to keep the battery charged, the negative terminal of the battery should be connected to the case of the inverter.[[File:20200705_190706.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== High Voltage Battery Connection ==&lt;br /&gt;
The HV battery connection is below, DO NOT directly connect the battery here. It needs to be connected via contactors and a pre-charge resistor. This connection point by-passes the buck/boost converter.&lt;br /&gt;
&lt;br /&gt;
[[File:20200705 190723.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
[Add details of pre-charge and contactor]&lt;br /&gt;
&lt;br /&gt;
== Motor Connection ==&lt;br /&gt;
If you are only using MG2 to power a motor, and not paralleling MG1 and MG2, connect your 3 phase wires from the motor to the outer 3 terminals.&lt;br /&gt;
&lt;br /&gt;
Some versions of this inverter have the U-V-W labels for the three phase wires stamped into the case and some do not. These are shown below in case you have a version of the inverter without them and need to connect to a motor other than the originial prius transaxle.&lt;br /&gt;
[[File:20200705 190657-2.jpg|alt=|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Parallel MG1 and MG2 on a single motor ==&lt;br /&gt;
MG1 and MG2 can be used in parallel for more power, to do so there&#039;s some solder jumpers on the board to use. Jumpers SJ1 to SJ6 need soldering across the little gap between them.&lt;br /&gt;
[[File:Screenshot 2021-08-20 at 9.17.02 am.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You then need to connect MG1 phase 1 to MG2 phase 1 and so on. This needs to be done before the the current sensors so that all the current goes through MG2 current sensors on the phase bars, otherwise the software cannot measure the current correctly.&lt;br /&gt;
[[File:1n9hto6.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== IDC Connector ==&lt;br /&gt;
If you are not using the AMPSeal daughterboard, you can connect directly to the 34 pin IDC connector on the EVBMW board. &lt;br /&gt;
&lt;br /&gt;
Connections are as follows:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Pin Number&lt;br /&gt;
|Label&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|12V_IN&lt;br /&gt;
|Provide with +12V supply from battery or power supply for testing&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|12V_IN&lt;br /&gt;
|Provide with +12V supply from battery or power supply for testing&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|MG2_FORW_IN&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|MG2_REVER_IN&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|MG2_START&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to start the inverter and move it from pre-charge to run mode. Typically connected to the momentary &#039;START&#039; position of your ignition switch.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|MG2_BRAKE_ON&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to inform the inverter that the car is under braking. Typically takes a feed from the brake switch that also turns on brake lights etc.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|CRUISE_IN&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to turn on cruise control mode. This sets the current motor speed as the set point for cruise control. Cruise control is disabled by a signal from the brake switch.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|VCC_5V&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+5V supply for temperature and throttle sensors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|MG2_ACCEL&lt;br /&gt;
|5V analogue input from first channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|MG2_BRAKE_TRANS&lt;br /&gt;
|5V analogue input from second channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return.&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|CAN_EXT_H&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|CAN_EXT_L&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|VCC_5V&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;+5V supply for temperature and throttle sensors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|MG2_ENC_1&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the SIN winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|MG2_ENC_2&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the COS winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|MG2_COSA&lt;br /&gt;
|Connect SIN winding of motor resolver here and to Encoder Channel A&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|MG2_SINA&lt;br /&gt;
|Connect COS winding of motor resolver here and to Encoder Channel B&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|MG2_EXCA&lt;br /&gt;
|Connect exciter winding of motor resolver here and to ground&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|MG2_STATOR_T1&lt;br /&gt;
|5V output for the motor temperature sensor. These are typically variable resistance devices. Connect one side of the sensor here.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|MG2_STATOR_T2&lt;br /&gt;
|Input from motor temperature sensor. Connect the other side of the sensor here. &#039;&#039;&#039;(Note the board correction above. Do not connect if it hasn&#039;t been addressed by a new revision or work around)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|MAIN_CON&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|PRECHG_RLY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|AC_CON&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|HV_CON&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|AC_PRECH&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 2 amp.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|GND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|EVSE_PROX&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|CONTROL_PILOT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|CHG_CANH&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|CHG_CANL&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ampseal Socket &amp;amp; Plug ==&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&amp;lt;ref&amp;gt;https://www.ebay.co.uk/itm/Connector-ECU-Terminals-35P-35-Way-776164-1-776231-1-776163-1-Male-Female-Pins/401764868163?hash=item5d8b0d6043:g:3TkAAOSwexhc1Tcy (Backup: [https://web.archive.org/web/20221016161951/https://www.ebay.co.uk/itm/Connector-ECU-Terminals-35P-35-Way-776164-1-776231-1-776163-1-Male-Female-Pins/401764868163 Web Archive])&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:AMPSeal socket (male).jpg|alt=|none|thumb|AMPSeal socket (male) in 3D printed surround with pins marked]]&lt;br /&gt;
&lt;br /&gt;
The AMPSeal connector is wired as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Pin Number&lt;br /&gt;
|AMPSeal Pinout Label&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|12V SUPPLY POSITIVE&lt;br /&gt;
|Provide with +12V supply from battery or power supply for testing&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FORWARD DIRECTION SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|REVERSE DIRECTION SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to tell the inverter which way to spin the motor. Take positive feed from 12V battery or supply and wire through a three position switch, with the switched connections running to forward and reverse.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|START SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to start the inverter and move it from pre-charge to run mode. Typically connected to the momentary &#039;START&#039; position of your ignition switch.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|BRAKE DIGITAL SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to inform the inverter that the car is under braking. Typically takes a feed from the brake switch that also turns on brake lights etc.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|CRUISE CONTROL SIGNAL&lt;br /&gt;
|Active high signal at 12V (switches at &amp;gt;7V) to turn on cruise control mode. This sets the current motor speed as the set point for cruise control. Cruise control is disabled by a signal from the brake switch.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|5V OUT&lt;br /&gt;
| +5V supply for temperature and throttle sensors&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|ACCELERATOR CHAN 1 INPUT&lt;br /&gt;
|5V analogue input from first channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACCELERATOR CHAN 2 INPUT&lt;br /&gt;
|5V analogue input from second channel of throttle sensor. These typically take a 5V supply and ground and return to this pin a variable voltage that indicates throttle position.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return.&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|INVERTER CAN HIGH&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|INVERTER CAN LOW&lt;br /&gt;
|CANBus digital communication connection for remote interface with inverter&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
| +5V OUT&lt;br /&gt;
| +5V supply for temperature and throttle sensors&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|ENCODER CHAN A&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the SIN winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ENCODER CHAN B&lt;br /&gt;
|Can be either digital input for encoder (in which case, connect the relevant encoder output here and provide the device with 5V and ground), or one of the two connections for the COS winding if you are using a resolver for motor position.&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|RESOLVER SIN&lt;br /&gt;
|Connect SIN winding of motor resolver here and to Encoder Channel A&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|RESOLVER COS&lt;br /&gt;
|Connect COS winding of motor resolver here and to Encoder Channel B&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|RESOLVER EXC&lt;br /&gt;
|Connect exciter winding of motor resolver here and to ground&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|MOTOR TEMP SENSOR T1&lt;br /&gt;
|5V output for the motor temperature sensor. These are typically variable resistance devices. Connect one side of the sensor here.&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|MOTOR TEMP SENSOR T2&lt;br /&gt;
|Input from motor temperature sensor. Connect the other side of the sensor here. &#039;&#039;&#039;(Note the board correction above. Do not connect if it hasn&#039;t been addressed by a new revision or work around)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|MAIN HV CONTACTOR&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground).&lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|HV PRECHARGE RELAY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|CHARGER AC INPUT RELAY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|CHARGER HV DC REQUEST&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|CHARGER AC PRECHARGE RELAY&lt;br /&gt;
|Open Collector (Will switch the ground side from disconnected to ground). &lt;br /&gt;
Connect one side of the contactor coil to +12v and the other to this pin. Your contactor will need either a built in economiser or additional circuit. MAX 5 amp.&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|GROUND&lt;br /&gt;
|Common ground for 12V supply or 5V return&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|EVSE PROXIMITY SIGNAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|EVSE CONTROL PILOT SIGNAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|CHARGER CAN HIGH&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|CHARGER CAN LOW&lt;br /&gt;
|CANBus digital communication connection for remote interface with charger&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|NOT USED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|NOT USED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connecting Resolver ==&lt;br /&gt;
For resolver connect EXC to one side of the exciter winding and other to Ground.&lt;br /&gt;
&lt;br /&gt;
Connect one side of SIN winding to SIN and other to Encoder A&lt;br /&gt;
&lt;br /&gt;
Conenct one side of COS winding to COS and other to encoder B.&lt;br /&gt;
&lt;br /&gt;
== Inverter as charger ==&lt;br /&gt;
The buck/boost module in the inverter can be used to step up or down an input voltage to charge the high voltage battery in the car. Stepping down to a lower voltage is buck and up is boost converting.&lt;br /&gt;
&lt;br /&gt;
=== Buck Mode Charging. ===&lt;br /&gt;
This is what you need if your battery voltage will be lower than the rectified input (&amp;lt; 340v for 240v single phase, 600v for 3 phase)&lt;br /&gt;
&lt;br /&gt;
There&#039;s some firmware for the Atmega on the EVBMW board to control the buck/boost in buck mode for charging.&lt;br /&gt;
&lt;br /&gt;
https://github.com/celeron55/prius3charger_buck&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve downloaded the code there&#039;s some things to change.&amp;lt;blockquote&amp;gt;#define BATTERY_CHARGE_VOLTAGE 300    //Set this to your battery full voltage&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;#define AC_PRECHARGE_MINIMUM_VOLTAGE 550  // European 3-phase rectifies to 600V, Single Phase 240v rectifies to 340V&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;#define PRECHARGE_BOOST_ENABLED true.   // The capacitor needs pre-charging, there&#039;s 2 options, a pre-charge resistor on the A.C input or use the battery to boost to the input voltage.&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;#define PRECHARGE_BOOST_VOLTAGE 550  // European 3-phase rectifies to 600V, Single Phase 240v rectifies to 340V&amp;lt;/blockquote&amp;gt;The battery connection needs to be a little different. The battery + will need connecting to the left most terminal and a contactor will be needed to bridge the left most and right most when running.&lt;br /&gt;
[[File:20200705 190723 2.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== 3D Printed Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|[[File:20210119 125158.jpg|none|thumb]]&lt;br /&gt;
|[[File:20210119 110057.jpg|none|thumb]]&lt;br /&gt;
|[[File:20210119 191934.jpg|none|thumb]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
User bobby_come_lately has created a fair few 3D printable parts for use with the inverter. They can be downloaded https://github.com/jamiejones85/Gen3PriusInverter3DParts&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&#039;&#039;&#039;What happens when the inverter has an ERROR?&#039;&#039;&#039;&amp;lt;blockquote&amp;gt;The Toyota driver error signals are connected to the pk_in pin on the stm32 so when the Inverter has an error it stops the PWM by giving the STM32 an interrupt signal. See [https://openinverter.org/forum/viewtopic.php?p=25460#p25460 Here]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/damienmaguire/Prius-Gen3-Inverter/tree/master/V2 Damien&#039;s Prius Gen3 v2 Github]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/damienmaguire/Prius-Gen3-Inverter/blob/master/V1c/PriusGen3HandPlacedParts.csv Bill of Hand Placed Parts] (Github)&lt;br /&gt;
&lt;br /&gt;
[https://github.com/damienmaguire/Prius-Gen3-Inverter/blob/master/V2/PriusG3_V1b_BOM_JLC.xls?raw=true Bill of Materials] (Github)&lt;br /&gt;
&lt;br /&gt;
The control board takes advantage of the [https://openinverter.org/wiki/Downloads OpenInverter.org software] for control.&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Toyota]] [[Category:Inverter]]&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Toyota_P410_CVT&amp;diff=3351</id>
		<title>Toyota P410 CVT</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Toyota_P410_CVT&amp;diff=3351"/>
		<updated>2023-02-21T09:14:24Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: /* Applications */ Added link to url&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
The P410 is considered a third generation e-CVT.&lt;br /&gt;
&lt;br /&gt;
=== Model Code ===&lt;br /&gt;
3JM&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* Toyota Prius (2010-2015) - https://youtu.be/PIYNAroYEk0 (How the Prius Hybrid Drivetrain Works (Explained))&lt;br /&gt;
* Toyota Plug-in Hybrid (2012-2015)&lt;br /&gt;
* Toyota Prius V (2010-2017)&lt;br /&gt;
* Lexus CT 200h (2011-?)&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
=== MG1 ===&lt;br /&gt;
Rated Voltage: 650V&lt;br /&gt;
&lt;br /&gt;
Max Output: 42kW&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;https://info.ornl.gov/sites/publications/files/pub26762.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MAX RPM: 13500&lt;br /&gt;
&lt;br /&gt;
=== Power Split Device (PSD)&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;https://www.youtube.com/watch?v=5lg6yC5_-Bs&amp;amp;t=1953s&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
Planetary gears (4x) 23 teeth - carrier connected to transaxle input shaft and oil pump&lt;br /&gt;
&lt;br /&gt;
Sun gear 30 teeth - connected to MG1&lt;br /&gt;
&lt;br /&gt;
Ring gear 78 teeth - inside Drive Gear&lt;br /&gt;
&lt;br /&gt;
Locked input shaft (stationary carrier) gives -2.6:1 ratio from MG1 to Drive Gear&lt;br /&gt;
&lt;br /&gt;
=== MG2 ===&lt;br /&gt;
Rated Voltage: 650V&lt;br /&gt;
&lt;br /&gt;
Max Output Power: 60 KW (80 HP) (18 second rating to 150C stator temperature with 25C coolant temperature)&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Max Output Torque: 207 NM (153 lb-ft)&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; at ~250A&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Max RPM: 13500&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Motor Speed Reduction Gearset (MSR)&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt; ===&lt;br /&gt;
Planetary gears (5x) 18 teeth - carrier connected to case/fixed.&lt;br /&gt;
&lt;br /&gt;
Sun gear 22 teeth - connected to MG2&lt;br /&gt;
&lt;br /&gt;
Ring gear 58 teeth - inside Drive Gear&lt;br /&gt;
&lt;br /&gt;
MG2 to Drive Gear ratio 2.636:1&lt;br /&gt;
&lt;br /&gt;
=== Final Drive Ratio&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt; ===&lt;br /&gt;
Drive Gear 55 teeth - contains PSD and MSR ring gears&lt;br /&gt;
&lt;br /&gt;
Counter Driven Gear 54 teeth - on same shaft as Final Drive gear&lt;br /&gt;
&lt;br /&gt;
Drive Gear to Counter Driven Gear ratio 1.0815:1&lt;br /&gt;
&lt;br /&gt;
Final Drive Gear 24 teeth&lt;br /&gt;
&lt;br /&gt;
Differential Ring Gear (Final Driven Gear) 77 teeth&lt;br /&gt;
&lt;br /&gt;
Final Drive Ratio 3.208:1&lt;br /&gt;
&lt;br /&gt;
MG2 to axle output total gear ratio 8.613:1&lt;br /&gt;
&lt;br /&gt;
MG1 to axle output total gear ratio with locked input shaft 8.495:1&lt;br /&gt;
&lt;br /&gt;
=== Oil Pump ===&lt;br /&gt;
Trochoid pump driven by engine shaft.  The pump is mounted externally on the case.&lt;br /&gt;
&lt;br /&gt;
=== Fluid Capacity ===&lt;br /&gt;
??L of Toyota WS fluid.&lt;br /&gt;
&lt;br /&gt;
=== Dimensions ===&lt;br /&gt;
&lt;br /&gt;
=== Weight ===&lt;br /&gt;
202.8 lbs&lt;br /&gt;
&lt;br /&gt;
== Connections ==&lt;br /&gt;
&lt;br /&gt;
=== MG1 Stator ===&lt;br /&gt;
&lt;br /&gt;
=== MG2 Stator ===&lt;br /&gt;
&lt;br /&gt;
=== MG1 Resolver and Temperature Sensor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+[[File:MG1 Resolver and Temperature Sensor.jpg|thumb]]&lt;br /&gt;
!PIN&lt;br /&gt;
!Label&lt;br /&gt;
!Descriptoin&lt;br /&gt;
!Factory Wire Color&lt;br /&gt;
|-&lt;br /&gt;
|1 (upper right)&lt;br /&gt;
|GRF&lt;br /&gt;
|EXC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GSN&lt;br /&gt;
|SIN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GCS&lt;br /&gt;
|COS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4 (upper left)&lt;br /&gt;
|GMT&lt;br /&gt;
|Temp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5 (lower right)&lt;br /&gt;
|GRG&lt;br /&gt;
|EXCG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|GSNG&lt;br /&gt;
|SING&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|GCSG&lt;br /&gt;
|COSG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8 (lower left)&lt;br /&gt;
|GMTG&lt;br /&gt;
|Temp Ground&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== MG2 Resolver ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+[[File:MG2 Resolver Gen 3.jpg|thumb]]&lt;br /&gt;
!PIN&lt;br /&gt;
!Label&lt;br /&gt;
!Description&lt;br /&gt;
!Factory Wire Color&lt;br /&gt;
|-&lt;br /&gt;
|1 (top)&lt;br /&gt;
|MSN&lt;br /&gt;
|SINE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|MCS&lt;br /&gt;
|COS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|MRF&lt;br /&gt;
|Exciter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|MSNG&lt;br /&gt;
|SINE Ground&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|MCSG&lt;br /&gt;
|COS Ground&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6 (bottom)&lt;br /&gt;
|MRFG&lt;br /&gt;
|Exciter Ground&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== MG2 Temperature Sensor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+[[File:MG2 Temperature Sensor.jpg|thumb]]&lt;br /&gt;
!PIN&lt;br /&gt;
!Label&lt;br /&gt;
!Description&lt;br /&gt;
!Factory Wire Color&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|MMTG&lt;br /&gt;
|Temp Sensor Ground&lt;br /&gt;
|Black&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|MMT&lt;br /&gt;
|Temp Sensor&lt;br /&gt;
|Red&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Park Shift Linkage Motor ===&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
[https://www.youtube.com/watch?v=5lg6yC5_-Bs&amp;amp;t=1953s Weber State University: 2010 - 2015 Prius Transaxle - P410 Deep Dive]&lt;br /&gt;
&lt;br /&gt;
https://info.ornl.gov/sites/publications/files/pub26762.pdf&lt;br /&gt;
&lt;br /&gt;
[[wikipedia:Toyota_Prius_(XW30)|Toyota Prius (XW30) Wikipedia]]&lt;br /&gt;
&lt;br /&gt;
https://toyota-club.net/files/faq/21-12-01_faq_hybrid_tr_en.htm&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Toyota]] [[Category:Motor]]&lt;br /&gt;
&amp;lt;references /&amp;gt;https://youtu.be/PIYNAroYEk0 (How the Prius Hybrid Drivetrain Works (Explained))&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Toyota_P410_CVT&amp;diff=3350</id>
		<title>Toyota P410 CVT</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Toyota_P410_CVT&amp;diff=3350"/>
		<updated>2023-02-21T09:13:49Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: /* Applications */ Added reference Youtube Gen3 Prius drivetrain demonstrator video link regarding How the Prius Hybrid Drivetrain Works (Explained).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
The P410 is considered a third generation e-CVT.&lt;br /&gt;
&lt;br /&gt;
=== Model Code ===&lt;br /&gt;
3JM&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* Toyota Prius (2010-2015) - &amp;lt;nowiki&amp;gt;https://youtu.be/PIYNAroYEk0&amp;lt;/nowiki&amp;gt; (How the Prius Hybrid Drivetrain Works (Explained))&lt;br /&gt;
* Toyota Plug-in Hybrid (2012-2015)&lt;br /&gt;
* Toyota Prius V (2010-2017)&lt;br /&gt;
* Lexus CT 200h (2011-?)&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
=== MG1 ===&lt;br /&gt;
Rated Voltage: 650V&lt;br /&gt;
&lt;br /&gt;
Max Output: 42kW&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;https://info.ornl.gov/sites/publications/files/pub26762.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MAX RPM: 13500&lt;br /&gt;
&lt;br /&gt;
=== Power Split Device (PSD)&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;https://www.youtube.com/watch?v=5lg6yC5_-Bs&amp;amp;t=1953s&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
Planetary gears (4x) 23 teeth - carrier connected to transaxle input shaft and oil pump&lt;br /&gt;
&lt;br /&gt;
Sun gear 30 teeth - connected to MG1&lt;br /&gt;
&lt;br /&gt;
Ring gear 78 teeth - inside Drive Gear&lt;br /&gt;
&lt;br /&gt;
Locked input shaft (stationary carrier) gives -2.6:1 ratio from MG1 to Drive Gear&lt;br /&gt;
&lt;br /&gt;
=== MG2 ===&lt;br /&gt;
Rated Voltage: 650V&lt;br /&gt;
&lt;br /&gt;
Max Output Power: 60 KW (80 HP) (18 second rating to 150C stator temperature with 25C coolant temperature)&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Max Output Torque: 207 NM (153 lb-ft)&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; at ~250A&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Max RPM: 13500&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Motor Speed Reduction Gearset (MSR)&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt; ===&lt;br /&gt;
Planetary gears (5x) 18 teeth - carrier connected to case/fixed.&lt;br /&gt;
&lt;br /&gt;
Sun gear 22 teeth - connected to MG2&lt;br /&gt;
&lt;br /&gt;
Ring gear 58 teeth - inside Drive Gear&lt;br /&gt;
&lt;br /&gt;
MG2 to Drive Gear ratio 2.636:1&lt;br /&gt;
&lt;br /&gt;
=== Final Drive Ratio&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt; ===&lt;br /&gt;
Drive Gear 55 teeth - contains PSD and MSR ring gears&lt;br /&gt;
&lt;br /&gt;
Counter Driven Gear 54 teeth - on same shaft as Final Drive gear&lt;br /&gt;
&lt;br /&gt;
Drive Gear to Counter Driven Gear ratio 1.0815:1&lt;br /&gt;
&lt;br /&gt;
Final Drive Gear 24 teeth&lt;br /&gt;
&lt;br /&gt;
Differential Ring Gear (Final Driven Gear) 77 teeth&lt;br /&gt;
&lt;br /&gt;
Final Drive Ratio 3.208:1&lt;br /&gt;
&lt;br /&gt;
MG2 to axle output total gear ratio 8.613:1&lt;br /&gt;
&lt;br /&gt;
MG1 to axle output total gear ratio with locked input shaft 8.495:1&lt;br /&gt;
&lt;br /&gt;
=== Oil Pump ===&lt;br /&gt;
Trochoid pump driven by engine shaft.  The pump is mounted externally on the case.&lt;br /&gt;
&lt;br /&gt;
=== Fluid Capacity ===&lt;br /&gt;
??L of Toyota WS fluid.&lt;br /&gt;
&lt;br /&gt;
=== Dimensions ===&lt;br /&gt;
&lt;br /&gt;
=== Weight ===&lt;br /&gt;
202.8 lbs&lt;br /&gt;
&lt;br /&gt;
== Connections ==&lt;br /&gt;
&lt;br /&gt;
=== MG1 Stator ===&lt;br /&gt;
&lt;br /&gt;
=== MG2 Stator ===&lt;br /&gt;
&lt;br /&gt;
=== MG1 Resolver and Temperature Sensor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+[[File:MG1 Resolver and Temperature Sensor.jpg|thumb]]&lt;br /&gt;
!PIN&lt;br /&gt;
!Label&lt;br /&gt;
!Descriptoin&lt;br /&gt;
!Factory Wire Color&lt;br /&gt;
|-&lt;br /&gt;
|1 (upper right)&lt;br /&gt;
|GRF&lt;br /&gt;
|EXC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GSN&lt;br /&gt;
|SIN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GCS&lt;br /&gt;
|COS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4 (upper left)&lt;br /&gt;
|GMT&lt;br /&gt;
|Temp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5 (lower right)&lt;br /&gt;
|GRG&lt;br /&gt;
|EXCG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|GSNG&lt;br /&gt;
|SING&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|GCSG&lt;br /&gt;
|COSG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8 (lower left)&lt;br /&gt;
|GMTG&lt;br /&gt;
|Temp Ground&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== MG2 Resolver ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+[[File:MG2 Resolver Gen 3.jpg|thumb]]&lt;br /&gt;
!PIN&lt;br /&gt;
!Label&lt;br /&gt;
!Description&lt;br /&gt;
!Factory Wire Color&lt;br /&gt;
|-&lt;br /&gt;
|1 (top)&lt;br /&gt;
|MSN&lt;br /&gt;
|SINE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|MCS&lt;br /&gt;
|COS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|MRF&lt;br /&gt;
|Exciter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|MSNG&lt;br /&gt;
|SINE Ground&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|MCSG&lt;br /&gt;
|COS Ground&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6 (bottom)&lt;br /&gt;
|MRFG&lt;br /&gt;
|Exciter Ground&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== MG2 Temperature Sensor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+[[File:MG2 Temperature Sensor.jpg|thumb]]&lt;br /&gt;
!PIN&lt;br /&gt;
!Label&lt;br /&gt;
!Description&lt;br /&gt;
!Factory Wire Color&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|MMTG&lt;br /&gt;
|Temp Sensor Ground&lt;br /&gt;
|Black&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|MMT&lt;br /&gt;
|Temp Sensor&lt;br /&gt;
|Red&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Park Shift Linkage Motor ===&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
[https://www.youtube.com/watch?v=5lg6yC5_-Bs&amp;amp;t=1953s Weber State University: 2010 - 2015 Prius Transaxle - P410 Deep Dive]&lt;br /&gt;
&lt;br /&gt;
https://info.ornl.gov/sites/publications/files/pub26762.pdf&lt;br /&gt;
&lt;br /&gt;
[[wikipedia:Toyota_Prius_(XW30)|Toyota Prius (XW30) Wikipedia]]&lt;br /&gt;
&lt;br /&gt;
https://toyota-club.net/files/faq/21-12-01_faq_hybrid_tr_en.htm&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Toyota]] [[Category:Motor]]&lt;br /&gt;
&amp;lt;references /&amp;gt;https://youtu.be/PIYNAroYEk0 (How the Prius Hybrid Drivetrain Works (Explained))&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Toyota_P410_CVT&amp;diff=3349</id>
		<title>Toyota P410 CVT</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Toyota_P410_CVT&amp;diff=3349"/>
		<updated>2023-02-21T09:01:55Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: Added reference Youtube Gen3 Prius drivetrain demonstrator video link regarding How the Prius Hybrid Drivetrain Works (Explained).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
The P410 is considered a third generation e-CVT.&lt;br /&gt;
&lt;br /&gt;
=== Model Code ===&lt;br /&gt;
3JM&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* Toyota Prius (2010-2015)&lt;br /&gt;
* Toyota Plug-in Hybrid (2012-2015)&lt;br /&gt;
* Toyota Prius V (2010-2017)&lt;br /&gt;
* Lexus CT 200h (2011-?)&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
=== MG1 ===&lt;br /&gt;
Rated Voltage: 650V&lt;br /&gt;
&lt;br /&gt;
Max Output: 42kW&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;https://info.ornl.gov/sites/publications/files/pub26762.pdf&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MAX RPM: 13500&lt;br /&gt;
&lt;br /&gt;
=== Power Split Device (PSD)&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;https://www.youtube.com/watch?v=5lg6yC5_-Bs&amp;amp;t=1953s&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
Planetary gears (4x) 23 teeth - carrier connected to transaxle input shaft and oil pump&lt;br /&gt;
&lt;br /&gt;
Sun gear 30 teeth - connected to MG1&lt;br /&gt;
&lt;br /&gt;
Ring gear 78 teeth - inside Drive Gear&lt;br /&gt;
&lt;br /&gt;
Locked input shaft (stationary carrier) gives -2.6:1 ratio from MG1 to Drive Gear&lt;br /&gt;
&lt;br /&gt;
=== MG2 ===&lt;br /&gt;
Rated Voltage: 650V&lt;br /&gt;
&lt;br /&gt;
Max Output Power: 60 KW (80 HP) (18 second rating to 150C stator temperature with 25C coolant temperature)&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Max Output Torque: 207 NM (153 lb-ft)&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt; at ~250A&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Max RPM: 13500&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Motor Speed Reduction Gearset (MSR)&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt; ===&lt;br /&gt;
Planetary gears (5x) 18 teeth - carrier connected to case/fixed.&lt;br /&gt;
&lt;br /&gt;
Sun gear 22 teeth - connected to MG2&lt;br /&gt;
&lt;br /&gt;
Ring gear 58 teeth - inside Drive Gear&lt;br /&gt;
&lt;br /&gt;
MG2 to Drive Gear ratio 2.636:1&lt;br /&gt;
&lt;br /&gt;
=== Final Drive Ratio&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt; ===&lt;br /&gt;
Drive Gear 55 teeth - contains PSD and MSR ring gears&lt;br /&gt;
&lt;br /&gt;
Counter Driven Gear 54 teeth - on same shaft as Final Drive gear&lt;br /&gt;
&lt;br /&gt;
Drive Gear to Counter Driven Gear ratio 1.0815:1&lt;br /&gt;
&lt;br /&gt;
Final Drive Gear 24 teeth&lt;br /&gt;
&lt;br /&gt;
Differential Ring Gear (Final Driven Gear) 77 teeth&lt;br /&gt;
&lt;br /&gt;
Final Drive Ratio 3.208:1&lt;br /&gt;
&lt;br /&gt;
MG2 to axle output total gear ratio 8.613:1&lt;br /&gt;
&lt;br /&gt;
MG1 to axle output total gear ratio with locked input shaft 8.495:1&lt;br /&gt;
&lt;br /&gt;
=== Oil Pump ===&lt;br /&gt;
Trochoid pump driven by engine shaft.  The pump is mounted externally on the case.&lt;br /&gt;
&lt;br /&gt;
=== Fluid Capacity ===&lt;br /&gt;
??L of Toyota WS fluid.&lt;br /&gt;
&lt;br /&gt;
=== Dimensions ===&lt;br /&gt;
&lt;br /&gt;
=== Weight ===&lt;br /&gt;
202.8 lbs&lt;br /&gt;
&lt;br /&gt;
== Connections ==&lt;br /&gt;
&lt;br /&gt;
=== MG1 Stator ===&lt;br /&gt;
&lt;br /&gt;
=== MG2 Stator ===&lt;br /&gt;
&lt;br /&gt;
=== MG1 Resolver and Temperature Sensor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+[[File:MG1 Resolver and Temperature Sensor.jpg|thumb]]&lt;br /&gt;
!PIN&lt;br /&gt;
!Label&lt;br /&gt;
!Descriptoin&lt;br /&gt;
!Factory Wire Color&lt;br /&gt;
|-&lt;br /&gt;
|1 (upper right)&lt;br /&gt;
|GRF&lt;br /&gt;
|EXC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GSN&lt;br /&gt;
|SIN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GCS&lt;br /&gt;
|COS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4 (upper left)&lt;br /&gt;
|GMT&lt;br /&gt;
|Temp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5 (lower right)&lt;br /&gt;
|GRG&lt;br /&gt;
|EXCG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|GSNG&lt;br /&gt;
|SING&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|GCSG&lt;br /&gt;
|COSG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8 (lower left)&lt;br /&gt;
|GMTG&lt;br /&gt;
|Temp Ground&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== MG2 Resolver ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+[[File:MG2 Resolver Gen 3.jpg|thumb]]&lt;br /&gt;
!PIN&lt;br /&gt;
!Label&lt;br /&gt;
!Description&lt;br /&gt;
!Factory Wire Color&lt;br /&gt;
|-&lt;br /&gt;
|1 (top)&lt;br /&gt;
|MSN&lt;br /&gt;
|SINE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|MCS&lt;br /&gt;
|COS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|MRF&lt;br /&gt;
|Exciter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|MSNG&lt;br /&gt;
|SINE Ground&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|MCSG&lt;br /&gt;
|COS Ground&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6 (bottom)&lt;br /&gt;
|MRFG&lt;br /&gt;
|Exciter Ground&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== MG2 Temperature Sensor ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+[[File:MG2 Temperature Sensor.jpg|thumb]]&lt;br /&gt;
!PIN&lt;br /&gt;
!Label&lt;br /&gt;
!Description&lt;br /&gt;
!Factory Wire Color&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|MMTG&lt;br /&gt;
|Temp Sensor Ground&lt;br /&gt;
|Black&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|MMT&lt;br /&gt;
|Temp Sensor&lt;br /&gt;
|Red&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Park Shift Linkage Motor ===&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
[https://www.youtube.com/watch?v=5lg6yC5_-Bs&amp;amp;t=1953s Weber State University: 2010 - 2015 Prius Transaxle - P410 Deep Dive]&lt;br /&gt;
&lt;br /&gt;
https://info.ornl.gov/sites/publications/files/pub26762.pdf&lt;br /&gt;
&lt;br /&gt;
[[wikipedia:Toyota_Prius_(XW30)|Toyota Prius (XW30) Wikipedia]]&lt;br /&gt;
&lt;br /&gt;
https://toyota-club.net/files/faq/21-12-01_faq_hybrid_tr_en.htm&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Toyota]] [[Category:Motor]]&lt;br /&gt;
&amp;lt;references /&amp;gt;https://youtu.be/PIYNAroYEk0 (How the Prius Hybrid Drivetrain Works (Explained))&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Toyota_Auris/Yaris_Inverter&amp;diff=3348</id>
		<title>Toyota Auris/Yaris Inverter</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Toyota_Auris/Yaris_Inverter&amp;diff=3348"/>
		<updated>2023-02-21T06:51:40Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: Added two video links in first section showing teardown and disassembly of Gen3 Inverter-Converter Assembly&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Th Auris/Yaris Inverter Board is an open source project to repurpose Toyota Auris/Yaris (and Prius C , Prius Aqua and Lexus CT200H) inverters for DIY EV use.&lt;br /&gt;
&lt;br /&gt;
The inverters are nearly identical to Toyota Prius Gen 3 inverters, with a smaller format logic board to fit under a sloped casing. It is believed to have a smaller main capacitor and hence be of lower power capabilities [* Needs testing to confirm and adding here ] &lt;br /&gt;
&lt;br /&gt;
They are inexpensive (&amp;lt;£100 in UK at the start of 2021) and suitable for a variety of EV / Charger and other inverter projects.&lt;br /&gt;
&lt;br /&gt;
See these videos for a teardown, disassembly and explanation of the Gen3 Inverter:&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=Pw3JqkI6VO4 (Teardown)&lt;br /&gt;
&lt;br /&gt;
https://youtu.be/QBoRSXIwZQs (Regarding p0a94 error code for DC-DC Converter Performance)&lt;br /&gt;
&lt;br /&gt;
The Project consists of a open inverter circuit board (adapted from Prius Gen3 board) and programming which replaces the OEM logic board in the Auris/Yaris inverter.&lt;br /&gt;
&lt;br /&gt;
This allows independent control of mg1 power stage, mg2 power stage, buck/boost converter and the DC/DC converter.&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
Support thread is here : https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=767&lt;br /&gt;
&lt;br /&gt;
For using it as a charger , thread is here : https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=825&lt;br /&gt;
&lt;br /&gt;
Resources and design files on Github : https://github.com/damienmaguire/Yaris-Auris-Inverter&lt;br /&gt;
&lt;br /&gt;
Available on the EVBMW.COM webshop : [https://www.evbmw.com/index.php/evbmw-webshop/toyota-built-and-tested-boards/auris-yaris-inverter-logic-board-kit evbmw.com Yaris/Auris boards] in partial built and full kit format.&lt;br /&gt;
&lt;br /&gt;
There is a Auris/Yaris version of the dual motor board which allows both MG1 and MG2 of Toyota transmissions or (any 2 other suitable motors) to be powered by the same inverter, support thread here: https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=1051&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
17/05/20 : Prototype build commenced at JLCPCB.&lt;br /&gt;
&lt;br /&gt;
[[Category:OEM]] [[Category:Toyota]] [[Category:Inverter]]&lt;br /&gt;
&lt;br /&gt;
28/06/20 : Block 2 boards with corrections to incorrect pinouts and component values now available from the evbmw webshop. https://www.evbmw.com/index.php/evbmw-w&amp;amp;#x20;...&amp;amp;#x20;-board-kit&lt;br /&gt;
&lt;br /&gt;
24/09/20 Firmware now available to run the buck/boost module as an AC onboard charger: HERE: https://github.com/celeron55/prius3charger_buck&lt;br /&gt;
&lt;br /&gt;
Schematic and pcb layout uploaded to github : https://github.com/damienmaguire/Yaris-Auris-Inverter&lt;br /&gt;
&lt;br /&gt;
Design files available to Patrons only as of this date. &amp;lt;nowiki&amp;gt;https://www.patreon.com/evbmw&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schematic and pcb layout for Dual Motor boards on Github here : https://github.com/damienmaguire/Prius-Gen3-Inverter/tree/master/Small%20board%20V1d&lt;br /&gt;
&lt;br /&gt;
=== Buildup and setup ===&lt;br /&gt;
Most of the build-up / setup is identical to the V1C Prius board here:  [[Toyota Prius Gen3 Board]]&lt;br /&gt;
&lt;br /&gt;
Video build tutorials here : https://www.youtube.com/watch?v=QE-zym8iIgM&amp;amp;t=439s ,here : https://www.youtube.com/watch?v=Nu5_OBOPk4s&amp;amp;t=319s and here&amp;lt;nowiki/&amp;gt;https://www.youtube.com/watch?v=xoNs2NqjXd8&lt;br /&gt;
&lt;br /&gt;
FOC Setup and tuning is as per Prius gen3 here : https://www.youtube.com/watch?v=tirDQJ6iH28&amp;amp;t=2306s&lt;br /&gt;
&lt;br /&gt;
=== Also Note ===&lt;br /&gt;
But also note : (Source https://openinverter.org/forum/viewtopic.php?f=14&amp;amp;t=767 )&lt;br /&gt;
&lt;br /&gt;
# On the Yaris boards (block111 and before) when using resolver you would need to remove the two pullups R30 and R29. See schematic :&lt;br /&gt;
&lt;br /&gt;
https://raw.githubusercontent.com/damie&amp;amp;#x20;...&amp;amp;#x20;ematic.pdf&lt;br /&gt;
&lt;br /&gt;
2. There is an error on early boards (block 111 and before) : MG1 resistor divider values are wrong. R41 and 42 should be 6k2 not 4k7 and R46 and R45 should be 3k6 not 4k7.&lt;br /&gt;
&lt;br /&gt;
3. The MG2 current sensor socket has the pins reversed. this can be solved by cutting the socket to allow the plug in upside down or by cutting and resoldering the current sensor wires. Plugging them in will kill the -5v output of PS1 (a SGM3204 SOT if you live in china ) or a LM2776DBVT for europe&lt;br /&gt;
&lt;br /&gt;
4. Conn11 is the external hvil which is not used.&lt;br /&gt;
&lt;br /&gt;
5. vcc+5v may be problematic , it may be at the limit of it&#039;s current due to use by Wifi and current sensors possibly causing a reduced Vcc 5v. try adding an external +5v line.. [ * needs confirming]&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=3347</id>
		<title>Glossary of Terms</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Glossary_of_Terms&amp;diff=3347"/>
		<updated>2023-02-20T04:39:21Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: Added LIN Acronym/Term, Description and Wikipedia info to the Glossary letter L table.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A page to help to grips with the all the acronyms on the forums to get newbies up to speed and for general reference&lt;br /&gt;
&lt;br /&gt;
= A =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;AC&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Alternating current&#039;&#039;&#039; (&#039;&#039;&#039;AC&#039;&#039;&#039;) is an electric current which periodically reverses direction, in contrast to direct current (DC) which flows only in one direction.&lt;br /&gt;
|[[wikipedia:Alternating_current|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= B =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Acronym&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Battery Balancing&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Battery balancing&#039;&#039;&#039; and &#039;&#039;&#039;battery redistribution&#039;&#039;&#039; refer to techniques that improve the available capacity of a battery pack with multiple cells (usually in series) and increase each cell&#039;s longevity.&lt;br /&gt;
|[[wikipedia:Battery_balancing|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;BMS&#039;&#039;&#039;&lt;br /&gt;
|A &#039;&#039;&#039;battery management system&#039;&#039;&#039; (&#039;&#039;&#039;BMS&#039;&#039;&#039;) is any electronic system that manages a rechargeable battery (cell or battery pack), such as by protecting the battery from operating outside its safe operating area&lt;br /&gt;
|[[wikipedia:Battery_management_system|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;BOM&#039;&#039;&#039;&lt;br /&gt;
|A &#039;&#039;&#039;Bill of Materials (BOM)&#039;&#039;&#039; is a list of the raw materials, sub-assemblies, intermediate assemblies, sub-components, parts, and the quantities of each needed to manufacture an end product.&lt;br /&gt;
|[[wikipedia:Bill_of_materials|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Boost Converter&#039;&#039;&#039;&lt;br /&gt;
|A &#039;&#039;&#039;boost converter&#039;&#039;&#039; (&#039;&#039;&#039;step-up converter&#039;&#039;&#039;) is a DC-to-DC power converter that steps up voltage (while stepping down current) from its input (supply) to its output (load).&lt;br /&gt;
|[[wikipedia:Boost_converter|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Buck Converter&#039;&#039;&#039;&lt;br /&gt;
|A &#039;&#039;&#039;buck converter&#039;&#039;&#039; (&#039;&#039;&#039;step-down converter&#039;&#039;&#039;) is a DC-to-DC power converter which steps down voltage (while stepping up current) from its input (supply) to its output (load).&lt;br /&gt;
|[[wikipedia:Buck_converter|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= C =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CAN&#039;&#039;&#039;&lt;br /&gt;
|A &#039;&#039;&#039;Controller Area Network&#039;&#039;&#039; (&#039;&#039;&#039;CAN bus&#039;&#039;&#039;) is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other&#039;s applications without a host computer.&lt;br /&gt;
|[[wikipedia:CAN_bus|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CCS&#039;&#039;&#039;&lt;br /&gt;
|The &#039;&#039;&#039;Combined Charging System&#039;&#039;&#039; (&#039;&#039;&#039;CCS&#039;&#039;&#039;) covers charging electric vehicles using the &#039;&#039;&#039;Combo 1&#039;&#039;&#039; and &#039;&#039;&#039;Combo 2&#039;&#039;&#039; connectors at up to 350 kilowatts. These two connectors are extensions of the Type 1 and Type 2 connectors, with two additional direct current (DC) contacts to allow high-power DC fast charging.&lt;br /&gt;
|[[wikipedia:Combined_Charging_System|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CHAdeMO&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;CHAdeMO&#039;&#039;&#039; is the trade name of a quick charging method for battery electric vehicles delivering up to 62.5 kW by 500 V, 125 A direct current via a special electrical connector.&lt;br /&gt;
|[[wikipedia:CHAdeMO|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= D =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DC&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Direct current&#039;&#039;&#039; (&#039;&#039;&#039;DC&#039;&#039;&#039;) is the unidirectional flow of an electric charge. The electric current flows in a constant direction, distinguishing it from alternating current (AC).&lt;br /&gt;
|[[wikipedia:Direct_current|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoD&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Depth of Discharge (DoD)&#039;&#039;&#039; is the fraction or percentage of the capacity which has been removed from the fully charged battery.&lt;br /&gt;
|[[wikipedia:Depth_of_discharge|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= E =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;EVSE&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Electric vehicle supply equipment&#039;&#039;&#039; (&#039;&#039;&#039;EVSE&#039;&#039;&#039;), is an element in an infrastructure that supplies electric energy for the recharging of plug-in electric vehicles—including electric cars, neighborhood electric vehicles and plug-in hybrids.&lt;br /&gt;
|[[wikipedia:Charging_station|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= F =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FOC&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Field-Oriented Control (FOC)&#039;&#039;&#039;, is a variable-frequency drive (VFD) control method in which the stator currents of a three-phase AC electric motor are identified as two orthogonal components that can be visualized with a vector.&lt;br /&gt;
|[[wikipedia:Vector_control_(motor)|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= G =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= H =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HVDC&#039;&#039;&#039;&lt;br /&gt;
|A &#039;&#039;&#039;high-voltage, direct current&#039;&#039;&#039; (&#039;&#039;&#039;HVDC&#039;&#039;&#039;) electric power transmission system&lt;br /&gt;
|[[wikipedia:High-voltage_direct_current|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= I =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IGBT&#039;&#039;&#039;&lt;br /&gt;
|An &#039;&#039;&#039;insulated-gate bipolar transistor&#039;&#039;&#039; (&#039;&#039;&#039;IGBT&#039;&#039;&#039;) is a three-terminal power semiconductor device primarily used as an electronic switch which, as it was developed, came to combine high efficiency and fast switching.&lt;br /&gt;
|[[wikipedia:Insulated-gate_bipolar_transistor|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Inverter&#039;&#039;&#039;&lt;br /&gt;
|A &#039;&#039;&#039;power inverter&#039;&#039;&#039;, or &#039;&#039;&#039;inverter&#039;&#039;&#039;, is a power electronic device or circuitry that changes direct current (DC) to alternating current (AC).&lt;br /&gt;
|[[wikipedia:Power_inverter|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= J =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= K =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= L =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LiFePO&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|The &#039;&#039;&#039;lithium iron phosphate battery&#039;&#039;&#039; (&#039;&#039;&#039;LiFePO&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; battery&#039;&#039;&#039;) or &#039;&#039;&#039;LFP battery&#039;&#039;&#039; (&#039;&#039;lithium ferrophosphate&#039;&#039;), is a type of lithium-ion battery using LiFePO&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; as the cathode material&lt;br /&gt;
|[[wikipedia:Lithium_iron_phosphate_battery|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LIN&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;LIN&#039;&#039;&#039; (&#039;&#039;&#039;Local Interconnect Network&#039;&#039;&#039;) is a serial network protocol used for communication between components in vehicles. It is a single wire, serial network protocol that supports communications up to 19.2 Kbit/s at a bus length of 40 meters.&lt;br /&gt;
|[[wikipedia:Local_Interconnect_Network|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= M =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= N =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= O =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;OEM&#039;&#039;&#039;&lt;br /&gt;
|An &#039;&#039;&#039;original equipment manufacturer&#039;&#039;&#039; (&#039;&#039;&#039;OEM&#039;&#039;&#039;) is a company that produces parts and equipment for another manufacturer.&lt;br /&gt;
|[[wikipedia:Original_equipment_manufacturer|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= P =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PCB&#039;&#039;&#039;&lt;br /&gt;
|A &#039;&#039;&#039;printed circuit board&#039;&#039;&#039; (&#039;&#039;&#039;PCB&#039;&#039;&#039;) mechanically supports and electrically connects electrical or electronic components using conductive tracks, pads and other features etched from one or more sheet layers of copper laminated onto and/or between sheet layers of a non-conductivesubstrate.&lt;br /&gt;
|[[wikipedia:Printed_circuit_board|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PFC&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;power factor correction&#039;&#039;&#039; Aims to draw a sinusoidal current from a sinusoidal voltage source. The quick current loop on the openinverter firmware somewhat achieves this when in boost mode, i.e. it boosts more in the sine &amp;quot;valley&amp;quot; and boosts less at the peak.&lt;br /&gt;
Boost mode would require a (discharged) battery voltage below peak voltage and a rectified voltage to be fed in to the original battery input.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Power Factor&#039;&#039;&#039;&lt;br /&gt;
|The &#039;&#039;&#039;power factor&#039;&#039;&#039; of an AC electrical power system is defined as the ratio of the &#039;&#039;real power&#039;&#039; absorbed by the load to the &#039;&#039;apparent power&#039;&#039; flowing in the circuit, and is a dimensionless number in the closed interval of −1 to 1.&lt;br /&gt;
|[[wikipedia:Power_factor|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PWM&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Pulse-width modulation&#039;&#039;&#039; (&#039;&#039;&#039;PWM&#039;&#039;&#039;) is a method of reducing the average power delivered by an electrical signal, by effectively chopping it up into discrete parts. The average value of voltage (and current) fed to the load is controlled by turning the switch between supply and load on and off at a fast rate. &lt;br /&gt;
|[[wikipedia:Pulse-width_modulation|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Q =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= R =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= S =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SDO&#039;&#039;&#039;&lt;br /&gt;
|From CANopen, the SDO protocol is used for setting and for reading values from the object dictionary of a remote device. &lt;br /&gt;
|[[wikipedia:CANopen#Service_Data_Object_(SDO)_protocol|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Single-phase electric power&#039;&#039;&#039;&lt;br /&gt;
|In electrical engineering, &#039;&#039;&#039;single-phase electric power&#039;&#039;&#039; is the distribution of alternating current electric power using a system in which all the voltagesof the supply vary in unison.&lt;br /&gt;
|[[wikipedia:Single-phase_electric_power|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SoC&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;State of charge&#039;&#039;&#039; (&#039;&#039;&#039;SoC&#039;&#039;&#039;) is the level of charge of an electric battery relative to its capacity.&lt;br /&gt;
|[[wikipedia:State_of_charge|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SoH&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;State of health&#039;&#039;&#039; (SoH) is a figure of merit of the condition of a battery (or a cell, or a battery pack), compared to its ideal conditions. The units of SoH are percent points (100% = the battery&#039;s conditions match the battery&#039;s specifications).&lt;br /&gt;
|[[wikipedia:State_of_health|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= T =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Three-phase electric power&#039;&#039;&#039;&lt;br /&gt;
|In a symmetric three-phase power supply system, three conductors each carry an alternating current of the same frequency and voltage amplitude relative to a common reference but with a phase difference of one third of a cycle between each.&lt;br /&gt;
|[[wikipedia:Three-phase_electric_power|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= U =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= V =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;VAC&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;VAC&#039;&#039;&#039; is an abbreviation for &amp;quot;volts AC&amp;quot;, where AC stands for &#039;alternating current&#039;.&lt;br /&gt;
|[[wikipedia:Alternating_current|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;VDC&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;VDC&#039;&#039;&#039; is an abbreviation for &amp;quot;volts DC.&amp;quot; DC stands for &amp;quot;direct current,&amp;quot; which means the &#039;&#039;&#039;voltage&#039;&#039;&#039; is constant (as opposed to AC, alternating current)&lt;br /&gt;
|[[wikipedia:Direct_current|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= W =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;STM32&#039;&#039;&#039;&lt;br /&gt;
|The STM32 family of 32-bit microcontrollers based on the Arm® Cortex®-M processor is designed to offer new degrees of freedom to MCU users. It offers products combining very high performance, real-time capabilities, digital signal processing, low-power / low-voltage operation, and connectivity, while maintaining full integration and ease of development.&lt;br /&gt;
|[[wikipedia:STM32|Link]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= X =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Y =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Z =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= [0-9] =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Acronym / Term&lt;br /&gt;
!Description&lt;br /&gt;
!Wikipedia&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1 Phase Power&#039;&#039;&#039;&lt;br /&gt;
|In electrical engineering, &#039;&#039;&#039;single-phase electric power&#039;&#039;&#039; is the distribution of alternating current electric power using a system in which all the voltagesof the supply vary in unison.&lt;br /&gt;
|[[wikipedia:Single-phase_electric_power|Link]]&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;3 Phase Power&#039;&#039;&#039; &lt;br /&gt;
|In a symmetric three-phase power supply system, three conductors each carry an alternating current of the same frequency and voltage amplitude relative to a common reference but with a phase difference of one third of a cycle between each.&lt;br /&gt;
|[[wikipedia:Three-phase_electric_power|Link]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Getting_started_with_CAN_bus&amp;diff=3346</id>
		<title>Getting started with CAN bus</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Getting_started_with_CAN_bus&amp;diff=3346"/>
		<updated>2023-02-20T04:32:22Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: Added LIN Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;Controller Area Network&#039;&#039;&#039; (&#039;&#039;&#039;CAN bus&#039;&#039;&#039;) is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other&#039;s applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles to save on copper, but it can also be used in many other contexts. For each device, the data in a frame is transmitted sequentially but in such a way that if more than one device transmits at the same time, the highest priority device can continue while the others back off. Frames are received by all devices, including by the transmitting device. &lt;br /&gt;
&lt;br /&gt;
For more info and history on can see: https://en.wikipedia.org/wiki/CAN_bus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This page will help get you started with CAN bus.&lt;br /&gt;
&lt;br /&gt;
Some people will tell you CAN is hard or complicated. They&#039;re wrong. The hardware you need isn&#039;t expensive and you don&#039;t need to be a programming whiz. Even Damien can do it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://youtu.be/K4HwHQOluSg&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few routes you can take, depending on what you want to do:&lt;br /&gt;
&lt;br /&gt;
== I want to receive or send simple CAN bus messages... ==&lt;br /&gt;
If you already know which CAN bus messages you want to send or receive, one of the cheapest ways to do this is with an [[Getting started with CAN bus and an Arduino Uno|Arduino Uno and a suitable CAN bus shield]]. &lt;br /&gt;
&lt;br /&gt;
== I want to analyse CAN bus traffic and possibly do some serious hacking... ==&lt;br /&gt;
If you want to analyse CAN bus messages on an existing vehicle, you&#039;ll need the help of some software. You can use the free [https://www.savvycan.com SavvyCAN software] together with a [[CAN bus with Arduino Due|suitably configured Arduino Due]] or [[Getting CAN working on a Teensy 3.6|Teensy]]. Alternatively, you can buy a [https://store.evtv.me/products/evtvdue2?_pos=3&amp;amp;_sid=e04f934ae&amp;amp;_ss=r pre-configured Due-based kit from EVTV].     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=MsrXs-tJKaY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| role=&amp;quot;presentation&amp;quot; class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
| &amp;lt;strong&amp;gt;Transcript&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
hello folks welcome to another fun packed episode presented by the gomcat and yours truly so before we get into the detail of today&#039;s episode as usual just the health warning it would be extremely boring it will not be of any entertaining value so if you&#039;re here for entertainment up there search box funny cat video&lt;br /&gt;
&lt;br /&gt;
00:00:41&lt;br /&gt;
&lt;br /&gt;
It&#039;s your friend also uh this video will be available free of any and all advertising on vimeo should you find yourself on old youtube so what are we going to talk about today well today we&#039;re going to talk about the topic of can logging i&#039;m going to tell you what can logging is hopefully tell you what it is not because there&#039;s quite a bit of&lt;br /&gt;
&lt;br /&gt;
00:01:11&lt;br /&gt;
&lt;br /&gt;
Misinformation out there and also we will show you the basics of how to do it for yourself yes that&#039;s right okay gomcat just reminded me so reason for making this particular video is that as some of you will know for the past while i&#039;ve been working on the bmw i3 lim for the purposes of getting ccs fast charging available to the masses&lt;br /&gt;
&lt;br /&gt;
00:01:49&lt;br /&gt;
&lt;br /&gt;
And the way that that has primarily been done the enabling piece of the puzzle has been through the use of can logs now i have been appealing to two people on various platforms to perform some can bus logging for me and it became apparent that i guess not a lot of people really understood what it was that i was asking them to do so hopefully this video uh&lt;br /&gt;
&lt;br /&gt;
00:02:23&lt;br /&gt;
&lt;br /&gt;
Excuse me will help to fill in the uh blanks so i&#039;m not going to get into what a CAN bus is um if you don&#039;t know what that is i&#039;d suggest a quick internet search there&#039;s a lot of information out there but i guess a one sentence would be that it is a means for the control units in a modern vehicle so all the&lt;br /&gt;
&lt;br /&gt;
00:02:51&lt;br /&gt;
&lt;br /&gt;
Little computers to exchange data because they need to do that uh for exa example the engine control computer would need to be able to speak to the gearbox controller would be able to need to speak to the abs traction control system and so forth and they do that by means of exchanging data via can so it&#039;s a little bit like computer networks where we plug ethernet cables&lt;br /&gt;
&lt;br /&gt;
00:03:24&lt;br /&gt;
&lt;br /&gt;
Into our computer so that they can exchange data with other computers either locally or on the internet and can bus is a way for all the little control boxes in your vehicle to exchange data so what is a can bus log a simple analogy for a can bus log is a bit like the old days of tapping a landline phone so let&#039;s say that we had four people on a conference call so we would come&lt;br /&gt;
&lt;br /&gt;
00:04:05&lt;br /&gt;
&lt;br /&gt;
Along connect to the phone line without any of the four people knowing that we were there and record their conversation we would then have a log or a recording of the information that those four people exchanged during the course of that conversation that would then allow us to analyze how the words in this case but in the case of can how the data flowed between those four&lt;br /&gt;
&lt;br /&gt;
00:04:42&lt;br /&gt;
&lt;br /&gt;
People that we analogize to four control units in a car and it lets us then speak the same not only the same language but speak the same words in the same way as they were spoken during the original conversation so that we can take a module away from its parent vehicle put it in a different vehicle or in a different application&lt;br /&gt;
&lt;br /&gt;
00:05:14&lt;br /&gt;
&lt;br /&gt;
And basically fool it into thinking that it is still in its parent vehicle and get it to work and perform its originally intended tasks for us so in the case of the lim i have another one of these in my e46 touring that is fairly convinced at the minute that it&#039;s still in a nice shiny 2017 i3 but like all things uh nothing is ever as easy as&lt;br /&gt;
&lt;br /&gt;
00:05:47&lt;br /&gt;
&lt;br /&gt;
It sounds and it&#039;s learning a language and learning a dialect we make a lot of mistakes and our little control units can be very strict about any of those mistakes and they can say no i don&#039;t like what you&#039;ve just said to me or the speed at which you&#039;ve just said it or the order in which you have spoken the words&lt;br /&gt;
&lt;br /&gt;
00:06:12&lt;br /&gt;
&lt;br /&gt;
And i&#039;m gonna go away now and cry so the logs are the first step interpreting the logs is the second step and then forming our own communications that we can use with the control units are the final step so the more logs that we have the richer the data set is and the easier it is to learn the language and see the nuances and understand&lt;br /&gt;
&lt;br /&gt;
00:06:48&lt;br /&gt;
&lt;br /&gt;
Better how to talk the language that our control boxes are expecting so that&#039;s what can logging is and why we need to do it it is the lifeblood of modern uh vehicle reverse engineering and repurposing of modules from basically crashed or end of cars finally the gomcat is going to explain to us what can logging is not and that&#039;s a&lt;br /&gt;
&lt;br /&gt;
00:07:25&lt;br /&gt;
&lt;br /&gt;
Very important area over to you gomcat the camera&#039;s on seriously okay i guess i&#039;ll be explaining to you today folks what can logging is not so quite simply can logging is not a way for me to steal your personal info or indeed it&#039;s not a way for&lt;br /&gt;
&lt;br /&gt;
00:07:58&lt;br /&gt;
&lt;br /&gt;
Anyone to steal your personal info um yes there is vehicle specific in from informa information typically contained within can logs and depending on which can bus that we&#039;re communicating with there may be more or less of that vehicle specific information to take the example of the limb it is connected to the powertrain can so examples of messages that would be&lt;br /&gt;
&lt;br /&gt;
00:08:29&lt;br /&gt;
&lt;br /&gt;
Exchanged over powertrain can would be your battery voltage your state of charge the current draw what the charger is doing what the motor and inverter are doing the vehicle speed things like that in terms of vehicle specific personal information about the worst of it that we see on these logs from di3 is the vin and the mileage from the parent vehicle now if we got into other areas of the&lt;br /&gt;
&lt;br /&gt;
00:09:06&lt;br /&gt;
&lt;br /&gt;
Car could we get access to phone records and things like that i guess so but not on powertrain can and powertrain can is the stuff that we&#039;re interested in so i have a few can logs from a bmw i3 here and if i were some hacker type person that wanted to follow up one of these people&lt;br /&gt;
&lt;br /&gt;
00:09:35&lt;br /&gt;
&lt;br /&gt;
Or hunt them down or get into their bank accounts or um stalk them or do any of that stuff do we hear about um i would be absolutely wasting my time with those powertrain can logs folks so i just wanted to get that point across uh so that people understand it that it&#039;s not any kind of a security risk um or that the kind of people&lt;br /&gt;
&lt;br /&gt;
00:10:02&lt;br /&gt;
&lt;br /&gt;
Like myself that are involved in this have some kind of nefarious intent so now with that out of the way hopefully you&#039;ll now understand uh what a can log is why we do it and what it&#039;s not so what i&#039;m going to do now is i&#039;m not going to bother asking the gomkat to do to do this part i&#039;m going to show you physically how we would connect to a can bus and i&#039;ll show you some of the hardware&lt;br /&gt;
&lt;br /&gt;
00:10:32&lt;br /&gt;
&lt;br /&gt;
That you can buy and some of the excellent free software that you can download for yourself and experiment with that not only lets us see the raw can data but more importantly gives us the tools to reverse engineer it and to interpret it in a much more human readable way so let&#039;s get to that and uh hopefully i can get him to do something then because&lt;br /&gt;
&lt;br /&gt;
00:11:02&lt;br /&gt;
&lt;br /&gt;
This was supposed to be a giant production today but look at this okay so let&#039;s get straight to it what is a canvas well it&#039;s pretty damn complicated here we have a bare circuit board that in this case we&#039;ll say that this is some module in your car that is doing something it could be controlling headlights could be&lt;br /&gt;
&lt;br /&gt;
00:11:35&lt;br /&gt;
&lt;br /&gt;
Just i guess anything windows anything physically in your car that needs to be controlled it&#039;s connected to a can bus from the can bus is basically two wires that&#039;s it in this case the red wire is can high and black wire is called can low and this this is a differential bus so you don&#039;t actually need a ground&lt;br /&gt;
&lt;br /&gt;
00:12:03&lt;br /&gt;
&lt;br /&gt;
Or anything else you just need these two wires and through the signals that are transmitted on these we can get a lot of information sharing going on so let&#039;s say that we had this boss going to this control ue unit and we were interested in reverse engineering this control unit here and we want to know what can information that it transmits and most importantly what it&lt;br /&gt;
&lt;br /&gt;
00:12:44&lt;br /&gt;
&lt;br /&gt;
Expects to see coming back into it in order for it to believe that it&#039;s still in its parent vehicle and will perform the foot the function that we want it to so all throughout the car we&#039;re going to have these can bus wires so they will be typically in the loom and they will loop from unit to unit so you will have multiple what are called nodes on&lt;br /&gt;
&lt;br /&gt;
00:13:16&lt;br /&gt;
&lt;br /&gt;
The canvas so this board could be buried somewhere completely inaccessible in our car we don&#039;t need to go tearing the car apart all we need to do is to find a convenient location where we can access the same can bus so the two wires that are connected to our module that we&#039;re we&#039;re interested in&lt;br /&gt;
&lt;br /&gt;
00:13:44&lt;br /&gt;
&lt;br /&gt;
So next thing we need to do is to put something in here that can listen to the the canvas now there are multiple pieces of hardware available for performing this task some of them super cheap some of them super expensive and a lot of them in the middle i&#039;m not going to attempt to cover all of them um or&lt;br /&gt;
&lt;br /&gt;
00:14:17&lt;br /&gt;
&lt;br /&gt;
To try to say well you know this one&#039;s better than that one the ones that i use are typically things that i have myself that i&#039;ve pieced to gather but there is one important thing that we have to specificfy here is that automotive can buses particularly particularly powertrain can buses run with a lot of data on them example the bmw i3&lt;br /&gt;
&lt;br /&gt;
00:14:48&lt;br /&gt;
&lt;br /&gt;
Powertrain can runs at about two and a half thousand frames per second so if you can imagine that&#039;s like two and a half thousand wards per second on this particular phone line the tesla model 3 powertrain can pushes that up to depending on what the car is doing between three and a half and four thousand frames per second so a lot of the low-cost&lt;br /&gt;
&lt;br /&gt;
00:15:16&lt;br /&gt;
&lt;br /&gt;
Can bus loggers and things like that that you see will at best lose some of the conversation and most of the time won&#039;t even be able to listen to it they&#039;ll just sit there looking at you so the ones that i recommend that i&#039;ve used are based on the Arduino DUE um ATMEL sam 3x80 microcontroller i&#039;ll bring you on to the&lt;br /&gt;
&lt;br /&gt;
00:15:47&lt;br /&gt;
&lt;br /&gt;
Computer in a few minutes and i will show you where you can purchase specific piece of hardware for doing just that so these little ones that i have on the bench today are kind of my hacky versions of a much neater piece of hardware that i will be showing to you but the principle remains the same we&#039;ll have a module we&#039;ll have a usb&lt;br /&gt;
&lt;br /&gt;
00:16:16&lt;br /&gt;
&lt;br /&gt;
Cable that we&#039;ll connect to it&#039;s just normal usb that we&#039;d have on most computers we&#039;ll have two wires coming out of this board strangely enough they&#039;ll be can high and can low and we will find a convenient place on our can bus that is connected to the module that we&#039;re interested in and we will basically tap into it we will connect our&lt;br /&gt;
&lt;br /&gt;
00:16:47&lt;br /&gt;
&lt;br /&gt;
Module into the can boss so now we&#039;ve effectively tapped the phone line and we can listen to the conversations on there we will not participate in them we will not put any of our information in here we will just listen and that is what a logging system does now obviously in this case here it&#039;s just a&lt;br /&gt;
&lt;br /&gt;
00:17:14&lt;br /&gt;
&lt;br /&gt;
Few wires that i have on the bench that are forming the can bus um and thus there&#039;s no problem cutting them and sticking our own connectors in here now quite understandably uh some folks particularly if they&#039;ve gone out and bought a new car don&#039;t like the idea of some weirdo on the internet and his very lazy cat uh connecting into their powertrain can bus or you know having to&lt;br /&gt;
&lt;br /&gt;
00:17:47&lt;br /&gt;
&lt;br /&gt;
Um strip the wire or to connect to it that&#039;s perfectly understandable hell i wouldn&#039;t let someone i mean you have to cut that part out yeah okay right so there&#039;s a few alternatives uh to doing that the first is that most of these buses will connect to places in the car where there will be um multi-pin connectors so elon will you let me&lt;br /&gt;
&lt;br /&gt;
00:18:15&lt;br /&gt;
&lt;br /&gt;
Elon thank you so you&#039;ll typically have a connector like this one this is from a tesla model 3. and you see here that there is a yellow and a blue wire that&#039;s actually a can bus so if this was in your vehicle plugged in somewhere then one way that we can gain access to the can bus without having to you know cut into the wiring is by a procedure known as&lt;br /&gt;
&lt;br /&gt;
00:18:42&lt;br /&gt;
&lt;br /&gt;
Back probing and if i can see how much preparation i put into my videos the gomcat was supposed to get the back probes out but of course he didn&#039;t do that either so what we have is typically a probe like this that&#039;s very fine and has a point we simply insert it through the back seal until it makes contact with the pin in the connect connector&lt;br /&gt;
&lt;br /&gt;
00:19:10&lt;br /&gt;
&lt;br /&gt;
Perform the log and remove the probe and there&#039;s no damage anywhere um so that&#039;s one way that we can circumvent having to cut into the wiring there is an even more better way and thanks to a donation by a member of the open inverter forum i have just such a device here that i can show to you now this little guy is an inventure cl can version 2.2 and what this&lt;br /&gt;
&lt;br /&gt;
00:19:47&lt;br /&gt;
&lt;br /&gt;
Is is it&#039;s an inductive can pick up so how does this does this work well it&#039;s got four wires we give it 12 volts and ground and it has can it&#039;s our yellow and blue wires here now on the back it&#039;s got two screws here so if we go on cat could you not have gotten the screwdriver out for me oh my god gonna be one of my worst productions&lt;br /&gt;
&lt;br /&gt;
00:20:16&lt;br /&gt;
&lt;br /&gt;
Ever this now i&#039;m gonna make an absolute idiot out of myself because i never do that on camera really really seriously you couldn&#039;t even have got a phillips screwdriver for my god yeah this co-hosting thing is really not going to work out is it seriously we got all flathead screwdrivers if i didn&#039;t want a flathead screwdriver okay okay okay they won&#039;t get angry&lt;br /&gt;
&lt;br /&gt;
00:20:42&lt;br /&gt;
&lt;br /&gt;
Won&#039;t get angry you know they say that these partnerships never work but okay you know i was wrong had to be me to be made to fool of again give me a second folks i&#039;m going to get a phillips screwdriver here all right so we&#039;ll just edit out that part there where i look like a complete idiot trying to open phillips screws with a flathead screwdriver&lt;br /&gt;
&lt;br /&gt;
00:21:07&lt;br /&gt;
&lt;br /&gt;
So as i was saying with the correct screwdriver look at that i&#039;ll use the screening can from the limb for something practical we simply take these two screws out of the back of it pop the back cover off and inside here so there&#039;s two little white lines one of them says can high one of them says can low so if we were to take our CAN bus wires and&lt;br /&gt;
&lt;br /&gt;
00:21:48&lt;br /&gt;
&lt;br /&gt;
Place the can low wire just without cutting it without doing anything in there like that and they can&#039;t hide wire just in on top of it there&#039;s a little thing on the back here to keep them separated so i think the actual correct way to do this is basically to stick them yeah there it is is basically to&lt;br /&gt;
&lt;br /&gt;
00:22:13&lt;br /&gt;
&lt;br /&gt;
Stick them around yeah there&#039;s these little padded things i haven&#039;t used this before so of course i&#039;m making an idiot out of myself i should ask the golem cat to um maybe to demonstrate this he&#039;s much more ambidextrous than me so we take our wires wrap them through the back cover just screw the back cover back on perform the can log do what we need to&lt;br /&gt;
&lt;br /&gt;
00:22:49&lt;br /&gt;
&lt;br /&gt;
Do we can take the screws out release the wires and that&#039;s it we&#039;re basically done that&#039;s our can log performed so there are many ways to do this in ways that do not risk you know anything being discovered any vehicle warranties being invalidated or anything&lt;br /&gt;
&lt;br /&gt;
00:23:16&lt;br /&gt;
&lt;br /&gt;
Of that nature so that&#039;s how we connect to a canvas finally i&#039;m going to go ahead now on the computer here and i will show you how we you know where to get a proper piece of hardware to perform this function and the relevant computer software that you would also need okay folks so this is uh we&#039;re on the computer here and what we&#039;re looking at is the EVTVDUE&lt;br /&gt;
&lt;br /&gt;
00:23:57&lt;br /&gt;
&lt;br /&gt;
micro controller board and this is what i would uh strongly recommend that you use for canvas logging so i&#039;ll put a link in the description to this web address here where you can go to purchase it it has a purchase price of just under 100 us dollars and you can come in here and you can read the instructions for it and a lot more of the data but just want to focus on one thing here&lt;br /&gt;
&lt;br /&gt;
00:24:32&lt;br /&gt;
&lt;br /&gt;
It&#039;ll be very simple so we have a usb port and so we connect to our computer we have four screw terminals on this connection block we have a ground and a power in case we want to run it in a car from a 12 volt supply but in the case of can logging we will simply be powering it from&lt;br /&gt;
&lt;br /&gt;
00:24:56&lt;br /&gt;
&lt;br /&gt;
The usb port and then the bottom is can i and can also are to our canvas and that&#039;s it that is our connect connection finally we need some software to run on our computer to connect to to this and that software is called savvycan and it&#039;s again i&#039;ll put a link to this address in the description and it is available here it is completely free and open source&lt;br /&gt;
&lt;br /&gt;
00:25:34&lt;br /&gt;
&lt;br /&gt;
And is basically without a doubt the best piece of software that you can get for can reverse engineering there is a good bit of uh discussion going on over on github here and i believe there is here a link to an older video that uh colin kidder who is the gentleman that designed and maintains this uh did uh so here it is here is a very basic&lt;br /&gt;
&lt;br /&gt;
00:26:08&lt;br /&gt;
&lt;br /&gt;
Video on how to use it and you can grab this for uh mac linux and windows both here and over on github so i&#039;d recommend that you go to the git github to get the latest version so i won&#039;t get into any detail on this at the minute and encourage people even have a passing interest grab this and you can download some of&lt;br /&gt;
&lt;br /&gt;
00:26:36&lt;br /&gt;
&lt;br /&gt;
The can logs from my uh github as well and have a look at them and you know get yourself a little bit more familiar with them so that just yeah you just get to see what&#039;s going on under the bonnet of your car in a little bit more detail so that&#039;s about it there&#039;s the hardware that you need and the accompanying&lt;br /&gt;
&lt;br /&gt;
00:27:04&lt;br /&gt;
&lt;br /&gt;
Software now i understand there are other hardware software combos some of them very expensive some of them very cheap i&#039;m not going to get into what&#039;s better or best or anything i can simply tell you from my own experiences that this is this and this are the way to go for the modern high-speed can bus networks&lt;br /&gt;
&lt;br /&gt;
00:27:33&lt;br /&gt;
&lt;br /&gt;
All righty folks so i hope that that&#039;s how to clear up a little bit about why we need can logs uh what we do with them what we don&#039;t do with them and the basics of how we obtain them yeah that was a board yeah anyway um so i&#039;ll just make final appeal here that if you do have bmw i3 and you will be willing&lt;br /&gt;
&lt;br /&gt;
00:28:03&lt;br /&gt;
&lt;br /&gt;
To let to either do yourself what i&#039;ve demonstrated or to let me do it for you then do please leave a comment and get in touch because the more data do we get on the limb uh then the better that we&#039;re going to be able to make all of this stuff work so i&#039;ll leave it there as usual don&#039;t forget to dislike do not share and for pete&#039;s sake unsubscribe from this stupid channel i will put links in the description to&lt;br /&gt;
&lt;br /&gt;
00:28:38&lt;br /&gt;
&lt;br /&gt;
The EVTVDUE board and the savvy can software as well as the usual suspects in there for the open inverter forum github paypal and patreon in case you want to buy food for him no i don&#039;t want to do that either so until next time from the gom cat and from me happy CAN bus logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== I want to build a CAN bus device... ==&lt;br /&gt;
Once you&#039;ve got your CAN messages sorted, you can build a dedicated device to send or receive those messages. For example, you could build a custom battery gauge. Or add a touch screen controller. Anything is possible! If you want, you can just use the Arduino hardware described above. Alternatively, something small and reasonably robust like a [https://www.pjrc.com/teensy/techspecs.html Teensy 3.x] might be a better choice for a permanent solution. &lt;br /&gt;
&lt;br /&gt;
Here&#039;s a quick-start guide to [[getting CAN working on a Teensy 3.6]].&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a simple CAN bus [[State of Charge meter using a Teensy 4.0]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Local Interconnect Network ==&lt;br /&gt;
&#039;&#039;&#039;LIN&#039;&#039;&#039; (&#039;&#039;&#039;Local Interconnect Network&#039;&#039;&#039;) is a serial network protocol used for communication between components in vehicles. It is a single wire, serial network protocol that supports communications up to 19.2 Kbit/s at a bus length of 40 meters. The need for a cheap serial network arose as the technologies and the facilities implemented in the car grew, while the CAN bus was too expensive to implement for every component in the car. European car manufacturers started using different serial communication technologies, which led to compatibility problems.&lt;br /&gt;
&lt;br /&gt;
For more info and history on can see: https://en.wikipedia.org/wiki/Local_Interconnect_Network&lt;br /&gt;
&lt;br /&gt;
[[Category:CAN]] [[Category:LIN]] [[Category:Introduction]] [[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
	<entry>
		<id>https://openinverter.org/wiki/index.php?title=Getting_started_with_CAN_bus&amp;diff=3345</id>
		<title>Getting started with CAN bus</title>
		<link rel="alternate" type="text/html" href="https://openinverter.org/wiki/index.php?title=Getting_started_with_CAN_bus&amp;diff=3345"/>
		<updated>2023-02-20T04:30:43Z</updated>

		<summary type="html">&lt;p&gt;PrecisionAnalytic: Added LIN last heading and paragraph with reference to Wikipedia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;Controller Area Network&#039;&#039;&#039; (&#039;&#039;&#039;CAN bus&#039;&#039;&#039;) is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other&#039;s applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles to save on copper, but it can also be used in many other contexts. For each device, the data in a frame is transmitted sequentially but in such a way that if more than one device transmits at the same time, the highest priority device can continue while the others back off. Frames are received by all devices, including by the transmitting device. &lt;br /&gt;
&lt;br /&gt;
For more info and history on can see: https://en.wikipedia.org/wiki/CAN_bus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This page will help get you started with CAN bus.&lt;br /&gt;
&lt;br /&gt;
Some people will tell you CAN is hard or complicated. They&#039;re wrong. The hardware you need isn&#039;t expensive and you don&#039;t need to be a programming whiz. Even Damien can do it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://youtu.be/K4HwHQOluSg&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few routes you can take, depending on what you want to do:&lt;br /&gt;
&lt;br /&gt;
== I want to receive or send simple CAN bus messages... ==&lt;br /&gt;
If you already know which CAN bus messages you want to send or receive, one of the cheapest ways to do this is with an [[Getting started with CAN bus and an Arduino Uno|Arduino Uno and a suitable CAN bus shield]]. &lt;br /&gt;
&lt;br /&gt;
== I want to analyse CAN bus traffic and possibly do some serious hacking... ==&lt;br /&gt;
If you want to analyse CAN bus messages on an existing vehicle, you&#039;ll need the help of some software. You can use the free [https://www.savvycan.com SavvyCAN software] together with a [[CAN bus with Arduino Due|suitably configured Arduino Due]] or [[Getting CAN working on a Teensy 3.6|Teensy]]. Alternatively, you can buy a [https://store.evtv.me/products/evtvdue2?_pos=3&amp;amp;_sid=e04f934ae&amp;amp;_ss=r pre-configured Due-based kit from EVTV].     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=MsrXs-tJKaY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| role=&amp;quot;presentation&amp;quot; class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
| &amp;lt;strong&amp;gt;Transcript&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
hello folks welcome to another fun packed episode presented by the gomcat and yours truly so before we get into the detail of today&#039;s episode as usual just the health warning it would be extremely boring it will not be of any entertaining value so if you&#039;re here for entertainment up there search box funny cat video&lt;br /&gt;
&lt;br /&gt;
00:00:41&lt;br /&gt;
&lt;br /&gt;
It&#039;s your friend also uh this video will be available free of any and all advertising on vimeo should you find yourself on old youtube so what are we going to talk about today well today we&#039;re going to talk about the topic of can logging i&#039;m going to tell you what can logging is hopefully tell you what it is not because there&#039;s quite a bit of&lt;br /&gt;
&lt;br /&gt;
00:01:11&lt;br /&gt;
&lt;br /&gt;
Misinformation out there and also we will show you the basics of how to do it for yourself yes that&#039;s right okay gomcat just reminded me so reason for making this particular video is that as some of you will know for the past while i&#039;ve been working on the bmw i3 lim for the purposes of getting ccs fast charging available to the masses&lt;br /&gt;
&lt;br /&gt;
00:01:49&lt;br /&gt;
&lt;br /&gt;
And the way that that has primarily been done the enabling piece of the puzzle has been through the use of can logs now i have been appealing to two people on various platforms to perform some can bus logging for me and it became apparent that i guess not a lot of people really understood what it was that i was asking them to do so hopefully this video uh&lt;br /&gt;
&lt;br /&gt;
00:02:23&lt;br /&gt;
&lt;br /&gt;
Excuse me will help to fill in the uh blanks so i&#039;m not going to get into what a CAN bus is um if you don&#039;t know what that is i&#039;d suggest a quick internet search there&#039;s a lot of information out there but i guess a one sentence would be that it is a means for the control units in a modern vehicle so all the&lt;br /&gt;
&lt;br /&gt;
00:02:51&lt;br /&gt;
&lt;br /&gt;
Little computers to exchange data because they need to do that uh for exa example the engine control computer would need to be able to speak to the gearbox controller would be able to need to speak to the abs traction control system and so forth and they do that by means of exchanging data via can so it&#039;s a little bit like computer networks where we plug ethernet cables&lt;br /&gt;
&lt;br /&gt;
00:03:24&lt;br /&gt;
&lt;br /&gt;
Into our computer so that they can exchange data with other computers either locally or on the internet and can bus is a way for all the little control boxes in your vehicle to exchange data so what is a can bus log a simple analogy for a can bus log is a bit like the old days of tapping a landline phone so let&#039;s say that we had four people on a conference call so we would come&lt;br /&gt;
&lt;br /&gt;
00:04:05&lt;br /&gt;
&lt;br /&gt;
Along connect to the phone line without any of the four people knowing that we were there and record their conversation we would then have a log or a recording of the information that those four people exchanged during the course of that conversation that would then allow us to analyze how the words in this case but in the case of can how the data flowed between those four&lt;br /&gt;
&lt;br /&gt;
00:04:42&lt;br /&gt;
&lt;br /&gt;
People that we analogize to four control units in a car and it lets us then speak the same not only the same language but speak the same words in the same way as they were spoken during the original conversation so that we can take a module away from its parent vehicle put it in a different vehicle or in a different application&lt;br /&gt;
&lt;br /&gt;
00:05:14&lt;br /&gt;
&lt;br /&gt;
And basically fool it into thinking that it is still in its parent vehicle and get it to work and perform its originally intended tasks for us so in the case of the lim i have another one of these in my e46 touring that is fairly convinced at the minute that it&#039;s still in a nice shiny 2017 i3 but like all things uh nothing is ever as easy as&lt;br /&gt;
&lt;br /&gt;
00:05:47&lt;br /&gt;
&lt;br /&gt;
It sounds and it&#039;s learning a language and learning a dialect we make a lot of mistakes and our little control units can be very strict about any of those mistakes and they can say no i don&#039;t like what you&#039;ve just said to me or the speed at which you&#039;ve just said it or the order in which you have spoken the words&lt;br /&gt;
&lt;br /&gt;
00:06:12&lt;br /&gt;
&lt;br /&gt;
And i&#039;m gonna go away now and cry so the logs are the first step interpreting the logs is the second step and then forming our own communications that we can use with the control units are the final step so the more logs that we have the richer the data set is and the easier it is to learn the language and see the nuances and understand&lt;br /&gt;
&lt;br /&gt;
00:06:48&lt;br /&gt;
&lt;br /&gt;
Better how to talk the language that our control boxes are expecting so that&#039;s what can logging is and why we need to do it it is the lifeblood of modern uh vehicle reverse engineering and repurposing of modules from basically crashed or end of cars finally the gomcat is going to explain to us what can logging is not and that&#039;s a&lt;br /&gt;
&lt;br /&gt;
00:07:25&lt;br /&gt;
&lt;br /&gt;
Very important area over to you gomcat the camera&#039;s on seriously okay i guess i&#039;ll be explaining to you today folks what can logging is not so quite simply can logging is not a way for me to steal your personal info or indeed it&#039;s not a way for&lt;br /&gt;
&lt;br /&gt;
00:07:58&lt;br /&gt;
&lt;br /&gt;
Anyone to steal your personal info um yes there is vehicle specific in from informa information typically contained within can logs and depending on which can bus that we&#039;re communicating with there may be more or less of that vehicle specific information to take the example of the limb it is connected to the powertrain can so examples of messages that would be&lt;br /&gt;
&lt;br /&gt;
00:08:29&lt;br /&gt;
&lt;br /&gt;
Exchanged over powertrain can would be your battery voltage your state of charge the current draw what the charger is doing what the motor and inverter are doing the vehicle speed things like that in terms of vehicle specific personal information about the worst of it that we see on these logs from di3 is the vin and the mileage from the parent vehicle now if we got into other areas of the&lt;br /&gt;
&lt;br /&gt;
00:09:06&lt;br /&gt;
&lt;br /&gt;
Car could we get access to phone records and things like that i guess so but not on powertrain can and powertrain can is the stuff that we&#039;re interested in so i have a few can logs from a bmw i3 here and if i were some hacker type person that wanted to follow up one of these people&lt;br /&gt;
&lt;br /&gt;
00:09:35&lt;br /&gt;
&lt;br /&gt;
Or hunt them down or get into their bank accounts or um stalk them or do any of that stuff do we hear about um i would be absolutely wasting my time with those powertrain can logs folks so i just wanted to get that point across uh so that people understand it that it&#039;s not any kind of a security risk um or that the kind of people&lt;br /&gt;
&lt;br /&gt;
00:10:02&lt;br /&gt;
&lt;br /&gt;
Like myself that are involved in this have some kind of nefarious intent so now with that out of the way hopefully you&#039;ll now understand uh what a can log is why we do it and what it&#039;s not so what i&#039;m going to do now is i&#039;m not going to bother asking the gomkat to do to do this part i&#039;m going to show you physically how we would connect to a can bus and i&#039;ll show you some of the hardware&lt;br /&gt;
&lt;br /&gt;
00:10:32&lt;br /&gt;
&lt;br /&gt;
That you can buy and some of the excellent free software that you can download for yourself and experiment with that not only lets us see the raw can data but more importantly gives us the tools to reverse engineer it and to interpret it in a much more human readable way so let&#039;s get to that and uh hopefully i can get him to do something then because&lt;br /&gt;
&lt;br /&gt;
00:11:02&lt;br /&gt;
&lt;br /&gt;
This was supposed to be a giant production today but look at this okay so let&#039;s get straight to it what is a canvas well it&#039;s pretty damn complicated here we have a bare circuit board that in this case we&#039;ll say that this is some module in your car that is doing something it could be controlling headlights could be&lt;br /&gt;
&lt;br /&gt;
00:11:35&lt;br /&gt;
&lt;br /&gt;
Just i guess anything windows anything physically in your car that needs to be controlled it&#039;s connected to a can bus from the can bus is basically two wires that&#039;s it in this case the red wire is can high and black wire is called can low and this this is a differential bus so you don&#039;t actually need a ground&lt;br /&gt;
&lt;br /&gt;
00:12:03&lt;br /&gt;
&lt;br /&gt;
Or anything else you just need these two wires and through the signals that are transmitted on these we can get a lot of information sharing going on so let&#039;s say that we had this boss going to this control ue unit and we were interested in reverse engineering this control unit here and we want to know what can information that it transmits and most importantly what it&lt;br /&gt;
&lt;br /&gt;
00:12:44&lt;br /&gt;
&lt;br /&gt;
Expects to see coming back into it in order for it to believe that it&#039;s still in its parent vehicle and will perform the foot the function that we want it to so all throughout the car we&#039;re going to have these can bus wires so they will be typically in the loom and they will loop from unit to unit so you will have multiple what are called nodes on&lt;br /&gt;
&lt;br /&gt;
00:13:16&lt;br /&gt;
&lt;br /&gt;
The canvas so this board could be buried somewhere completely inaccessible in our car we don&#039;t need to go tearing the car apart all we need to do is to find a convenient location where we can access the same can bus so the two wires that are connected to our module that we&#039;re we&#039;re interested in&lt;br /&gt;
&lt;br /&gt;
00:13:44&lt;br /&gt;
&lt;br /&gt;
So next thing we need to do is to put something in here that can listen to the the canvas now there are multiple pieces of hardware available for performing this task some of them super cheap some of them super expensive and a lot of them in the middle i&#039;m not going to attempt to cover all of them um or&lt;br /&gt;
&lt;br /&gt;
00:14:17&lt;br /&gt;
&lt;br /&gt;
To try to say well you know this one&#039;s better than that one the ones that i use are typically things that i have myself that i&#039;ve pieced to gather but there is one important thing that we have to specificfy here is that automotive can buses particularly particularly powertrain can buses run with a lot of data on them example the bmw i3&lt;br /&gt;
&lt;br /&gt;
00:14:48&lt;br /&gt;
&lt;br /&gt;
Powertrain can runs at about two and a half thousand frames per second so if you can imagine that&#039;s like two and a half thousand wards per second on this particular phone line the tesla model 3 powertrain can pushes that up to depending on what the car is doing between three and a half and four thousand frames per second so a lot of the low-cost&lt;br /&gt;
&lt;br /&gt;
00:15:16&lt;br /&gt;
&lt;br /&gt;
Can bus loggers and things like that that you see will at best lose some of the conversation and most of the time won&#039;t even be able to listen to it they&#039;ll just sit there looking at you so the ones that i recommend that i&#039;ve used are based on the Arduino DUE um ATMEL sam 3x80 microcontroller i&#039;ll bring you on to the&lt;br /&gt;
&lt;br /&gt;
00:15:47&lt;br /&gt;
&lt;br /&gt;
Computer in a few minutes and i will show you where you can purchase specific piece of hardware for doing just that so these little ones that i have on the bench today are kind of my hacky versions of a much neater piece of hardware that i will be showing to you but the principle remains the same we&#039;ll have a module we&#039;ll have a usb&lt;br /&gt;
&lt;br /&gt;
00:16:16&lt;br /&gt;
&lt;br /&gt;
Cable that we&#039;ll connect to it&#039;s just normal usb that we&#039;d have on most computers we&#039;ll have two wires coming out of this board strangely enough they&#039;ll be can high and can low and we will find a convenient place on our can bus that is connected to the module that we&#039;re interested in and we will basically tap into it we will connect our&lt;br /&gt;
&lt;br /&gt;
00:16:47&lt;br /&gt;
&lt;br /&gt;
Module into the can boss so now we&#039;ve effectively tapped the phone line and we can listen to the conversations on there we will not participate in them we will not put any of our information in here we will just listen and that is what a logging system does now obviously in this case here it&#039;s just a&lt;br /&gt;
&lt;br /&gt;
00:17:14&lt;br /&gt;
&lt;br /&gt;
Few wires that i have on the bench that are forming the can bus um and thus there&#039;s no problem cutting them and sticking our own connectors in here now quite understandably uh some folks particularly if they&#039;ve gone out and bought a new car don&#039;t like the idea of some weirdo on the internet and his very lazy cat uh connecting into their powertrain can bus or you know having to&lt;br /&gt;
&lt;br /&gt;
00:17:47&lt;br /&gt;
&lt;br /&gt;
Um strip the wire or to connect to it that&#039;s perfectly understandable hell i wouldn&#039;t let someone i mean you have to cut that part out yeah okay right so there&#039;s a few alternatives uh to doing that the first is that most of these buses will connect to places in the car where there will be um multi-pin connectors so elon will you let me&lt;br /&gt;
&lt;br /&gt;
00:18:15&lt;br /&gt;
&lt;br /&gt;
Elon thank you so you&#039;ll typically have a connector like this one this is from a tesla model 3. and you see here that there is a yellow and a blue wire that&#039;s actually a can bus so if this was in your vehicle plugged in somewhere then one way that we can gain access to the can bus without having to you know cut into the wiring is by a procedure known as&lt;br /&gt;
&lt;br /&gt;
00:18:42&lt;br /&gt;
&lt;br /&gt;
Back probing and if i can see how much preparation i put into my videos the gomcat was supposed to get the back probes out but of course he didn&#039;t do that either so what we have is typically a probe like this that&#039;s very fine and has a point we simply insert it through the back seal until it makes contact with the pin in the connect connector&lt;br /&gt;
&lt;br /&gt;
00:19:10&lt;br /&gt;
&lt;br /&gt;
Perform the log and remove the probe and there&#039;s no damage anywhere um so that&#039;s one way that we can circumvent having to cut into the wiring there is an even more better way and thanks to a donation by a member of the open inverter forum i have just such a device here that i can show to you now this little guy is an inventure cl can version 2.2 and what this&lt;br /&gt;
&lt;br /&gt;
00:19:47&lt;br /&gt;
&lt;br /&gt;
Is is it&#039;s an inductive can pick up so how does this does this work well it&#039;s got four wires we give it 12 volts and ground and it has can it&#039;s our yellow and blue wires here now on the back it&#039;s got two screws here so if we go on cat could you not have gotten the screwdriver out for me oh my god gonna be one of my worst productions&lt;br /&gt;
&lt;br /&gt;
00:20:16&lt;br /&gt;
&lt;br /&gt;
Ever this now i&#039;m gonna make an absolute idiot out of myself because i never do that on camera really really seriously you couldn&#039;t even have got a phillips screwdriver for my god yeah this co-hosting thing is really not going to work out is it seriously we got all flathead screwdrivers if i didn&#039;t want a flathead screwdriver okay okay okay they won&#039;t get angry&lt;br /&gt;
&lt;br /&gt;
00:20:42&lt;br /&gt;
&lt;br /&gt;
Won&#039;t get angry you know they say that these partnerships never work but okay you know i was wrong had to be me to be made to fool of again give me a second folks i&#039;m going to get a phillips screwdriver here all right so we&#039;ll just edit out that part there where i look like a complete idiot trying to open phillips screws with a flathead screwdriver&lt;br /&gt;
&lt;br /&gt;
00:21:07&lt;br /&gt;
&lt;br /&gt;
So as i was saying with the correct screwdriver look at that i&#039;ll use the screening can from the limb for something practical we simply take these two screws out of the back of it pop the back cover off and inside here so there&#039;s two little white lines one of them says can high one of them says can low so if we were to take our CAN bus wires and&lt;br /&gt;
&lt;br /&gt;
00:21:48&lt;br /&gt;
&lt;br /&gt;
Place the can low wire just without cutting it without doing anything in there like that and they can&#039;t hide wire just in on top of it there&#039;s a little thing on the back here to keep them separated so i think the actual correct way to do this is basically to stick them yeah there it is is basically to&lt;br /&gt;
&lt;br /&gt;
00:22:13&lt;br /&gt;
&lt;br /&gt;
Stick them around yeah there&#039;s these little padded things i haven&#039;t used this before so of course i&#039;m making an idiot out of myself i should ask the golem cat to um maybe to demonstrate this he&#039;s much more ambidextrous than me so we take our wires wrap them through the back cover just screw the back cover back on perform the can log do what we need to&lt;br /&gt;
&lt;br /&gt;
00:22:49&lt;br /&gt;
&lt;br /&gt;
Do we can take the screws out release the wires and that&#039;s it we&#039;re basically done that&#039;s our can log performed so there are many ways to do this in ways that do not risk you know anything being discovered any vehicle warranties being invalidated or anything&lt;br /&gt;
&lt;br /&gt;
00:23:16&lt;br /&gt;
&lt;br /&gt;
Of that nature so that&#039;s how we connect to a canvas finally i&#039;m going to go ahead now on the computer here and i will show you how we you know where to get a proper piece of hardware to perform this function and the relevant computer software that you would also need okay folks so this is uh we&#039;re on the computer here and what we&#039;re looking at is the EVTVDUE&lt;br /&gt;
&lt;br /&gt;
00:23:57&lt;br /&gt;
&lt;br /&gt;
micro controller board and this is what i would uh strongly recommend that you use for canvas logging so i&#039;ll put a link in the description to this web address here where you can go to purchase it it has a purchase price of just under 100 us dollars and you can come in here and you can read the instructions for it and a lot more of the data but just want to focus on one thing here&lt;br /&gt;
&lt;br /&gt;
00:24:32&lt;br /&gt;
&lt;br /&gt;
It&#039;ll be very simple so we have a usb port and so we connect to our computer we have four screw terminals on this connection block we have a ground and a power in case we want to run it in a car from a 12 volt supply but in the case of can logging we will simply be powering it from&lt;br /&gt;
&lt;br /&gt;
00:24:56&lt;br /&gt;
&lt;br /&gt;
The usb port and then the bottom is can i and can also are to our canvas and that&#039;s it that is our connect connection finally we need some software to run on our computer to connect to to this and that software is called savvycan and it&#039;s again i&#039;ll put a link to this address in the description and it is available here it is completely free and open source&lt;br /&gt;
&lt;br /&gt;
00:25:34&lt;br /&gt;
&lt;br /&gt;
And is basically without a doubt the best piece of software that you can get for can reverse engineering there is a good bit of uh discussion going on over on github here and i believe there is here a link to an older video that uh colin kidder who is the gentleman that designed and maintains this uh did uh so here it is here is a very basic&lt;br /&gt;
&lt;br /&gt;
00:26:08&lt;br /&gt;
&lt;br /&gt;
Video on how to use it and you can grab this for uh mac linux and windows both here and over on github so i&#039;d recommend that you go to the git github to get the latest version so i won&#039;t get into any detail on this at the minute and encourage people even have a passing interest grab this and you can download some of&lt;br /&gt;
&lt;br /&gt;
00:26:36&lt;br /&gt;
&lt;br /&gt;
The can logs from my uh github as well and have a look at them and you know get yourself a little bit more familiar with them so that just yeah you just get to see what&#039;s going on under the bonnet of your car in a little bit more detail so that&#039;s about it there&#039;s the hardware that you need and the accompanying&lt;br /&gt;
&lt;br /&gt;
00:27:04&lt;br /&gt;
&lt;br /&gt;
Software now i understand there are other hardware software combos some of them very expensive some of them very cheap i&#039;m not going to get into what&#039;s better or best or anything i can simply tell you from my own experiences that this is this and this are the way to go for the modern high-speed can bus networks&lt;br /&gt;
&lt;br /&gt;
00:27:33&lt;br /&gt;
&lt;br /&gt;
All righty folks so i hope that that&#039;s how to clear up a little bit about why we need can logs uh what we do with them what we don&#039;t do with them and the basics of how we obtain them yeah that was a board yeah anyway um so i&#039;ll just make final appeal here that if you do have bmw i3 and you will be willing&lt;br /&gt;
&lt;br /&gt;
00:28:03&lt;br /&gt;
&lt;br /&gt;
To let to either do yourself what i&#039;ve demonstrated or to let me do it for you then do please leave a comment and get in touch because the more data do we get on the limb uh then the better that we&#039;re going to be able to make all of this stuff work so i&#039;ll leave it there as usual don&#039;t forget to dislike do not share and for pete&#039;s sake unsubscribe from this stupid channel i will put links in the description to&lt;br /&gt;
&lt;br /&gt;
00:28:38&lt;br /&gt;
&lt;br /&gt;
The EVTVDUE board and the savvy can software as well as the usual suspects in there for the open inverter forum github paypal and patreon in case you want to buy food for him no i don&#039;t want to do that either so until next time from the gom cat and from me happy CAN bus logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== I want to build a CAN bus device... ==&lt;br /&gt;
Once you&#039;ve got your CAN messages sorted, you can build a dedicated device to send or receive those messages. For example, you could build a custom battery gauge. Or add a touch screen controller. Anything is possible! If you want, you can just use the Arduino hardware described above. Alternatively, something small and reasonably robust like a [https://www.pjrc.com/teensy/techspecs.html Teensy 3.x] might be a better choice for a permanent solution. &lt;br /&gt;
&lt;br /&gt;
Here&#039;s a quick-start guide to [[getting CAN working on a Teensy 3.6]].&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a simple CAN bus [[State of Charge meter using a Teensy 4.0]].&lt;br /&gt;
&lt;br /&gt;
== Local Interconnect Network ==&lt;br /&gt;
&#039;&#039;&#039;LIN&#039;&#039;&#039; (&#039;&#039;&#039;Local Interconnect Network&#039;&#039;&#039;) is a serial network protocol used for communication between components in vehicles. It is a single wire, serial network protocol that supports communications up to 19.2 Kbit/s at a bus length of 40 meters. The need for a cheap serial network arose as the technologies and the facilities implemented in the car grew, while the CAN bus was too expensive to implement for every component in the car. European car manufacturers started using different serial communication technologies, which led to compatibility problems.&lt;br /&gt;
&lt;br /&gt;
For more info and history on can see: https://en.wikipedia.org/wiki/Local_Interconnect_Network&lt;br /&gt;
&lt;br /&gt;
[[Category:CAN]] [[Category:Introduction]] [[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>PrecisionAnalytic</name></author>
	</entry>
</feed>