follow ft86club on our blog, twitter or facebook.
FT86CLUB
Ft86Club
Delicious Tuning
Register Garage Community Calendar Today's Posts Search

Go Back   Toyota GR86, 86, FR-S and Subaru BRZ Forum & Owners Community - FT86CLUB > Technical Topics > Software Tuning

Software Tuning Discuss all software tuning topics.

Register and become an FT86Club.com member. You will see fewer ads

User Tag List

Reply
 
Thread Tools Search this Thread
Old 07-08-2025, 06:34 PM   #1
callisto
Member
 
Join Date: Nov 2021
Drives: 2019 Subaru BRZ
Location: NA
Posts: 97
Thanks: 67
Thanked 69 Times in 37 Posts
Mentioned: 4 Post(s)
Tagged: 0 Thread(s)
To run 2020 V00C USDM on pre-2020 US, patch CAN id 0x3D7 to 0x3D1

For the past couple years I've been trying to get the stock 2020 USDM ecu to work on the 2019 USDM, as it contains a variety of tuning changes that Subaru made in the car's final year (that I suspect result from side-by-side bench tests of the FA20 while finalizing and tuning the FA24) and shipped in both U00B/U01A and V00C/V01D. I finally pinned down the last obstacle today: it turns out that canbus CAN id 0x3D1 changed to 0x3D7, so patching @cd10- 00 00 03 D7 FF F8 to ... D1 ... resolves the persistent limp-mode CEL U0155 that's been my obstacle for the past three years.

I looked through the history and 0x3D1 was introduced for the 2015 model year, and seems to have been used consistently from D0xx through U0xx. Prior to that, it looks like it was 0x111. And when I looked at the code changes, I think it'll be fine for whatever's parsing it on the other end: approximately, before it sent xx yy zz 00 00 ..., now it sends xx yy zz ww 00 ..., and the way it calculates the existing values is unchanged.

But.. what is this CAN id? I haven't been able to identify anything that explains what cares about it. The 3D1 code sends along the Ambient Sensor Temperature, but I don't know which module in the car is consuming it. I suspect it's the instrument cluster, but there aren't any documented changes in 2020 MY for that I can find. Perhaps something changed in the HVAC system.

Anyways, with that and the usual ECU ID hacks, I think I've finally successfully backported 2020 to my 2019 (and imported the much-improved DI/PI tuning from S20G, too). It's been doing fine in drive tests with U0155 disabled and now that I don't need that override, I'm finally able to move forward from U01A (JP) to V00C (US) - and since only that single byte change was required, it should work on a much wider range of our cars than "just 2020" now.

I'd still like to understand CAN 0x111 / 0x3D1 / 0x3D7, but duly noted for anyone else who's interested in such things. The same exact patch should work on both V00C (US MT) and V01D (US AT); for folks outside of evap regions, U01A (JP MT) and U00B (JP AT) use 0x3D1 and no patch is required; they're all in the stock ROMs thread. (Yes, I could just calid hack K00G; instead, I'm learning how the autotune systems works, how to inspect the LTFT / FLKC learning progress with the car parked, etc.)

ps. V00C = ZA1JV00C = ZA1JV00C00G, I have no idea why their naming scheme changed.

EDIT: Changed "pre-2020" to "pre-2020 US" in title. If you're trying to run V00C00G, you're in the US, or else you don't need the US-specific smog code and so you should use U01A which doesn't have this problem anyways. This should only affect those trying to upgrade MY17/18/19 US vehicles to MY20 US software.

EDIT: RomRaider XML def to create a GUI on/off switch for this:

Code:
<table type="Switch" name="U0155 fix for 2017-2019 USDM" category="Model Year Selection - Prevents U0155" sizey="2" storageaddress="cd12">
<description>In V00C00G 2020 USDM, the instrument cluster and HVAC cluster expect ambient temperature to be sent on CAN id 0x3D7; in prior model years, this data was sent on 0x3D1. Enabling this override changes this 2020 USDM ECU to interact with 0x3D1 rather than 0x3D7; without it, pre-2020 gen1 Kouki facelift cars will code CEL U0155. (Regardless, this ECU is not compatible with gen1 pre-facelift Zenki.)</description>
<state name="Override CAN id for pre-2020 gen1 Kouki facelift (0x3D1)" data="03 d1" /><!-- V00C -->
<state name="Use unmodified OEM CAN id for MY20 USDM (0x3D7)" data="03 d7" /><!-- V00C -->
</table>

Last edited by callisto; 11-10-2025 at 07:08 AM. Reason: add romraider XML switch def
callisto is offline   Reply With Quote
The Following User Says Thank You to callisto For This Useful Post:
RedReplicant (07-10-2025)
Old 07-10-2025, 11:53 PM   #2
Compelica
Senior Member
 
Compelica's Avatar
 
Join Date: Apr 2019
Drives: 86 GT
Location: Malaysia
Posts: 394
Thanks: 261
Thanked 227 Times in 117 Posts
Mentioned: 2 Post(s)
Tagged: 0 Thread(s)
Interesting - does that mean that V00C is not directly compatible with older models? Apart from not being able to flash prefacelift to facelift and vice versa, that calibration is not compatible with the models in the same group?
__________________
DIY stuff at Compelica Works
Compelica is offline   Reply With Quote
Old 07-12-2025, 06:11 PM   #3
callisto
Member
 
Join Date: Nov 2021
Drives: 2019 Subaru BRZ
Location: NA
Posts: 97
Thanks: 67
Thanked 69 Times in 37 Posts
Mentioned: 4 Post(s)
Tagged: 0 Thread(s)
That single CAN id creates the incompatibility, yes; without this change, it codes U0155 because of the mismatch. Unmodified, 2020 US V* calibrations won’t run on any prior MY. All functionality including ECU, A/C, and cluster continue to function correctly so I would have to insert inline CAN logging in various places to find out what’s interacting on that id with the ECU, and I don’t have the gear to do so.

I suspect that pre-V flashes are not necessarily fully compatible with MY20 US because of this as well, since the mismatch would be true in reverse too; I don’t have one to test with but I’d love to know what it does!

I also now have a full set of green checkmarks for smog readiness with V00C on MY19 so that’s my six year project successful I’m aware there’s more to it than that, but it’s a milestone all the same: this should make both U01A (no smog, one byte change for MY20 US) and V00C (yes smog, one byte change except for MY20 US) fully accessible for tuning, once I finish and post their XML. So much to do, so little time

ps. I got +2mpg on a recurring long-distance trip I take today, and I no longer feel the torque dip when accelerating flat out uphill, so I’m quite satisfied with V00C+S20G dipi ratios. No need to get a custom tune anymore =)

Last edited by callisto; 07-12-2025 at 06:23 PM.
callisto is offline   Reply With Quote
Old 07-13-2025, 04:10 AM   #4
gpvecchi
Senior Member
 
gpvecchi's Avatar
 
Join Date: Mar 2018
Drives: Toyota 86 GT Limited PP (Model G)
Location: Italy
Posts: 1,048
Thanks: 411
Thanked 355 Times in 199 Posts
Mentioned: 14 Post(s)
Tagged: 0 Thread(s)
I have the 2020 JDM calibration on my EU model G and I have no issues...
gpvecchi is offline   Reply With Quote
Old 07-13-2025, 06:41 PM   #5
geraldjust
Senior Member
 
Join Date: Jun 2018
Drives: MR2, Sliver BRZ
Location: San Diego, CA
Posts: 316
Thanks: 5
Thanked 261 Times in 123 Posts
Mentioned: 40 Post(s)
Tagged: 0 Thread(s)
that ID is sent out by the cluster, its sent out at once a second. its the settings of the "market / measurement units". when this is sent out, and the AC unit shows temp in F or C. Why they changed it i have no idea.
__________________
Always looking to tinker with something..
geraldjust is offline   Reply With Quote
The Following User Says Thank You to geraldjust For This Useful Post:
callisto (07-14-2025)
Old 07-14-2025, 05:30 AM   #6
callisto
Member
 
Join Date: Nov 2021
Drives: 2019 Subaru BRZ
Location: NA
Posts: 97
Thanks: 67
Thanked 69 Times in 37 Posts
Mentioned: 4 Post(s)
Tagged: 0 Thread(s)
Quote:
Originally Posted by gpvecchi View Post
I have the 2020 JDM calibration on my EU model G and I have no issues...
Is that JDM calibration ZA1JU01A? If so, that's still using the D..U era 0x3D1, which is widely compatible for any car that shipped with calibration D..U, at least. What model year is your car and what calibration did it have from factory? (Ah: 2020 EU still uses the D..U era part number; see below.)

Last edited by callisto; 07-14-2025 at 07:24 AM.
callisto is offline   Reply With Quote
Old 07-14-2025, 07:21 AM   #7
callisto
Member
 
Join Date: Nov 2021
Drives: 2019 Subaru BRZ
Location: NA
Posts: 97
Thanks: 67
Thanked 69 Times in 37 Posts
Mentioned: 4 Post(s)
Tagged: 0 Thread(s)
Quote:
Originally Posted by geraldjust View Post
that ID is sent out by the cluster, its sent out at once a second. its the settings of the "market / measurement units". when this is sent out, and the AC unit shows temp in F or C. Why they changed it i have no idea.
Thanks! That is helpful. It looks like 72311CA110 (17..19) was updated to 72311CA130 in the US model year 2020, but EU 2020 (ZC6-LM8) still uses CA110. Huh. Well, certainly, no one outside USDM should use V00C anyways - it looks to just be U01A + US evap/smog, though I'm not at all certain of that yet - but it is still super weird that they updated it for precisely one year in one market only. I suppose if I wanted to run stock ECU without the one byte patch, I could swap out my cluster *and* heater control assembly, but like a thousand dollars versus five seconds in a hex editor. Good to know though!
callisto is offline   Reply With Quote
Old 07-14-2025, 08:28 PM   #8
geraldjust
Senior Member
 
Join Date: Jun 2018
Drives: MR2, Sliver BRZ
Location: San Diego, CA
Posts: 316
Thanks: 5
Thanked 261 Times in 123 Posts
Mentioned: 40 Post(s)
Tagged: 0 Thread(s)
Quote:
Originally Posted by callisto View Post
Thanks! That is helpful. It looks like 72311CA110 (17..19) was updated to 72311CA130 in the US model year 2020, but EU 2020 (ZC6-LM8) still uses CA110. Huh. Well, certainly, no one outside USDM should use V00C anyways - it looks to just be U01A + US evap/smog, though I'm not at all certain of that yet - but it is still super weird that they updated it for precisely one year in one market only. I suppose if I wanted to run stock ECU without the one byte patch, I could swap out my cluster *and* heater control assembly, but like a thousand dollars versus five seconds in a hex editor. Good to know though!
well mainly the cluster and not the AC unit. But their is one issue, editing the hex, it can mess with the CVN number. unless its auto correcting for that change. but just as easily make a tiny board that just reads all three locations, and if one shows up. retransmit the same can message on the others. makes everything universal.
__________________
Always looking to tinker with something..
geraldjust is offline   Reply With Quote
Old 07-16-2025, 12:22 PM   #9
callisto
Member
 
Join Date: Nov 2021
Drives: 2019 Subaru BRZ
Location: NA
Posts: 97
Thanks: 67
Thanked 69 Times in 37 Posts
Mentioned: 4 Post(s)
Tagged: 0 Thread(s)
Well, I don’t think Subaru certified the 2020 calibration for use on my vehicle, so whether or not it matches the stock CVN, I expect it would be rejected without the EO process.
callisto is offline   Reply With Quote
Old 07-16-2025, 04:49 PM   #10
gpvecchi
Senior Member
 
gpvecchi's Avatar
 
Join Date: Mar 2018
Drives: Toyota 86 GT Limited PP (Model G)
Location: Italy
Posts: 1,048
Thanks: 411
Thanked 355 Times in 199 Posts
Mentioned: 14 Post(s)
Tagged: 0 Thread(s)
Quote:
Originally Posted by callisto View Post
Thanks! That is helpful. It looks like 72311CA110 (17..19) was updated to 72311CA130 in the US model year 2020, but EU 2020 (ZC6-LM8) still uses CA110. Huh. Well, certainly, no one outside USDM should use V00C anyways - it looks to just be U01A + US evap/smog, though I'm not at all certain of that yet - but it is still super weird that they updated it for precisely one year in one market only. I suppose if I wanted to run stock ECU without the one byte patch, I could swap out my cluster *and* heater control assembly, but like a thousand dollars versus five seconds in a hex editor. Good to know though!
The US heater control has the same part numer of the EU one.
gpvecchi is offline   Reply With Quote
Old 07-19-2025, 12:46 AM   #11
callisto
Member
 
Join Date: Nov 2021
Drives: 2019 Subaru BRZ
Location: NA
Posts: 97
Thanks: 67
Thanked 69 Times in 37 Posts
Mentioned: 4 Post(s)
Tagged: 0 Thread(s)
Quote:
Originally Posted by gpvecchi View Post
The US heater control has the same part numer of the EU one.
Ugh, so much for my third-party parts website lookup. Since I'm not going to be creating a hardware solution for this no matter what I find, I'm going to cease my research into it and move on to outcomes. Thanks for the tips! If there's more y'all would like to share about this, I'd love to listen further.
callisto is offline   Reply With Quote
Old 07-23-2025, 01:23 AM   #12
tomm.brz
Senior Member
 
Join Date: Jan 2017
Drives: brz 2017 hksv2
Location: italy
Posts: 2,276
Thanks: 515
Thanked 1,121 Times in 811 Posts
Mentioned: 70 Post(s)
Tagged: 0 Thread(s)
with non-updated Proecu, and nevc command, you can run it on any post facelift car in the world without problems same as gpvecchi is using
as per the utility, is questionable as those roms aren't really well defined in romraider or ecutek, to tune them is better to use more stable and defined roms
tomm.brz is offline   Reply With Quote
The Following User Says Thank You to tomm.brz For This Useful Post:
gpvecchi (07-23-2025)
Old 07-23-2025, 06:44 PM   #13
callisto
Member
 
Join Date: Nov 2021
Drives: 2019 Subaru BRZ
Location: NA
Posts: 97
Thanks: 67
Thanked 69 Times in 37 Posts
Mentioned: 4 Post(s)
Tagged: 0 Thread(s)
Quote:
Originally Posted by tomm.brz View Post
as per the utility, is questionable as those roms aren't really well defined in romraider or ecutek, to tune them is better to use more stable and defined roms
Ah, I definitely understand and acknowledge that none of this work I’m putting in will make tuners more likely to work with the post-facelift ECUs; that’s already been made clear repeatedly and I intended no argument against that. Apologies for being unclear!
callisto is offline   Reply With Quote
Old 07-24-2025, 01:20 AM   #14
tomm.brz
Senior Member
 
Join Date: Jan 2017
Drives: brz 2017 hksv2
Location: italy
Posts: 2,276
Thanks: 515
Thanked 1,121 Times in 811 Posts
Mentioned: 70 Post(s)
Tagged: 0 Thread(s)
Actually i do apologize very to you, it wasn't my intention to diminish your great work and effort you're putting in it
Just wanted to point out that for tuning purpose it' s better to avoid those latest revision of oem calibration
But you did a great great job.
Even if with ecutek you can easily see all these tables and differences you found, and also try modyfing them to see what they act to, ecutek it's still expensive and closed source
it is always great to have smart people like you address all this effort for the sake of open source freedom
Thanks!
tomm.brz is offline   Reply With Quote
 
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Will 2020 BRZ Limited Headunit fit 2020 86 dashboard? Arthur-A Electronics | Audio | NAV | Infotainment 8 08-15-2023 03:54 PM
PRE PAINTED CWEST Kits ROCKET BUNNY V2 and Now Available for Pre-Order!!! GET SOME... vividracing Exterior Parts - The Rest 27 01-30-2014 07:38 PM
USDM "TOM'S Style" Special Edition Tail Lights (DOT/SAE Approved) --- Pre Order 86_ZN6 Exterior Parts - Lighting 248 08-16-2013 12:13 AM
I was able to change my pre-order. nkrein22 BRZ First-Gen (2012+) — General Topics 23 04-10-2012 05:16 PM


All times are GMT -4. The time now is 04:48 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
User Alert System provided by Advanced User Tagging v3.3.0 (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Garage vBulletin Plugins by Drive Thru Online, Inc.