WiTECH 2.0 ECM, PCM, TCM, and BCM Programming Fails: Troubleshooting Chrysler / Stellantis Module Flash Errors
Module programming failures through WiTECH 2.0 on Chrysler, Dodge, Jeep, Ram, and Fiat vehicles are usually caused by subscription, flash-token, VIN-assignment, or voltage problems - not by the module itself. Here's the order AE Tools checks them in.
Module programming through WiTECH 2.0 - flashing an ECM, PCM, TCM, or BCM on a Chrysler, Dodge, Jeep, Ram, or Fiat vehicle - is a vehicle programming task that depends on several things being in place before the flash will run. When a WiTECH 2.0 flash fails partway through, the cause is almost always one of the prerequisites (subscription, flash token, tool firmware, or programming voltage) or a VIN-assignment problem on a used module - not the module hardware itself. Work the checks below in order before suspecting the module.
Check the prerequisites before suspecting the module
Most "module won't flash" failures come down to one of these. Confirm all of them first:
- Subscription: an active WiTECH 2.0 subscription assigned to this tool serial (WSP / MDP / MDP+).
- TechAuthority: active as well - required to reach the Security Gateway and for key-related work.
- Flash tokens: available in your account. One flash token covers a single vehicle and lets you work on that vehicle for a year; module flashing requires a token (key programming does not). For current token pricing, see the WiTech / TechAuth / Flash Token purchase article.
- Tool firmware: MicroPod or AEZ Flasher 3 firmware current - let it update through the VCI Setup Utility.
- Laptop: Windows 11 Pro with at least 16 GB RAM.
- Programming voltage: a battery maintainer connected and holding 13.5–14.5 V at the battery throughout the flash. Dropping below 12 V mid-flash is a failure condition and can brick the module. See the battery maintainer best-practices article.
To keep voltage stable during the flash, pull the cooling-fan fuse before programming so the fan can't cycle on and drain the battery mid-flash - a fan kicking on is a common cause of the voltage drop that fails a flash. Also check the battery cable terminals for corrosion; corroded cables cause voltage drop even with a maintainer connected.
If any prerequisite fails, fix it before continuing - re-running the flash without correcting the underlying issue will fail the same way.
Required flashes and conditional flashes
wiTECH distinguishes between flashes that must be performed and flashes that are optional for the vehicle in front of you. The distinction is shown by colour in the flash list:
-
Blue — required. The module needs this update. Perform it.
-
Green — conditional. The update applies only under specific conditions, usually tied to a symptom or a service action. If the vehicle does not have that condition, the flash is not needed.
Running a conditional flash that the vehicle does not need is not harmless. A conditional flash on a module that did not require it has left modules frozen mid-flash and generated lost-communication codes that then had to be diagnosed and cleared — turning a routine job into a recovery.
Before starting:
-
Read the colour of each flash in the list rather than flashing everything offered.
-
For a green flash, confirm the condition it addresses actually applies to this vehicle and this complaint.
-
If you are unsure whether a conditional flash applies, submit a support ticket with the VIN, the module, and the flash description before running it.
-
Perform blue flashes; leave green ones unless the condition is present.
When a flash token won't apply
A common case: you purchased a flash token but WiTECH 2.0 still shows none available, or the flash blocks anyway.
- Cycle the YTAG session. Token balances do not refresh until you unplug the tool, fully log out of YTAG, log back in, and reconnect.
- Verify the token is on the right account. Tokens are tied to a specific YTAG login — a token bought under a different login won't appear on yours. Call AE Tools to confirm which login and serial the token is attached to.
- Used module locked to a previous VIN. If the module is a used unit still tied to a donor vehicle's VIN, WiTECH may block the flash. Resolving it means restoring the vehicle configuration and writing the correct VIN, or applying a flash token for the current vehicle — see the used-module procedure articles for the full VIN-transfer steps.
Errors 0x33 / 0x22 on 2023-and-newer Stellantis vehicles
If you see error 0x22 (or related codes such as 0x33) during programming on a 2023-and-newer Grand Cherokee, Ram, Durango, or Wagoneer:
- Root cause: you're using an aftermarket J2534 device (AEZ Flasher 3 or similar) on a vehicle whose newer security architecture requires a genuine Chrysler MicroPod (WSP / MDP / MDP+).
- This is enforced at the vehicle level by Stellantis. Software updates, driver reinstalls, and re-pairing the tool will not bypass it.
- Fix: call AE Tools to purchase a MicroPod or transfer your subscription from the Flasher to a MicroPod. See the article on J2534 issues on WiTECH 2.0 for 2023+ Mopar / Stellantis vehicles.
Reflashing the same part number: AEZ Flasher 3 versus MicroPod or MDP
On Chrysler, Dodge, Jeep, and Ram vehicles, the tool you use decides whether you can flash a module that is already on the latest calibration. With WiTECH 2 and an MDP or MicroPod, the module can be flashed again with the same part number. With the AEZ Flasher 3 (J2534), if the vehicle already has the latest flash file, it will not flash the same part number, and a newer update has to be available first. If a flash with the AEZ Flasher 3 will not start and the module is already on the latest file, this is how that tool behaves. To reflash the same part number, use WiTECH 2 with an MDP or MicroPod.
Programming worked yesterday and fails today
Check these in order:
- Subscription expiration. Short-term subscriptions can lapse mid-day. Confirm WiTECH 2.0 and TechAuthority are still active in your AE Tools account.
- A recent WiTECH change. If programming started failing right after an update, report it to AE Tools; a clean reinstall of the client can help, and AE Tools can advise on version issues.
- A connection or server-side problem. WiTECH 2.0 must reach the Stellantis servers during programming, so a server outage, slow shop Wi-Fi, or a firewall can break the flash. Switch the laptop to a phone hotspot, restart WiTECH 2.0, log out of YTAG, log back in, reconnect, and retry. Server outages are usually short-lived — wait 15–30 minutes if it still fails.
Programming a used PCM that's locked to a different VIN
Used PCMs still attached to the donor vehicle's VIN need to be re-tied to the current vehicle: 1. Read the original module configuration first if the module will communicate.
2. Use Module Programming → Programmable Module Installation (PMI) if available for the vehicle. '
3. If the flash is blocked by a VIN lock, resolve the VIN assignment (or apply a flash token for the current vehicle) as covered in the used-module procedure articles.
4. After programming, verify the VIN was written correctly and clear DTCs.
5. Run any required PATS / security relearn so the vehicle starts and runs normally. For the full step-by-step used-module and replacement procedures, see the related articles below rather than treating this as a complete VIN-transfer guide.
Common follow-up issues
The flash gets to about 21% and then fails
A flash that dies partway through - often at the same point each time — is almost always a voltage drop, not a software fault. Connect a battery maintainer holding 13.5–14.5 V before starting, then retry. Do not keep retrying without fixing the voltage first; repeated mid-flash failures can corrupt the module further.
The flash succeeded but the vehicle won't start
The VIN write completed, but the security pairing or PATS relearn wasn't done. Run the post-programming PATS / immobilizer learn procedure in WiTECH 2.0 so the module and immobilizer are synchronized, then confirm the vehicle starts.
The module is non-responsive after a failed flash: recovering it with a legacy flash
If a flash fails partway through (for example at 86%) and the module no longer responds, or the vehicle will not start, the module’s software is corrupt. The module itself is often not damaged, and it can usually be recovered by flashing it with the legacy flash.
-
Fix the cause first. Connect a battery maintainer holding 13.5–14.5 V and confirm the prerequisites listed at the top of this article. Do not keep retrying the normal flash, because repeated failures can damage the module further.
-
Go to Stellantis IOP at https://stellantisiop.com/iop/app/landing and log in.
-
Click the menu at the top of the screen and choose J2534 downloads.
-
Download the three files for this vehicle.
-
Flash the module with those files through your J2534 device.
An AE Tools agent may need to edit the file first so it flashes to a different part number (see the section above on reflashing the same part number). If the module will not take the file, submit a support ticket with the VIN, the module, the part number on the module, and the point where the flash failed, and an agent will prepare the file.
WiTECH says PCM programming is complete but the vehicle still has the old calibration
Verify the calibration ID on the module after programming. If it still shows the old ID, the flash didn't fully commit - repeat the flash with voltage stabilized at 13.5–14.5 V.