Full investigation is pending but the issue is most likely caused by an intermittent loss of ground on the throttle pedal. So the likely event chain is
1. Start signal is hard wired to 12V
2. Throttle pedal sent a fully pressed signal preventing the car from entering drive mode
3. Throttle pedal then returned to normal allowing the car to enter drive mode
4. Subsequently throttle returned to fully pressed letting the car shoot off
Arguably you shouldn't leave your car ready to drive while not sitting in it but things that can happen will happen, hence why the inverter software has 4 safety measures to prevent this:
1. Throttle range check (not effective because potmax=4095 - read below)
2. Dual throttle input (not used in this case)
3. inhibit entering drive mode while pedal is pressed (not effective on intermittent fault)
4. lock out throttle when brake pedal is pressed (not effective if nobody sits in the car)
On many older logic board designs and that includes all Tesla boards, the throttle input is 0-3.3V. In contrast the throttle output of many typical automotive pedals is 0.8-4.2V. So it will max out the ADC and potmax must be set to 4095 to operate in such a setup. This disables the upper range check because 4095 is considered a valid pedal position and values greater 4095 are not physically possible.
To address this, a 10k resistor MUST be put in series with the pedal like so This forms a voltage divider with the onboard pull down and results in a maximum valid throttle value of around 2000-3000 digits. With that configured the range check is active, will treat values > potmax+200 as invalid and cut out throttle/coast to standstill.
Addition: alternatively if you have a dual channel pot and only choose to use one, use the channel with the smaller 0.4 to 2.1V range
Then recalibrate your throttle setting.
While we do generally recommend using dual channel throttle wiring I also think it will not necessarily prevent the above just by itself. When both channels share a mutual ground they will both go fully pressed on loss of ground. Without a range check that is considered valid at least on one channel. Only completely separated ground wires will prevent a runaway.
On the software side I will limit potmax to 3500 in the next release and ship every new board with that limit to force people to implement the resistor mod.
On the hardware side all boards will receive the series resistor on board
Boards possibly affected:
- Tesla SDU
- Tesla LDU
- Nissan Leaf Gen2 with v3 brain board, i.e. not Mini Mainboard
- Prius Gen2
- All custom designs based on v3 brain board
- ZombieVerter
- Nissan Leaf Gen2 with Mini Mainboard
- Nissan Leaf Gen3
- BMW i3
- All Mini Mainboard based designs
We also advise against permanently pulling the start input to 12V for a number of reasons:
- Immediate restart without user interaction after an over current fault
- No possibility to leave inverter in the safe stop mode after powerup
- Rather hard to save parameters as they are not written in run mode