Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

I retrofit MCU2, IC2, Tuner2, and FSD Computer into my HW2.0 Car

This site may earn commission on affiliate links.
Here's my story of my DIY HW2.0 retrofit for MCU2, IC2, TUNER2, and FSD Computer:

I want to begin this post by offering the most honest caveat I can: I do not encourage you to repeat anything I have done. In fact, now that Tesla is offering the MCU2 and FSD Computer retrofits officially, I highly recommend you go do that. MCU2 + FSD is wonderful. I am presenting this post to hopefully provide some guidance and entertainment to members of this great community – a place that I’ve found endlessly fun for the past several years during my Tesla ownership. I make no claims that the guidance offered below is correct or suited to your circumstances.

Towards the end of January, late one night while tinkering with my Tesla, I had a realization – I finally knew enough about the Model S/X hardware & software architecture to attempt one of the most involved retrofits I’ve ever done on a vehicle – an MCU2/IC2/Tuner2/APE3 retrofit into my HW2.0 MCU1 Model S. After a LOT of research, and with tons of help from others in this community (thank you to those that helped; you know who you are), I wanted to share my success story of retrofitting MCU2/IC2/Tuner2/APE3 to work in my car. All told – I have a fully working MCU2/IC2/Tuner2/APE3 with all the Theater, Arcade, Caraoke, FM Radio, Web Browser, Dashcam, Sentry, FSD visualizations and other goodies you would expect.

“But Tesla now offers an official MCU2/APE3 retrofit!” you say…” Why would you want to do a retrofit yourself?” Good question…there’s a couple reasons I chose to do this myself:

  • I completed the retrofit a couple months before Tesla finally came out with a public announcement that MCU2 retrofits were officially official. I’d been waiting for Tesla to follow-through on Elon’s never-ending tweets promising a retrofit was coming and finally just decided I’d do it myself.
  • Tesla charges $2,500 for the MCU2/IC2 retrofit and does not include the XM/FM Tuner2. I thought I’d try getting Tuner2 to work – which I did.
  • I found a person with a wrecked 2018 Model S who was willing to sell me the MCU2, IC2, Tuner2, and wiring harness out of the car – everything I needed from a hardware perspective for a reasonable price. All in, I saved roughly $1,000 doing this myself compared to asking Tesla to do it. Honestly though, I probably put 100+ hours into this project and went from knowing nothing to knowing a lot. I didn’t really save time/money; quite the contrary. I did this because it was a ton of fun.
  • I got the APE3 (FSD Computer) unit on loan from a friend. I did purchase FSD from Tesla and will have Tesla install my forthcoming APE3 unit whenever they actually do it.

Come along as I take you through my journey of retrofitting the MCU2/IC2/Tuner2/APE3 hardware into my HW2.0 car.

mcu2-png.531258
 
HARDWARE:

First, I needed to acquire the necessary replacement parts. I found some parts that matched my car’s needs:

  • MCU2 and IC2. Part Numbers 1450737-XX-X (MC2 non-premium audio), 1447934-XX-X IC2.
  • Tuner2: 1143703-00-C (this is an FM/HD tuner only, as my car doesn’t have XM), but if you want the Tuner2 with FM/XM, you need 1143711-00-C.

MCU2.png


  • I also purchased a full wiring harness from the wrecked car. I did this as a matter of convenience and it is not really required, but I figured I might as well have it.

Wiring Harness.png



In the above image, you’ll see the MCU2, the IC2, and the Tuner2 all connected to the wiring harness. Obviously, the wiring harness is not required for this retrofit, but it was included in the parts I purchased. Important Note: The MCU2/IC2 units do not require any wiring changes to be compatible with HW2.0 cars. I have heard anecdotally that a few wiring harness changes may be needed to make MCU2 work in a HW1.0 car (depending upon MCU0/1 revision), but all HW2/2.5 cars with MCU1 are able to drop MCU2/IC2 in place and use existing wiring. Also, it is important to note that both MCU2 and IC2 must be replaced together. While wiring is the same, the IC1 and IC2 are entirely different architectures and re-use the same wiring for different purposes. You cannot use MCU2 with IC1 (even though the wiring has no changes) – you need MCU2 as well as IC2.

As with many MCU2 units, mine came with a slightly yellowed ring around the LCD (see image below).

Yellow Border.png


I bought a 100w 385-405nm UV light off of amazon for $45 here.

I then used this UV light to “cure” the yellow border around the LCD. It ended up taking a long time – approximately 24 hours per section to make the yellow go away visibly when the LCD screen is on. I did this both on my MCU2 LCD as well as the IC2 LCD which was showing some minor yellowing too.


UV Light.png


  • FSD Computer (APE3): 1655000-00-I (current revision). I borrowed this unit from a friend to test to see how it worked on an AP2.0 car.
APE3.png




There are some additional wiring changes that APE2.5/APE3 employed that were not on APE2.0, so I had to make a few extenders to account for that. Tesla provides these same extenders when doing their FSD retrofits on HW2.0 cars (thanks @Akikiki for confirming!). Here is a comparison of the left-side of the APE units and their connectors:

Left.png


The unit on the Left is APE2.0, The unit on the right is APE3.0 You’ll notice in the image above that the second and third connectors changed (circled in blue). APE2.0 has Backup Camera IN (blue) and Backup Camera OUT (Black) on the left-side of APE, whereas these were moved to the right-side of APE2.5/3.0:

clip_image014.jpg

Right.png

Above, you can see that APE3.0 has the Backup Cam IN/OUT on its alternate side. The Black goes OUT to MCU. There is also a new Purple connector which is Backup Cam Out/IN for APE purposes. To get the APE3.0 wiring to work with my 2.0 car’s wiring, I had to get 3 cables:

  • 2 x 18” FAKRA HSD LVDS 4 pin male to female (Z-style/universal) extension cables to route the backup camera in/out cables from the previous left side of APE to now the right side of APE.
HSD.png

clip_image016.jpg


  • 1 x FAKRA female to female extension cable to go from the APE’s right side small purple connector (backup camera’s out to APE) to the APE’s left side small purple connector (backup camera in on APE):

Fakra.png

clip_image018.jpg
 
SOFTWARE:

After having acquired the necessary hardware, the next process was to prepare the MC2 for thinking it was “mine” (programmed for my specific Model S). This is really the hardest part of the whole process. Because Tesla doesn’t provide its servicing software “Toolbox” to anyone but themselves (fist shake!), I had to take matters into my own hands and do it all myself.

While the MCU1 is an ARM-based Nvidia Tegra unit, and the MCU2 is an Intel Atom-based unit, MCU1 and MCU2 are similar in nature from a software perspective. In order to make MCU2 work with my car, I had to find a way to load important files from MCU1 to MCU2 so that my replacement MCU2 can control my car. It goes without saying, that in order to do the transfer of the files between MCU1 to MCU2, you need some sort of access to the file system to be able to do that (either root access or physical emmc read/write capability). The truth is if you do not have those capabilities for MCU1/2, you should not attempt *any* of this. You will not be successful. Frankly, were it not for some very kind people that helped me, I would have never been able to do this myself. Luckily, I had an old enough MCU2 unit that a software vulnerability existed to exploit to gain access to do the necessary work. Newer units won’t have this option. Additionally, Tesla also provides a nice script with their firmware that provides a listing of which files need to be backed up on MCU1 and moved over to MCU2.

In short, at a minimum, you need to transfer from MCU1 to MCU2:

  • Copy your encryption keys from MCU1’s /var/etc/openvpn to MC2’s /var/lib/car_creds (this is where your “carkeys” are stored so your mobile app will work, etc.
  • /home/tesla/.Tesla/data (odometer, settings, accounts, favorites, audio stuff, etc.).
  • /var/etc/gateway.cfg copy to internal.dat on the gateway using gwxfer (car configuration).
  • Update car configuration on gateway to autopilotCameraType 1 (RCCC cameras for HW2.0).
  • Update car configuration on gateway to dashw 4 (AP0 is 0, AP1 is 1, AP2 is 2, AP2.5 is 3, and APE3 is 4).

I was able to get my MCU2 provisioned for my car by completely disassembling it and writing some key files using a BDM Table/Probes and a (slow) easyJtag box to read and write data to the MCU2’s emmc flash chip. MCU2 has a 64GB emmc chip (much bigger than MCU1’s), and only 32GB is provisioned, so there is lots of headroom for wear-leveling – it should last considerably longer than MCU1’s emmc chips that constantly fail.
BDM.png


Once I had written the necessary files, I was able to connect to MCU2 to my computer and finish the work.

Laptop.png


Once my MCU2 had all the necessary files on it, all I needed to do was to upgrade the firmware on it to the latest version and redeploy it to my car’s ECUs to get everything working.

Installation:

In order to replace the MCU1/IC1, you must remove all the fascia on the dash. It’s easy with a handful of screws and clips to pull. The below image looks terrifying, but it’s not too bad. Remove the soft trim pieces by pulling, remove the glovebox with 6 x T20 screws, remove the wood trim with a couple of screws and then pull, remove the AC vents, and then lift the dash top up a couple inches to add clearance.
Dash.png

I chose to tape off the aluminum trim (the green tape) so that I didn’t scratch it when installing MCU2. Also, a huge help in this process, is an inflatable bag tool to lift the dash top up and away. You’ll see I have two inflatable bags in the image above that are lifting the dash top up an inch or two which allow enough space to remove MCU and IC from their slots.

At this point I chose to add wiring for the Tuner2 module. Tuner2 fits into the same physical location as Tuner1 – which is located just to the left of the steering column, near the driver’s knee. Removing the Tuner1 module is hard – primarily because it’s bolted in with 3 x 10mm bolts – one of which is virtually inaccessible without a very long (18”) and flexible 10mm socket driver extension set. I bought a bunch of flexible socket extensions from Home Depot to reach the tuner.
Steering.png

Installing the Tuner, as you likely suspect, is optional…and it’s physically a pain in the butt. After retrofitting the Tuner2 into my car, I *totally* understand why Tesla isn’t offering Tuner2 in the MCU2 retrofit process. It’s difficult. But I chose to do it anyway. The Tuner2 unit reuses the existing antennas (FM/XM) that Tuner1 connects to – but the Tuner2 does have new wiring between it and the MCU2 unit – so this is the only wiring change needed. More on that later.

In order to add the wiring for the Tuner2 to my car, I just ran a single twisted pair from an old Cat5e cable from MCU2’s location to the Tuner location (about 3-4ft).

All the ports on the back of the MCU2 are identical to what was on my MCU1 unit, so you reuse all existing wiring harnesses MCU1 had – except for a new port for the Tuner 2:

MCUTuner.png

This port contains a 4-pin connector, but it only uses two wires (pins 2 and 3) as the Tuner2 communicates with MCU2 over BroadR-Reach automotive ethernet (100Base-T1) (twisted pair). You can also buy this connector directly from Mouser for cheap – it’s p/n: MOLEX 34791-0040.

This two-wire cable connects to the tuner2’s 10-pin connector on the other side of the Tuner:
Tuner.png

You’ll notice that the two grey wires that came from MCU2 fit into those top right pins, and then there are two other wires (red for 12v) and black for ground. I stole the 12v/gnd connection from the old tuner’s wiring harness (that will be unused). You can buy this new Tuner2 connector for cheap from Mouser: p/n AMP 2302475-2.

Then you just put the Tuner2 in place (hard), IC2 in place (easy), and MCU2 in place (easy), APE3 in place (easy) and then redeploy software to configure it all.

APE3-2.png


For APE, it’s simply removing the old APE2.0, installing the three extension cables discussed above, and installing APE3.0.

One important note, not specific to just the MCU2/APE3 retrofit, is that anytime you introduce new/replacement networked hardware onto the car, you need to run through either a software installation (new version), or a software redeploy (reinstall existing software) in order to get all of the car’s systems in sync and talking to each other. For those familiar with this process in their MCU1 cars, they normally do these actions by connecting to the cid-updater process by getting on the car’s network and connecting via telnet to 192.168.90.100 port 25956 and issuing “factory-redeploy” command. The same applies for MCU2, however, MCU2 architecture uses a process called “sx-updater” – but you connect to it the same way. I simply connected to the sx-updater process, issued a “factory-redeploy” command and MCU2/APE3 provisioned themselves with the rest of my vehicle’s modules. The redeploy takes roughly 20 minutes to complete and when done will show you the release notes of the current software version. As long as the internal.dat file matches your car’s actual configuration (don’t make changes, other than perhaps enabling APE and Tuner as needed on newer firmware), redeploy should work fine.

Update.png


Screens.png

Calibration.png


Camera calibration can take some time. I’ve now done this a couple times and have a feel for what calibration does/is. Calibration is *not* a one-time event that goes from OFF to ON after a few miles of driving. In fact, it happens in stages with several levels of improvement/accuracy over time. For example, after just a few miles of driving, Autopilot Lane keeping becomes available, but Navigate on Autopilot and Smart Summon are still not available because additional calibration is happening in the background. In fact, once Autopilot (lane keeping) is first active, it is really bad and not centered at all. I have found that it takes roughly 60-100 miles before calibration is dialed-in correctly for all functionality to work smoothly.
 
Calibration2.png


Conclusion:

Everything just “works”! Mobile App, HomeLink, Bluetooth, LTE, WIFI, Web browser, Games, Theater, Caraoke, Navigation, FM Radio, FSD Visualizations, DashCam Viewer, Firmware updates, maps updates, games updates, etc. It is a complete success. Dashcam and Sentry mode work too, even with HW2.0 cameras! (the colors are just mostly greyscale with a little bit of red and green). It’s honestly perfectly usable for Dashcam/Sentry.

It’s like having a brand-new car with the latest/greatest that Tesla offers! I’m very pleased, especially doing it with my own hands and no official Tesla tools.

Important note: Rumor has it that this week Tesla made modifications on their firmware servers that prevent firmware updates going to an MCU1 if the vehicle’s VIN has reported a functional MCU2. In other words, an MCU2 retrofit is a one-way street. Once you do it, you don’t go back. Otherwise, you’ll never get new firmware from Tesla if you decide to put MCU1 back in.

Finish.png


If you made it to the end of this post, congratulations! You now know how crazy I am. Please don’t repeat my craziness – there were many long nights of thinking “how am I going to make this work?” I did it because it was fun, but now that Tesla is officially offering most (but not Tuner!) of what I did, I encourage you to go that route. Please don’t ask me “how do I gain root access to my MCU?” because I honestly cannot help you – I’m not that smart. Tesla closed the only hole I was aware of in early 2019 firmware. Additionally, it is not possible to retrofit the Tuner2 module into those of you that have Tesla retrofit MCU2 into your cars because not only do you need the hardware, but you’ll need to update the car configuration on the gateway – which is not something you can do without access to the locked-down file system.

That’s it! Hope you enjoyed my story. Perhaps my next adventure will be retrofitting RCCB (HW2.5/3.0) cameras into the front tri-cam, pillars, and repeaters (backup camera is the same on 2.0/2.5/3.0). Until next time-

Kyle
 
Great report. I noticed you transferred a file with the odometer reading. Could an unscrupulous person reset the odometer if they have root access or is it encrypted or something to prevent such abuse?
My understanding is that Tesla mothership keeps tabs on the odometer and other metrics and will overwrite if it was ever changed. I'm not sure, as I didn't try to mess with it. It's stored in some sqlite database or something.
 
  • Love
Reactions: Akikiki
Thanks for the detailed write up. Just one question for you that I think a lot of us have.... Now that Tesla officially gives us an official MCU2 upgrade path, the ONLY thing we want/need is the Tuner 2 upgrade. Are you saying it's impossible now because the software hole you had before to program the tuner 2 to work with the car doesn't exist anymore?
 
  • Like
Reactions: MIT_S60
Thanks for the detailed write up. Just one question for you that I think a lot of us have.... Now that Tesla officially gives us an official MCU2 upgrade path, the ONLY thing we want/need is the Tuner 2 upgrade. Are you saying it's impossible now because the software hole you had before to program the tuner 2 to work with the car doesn't exist anymore?

Yes. In order to make Tuner (or any other main ECU connected to the car's can-bus or network system) work you need access to the car's gateway and be able to change the car's configuration. Tesla prevents this from being done and actively closes any holes, understandably, because nefarious people could enable things they haven't paid for. To get Tuner to work, you'd need a way to update the car configuration on gateway. I've heard of several people asking their friendly service center technician to enable the tuner in the car configuration (once it's retrofit) and I haven't heard any success stories. Most technicians wouldn't know how to do this unless it's built into Toolbox as an option, and it's likely not. Short answer - a tuner retrofit is tough to do.
 
View attachment 531277

Conclusion:

Everything just “works”! Mobile App, HomeLink, Bluetooth, LTE, WIFI, Web browser, Games, Theater, Caraoke, Navigation, FM Radio, FSD Visualizations, DashCam Viewer, Firmware updates, maps updates, games updates, etc. It is a complete success. Dashcam and Sentry mode work too, even with HW2.0 cameras! (the colors are just mostly greyscale with a little bit of red and green). It’s honestly perfectly usable for Dashcam/Sentry.

It’s like having a brand-new car with the latest/greatest that Tesla offers! I’m very pleased, especially doing it with my own hands and no official Tesla tools.

Important note: Rumor has it that this week Tesla made modifications on their firmware servers that prevent firmware updates going to an MCU1 if the vehicle’s VIN has reported a functional MCU2. In other words, an MCU2 retrofit is a one-way street. Once you do it, you don’t go back. Otherwise, you’ll never get new firmware from Tesla if you decide to put MCU1 back in.

View attachment 531278

If you made it to the end of this post, congratulations! You now know how crazy I am. Please don’t repeat my craziness – there were many long nights of thinking “how am I going to make this work?” I did it because it was fun, but now that Tesla is officially offering most (but not Tuner!) of what I did, I encourage you to go that route. Please don’t ask me “how do I gain root access to my MCU?” because I honestly cannot help you – I’m not that smart. Tesla closed the only hole I was aware of in early 2019 firmware. Additionally, it is not possible to retrofit the Tuner2 module into those of you that have Tesla retrofit MCU2 into your cars because not only do you need the hardware, but you’ll need to update the car configuration on the gateway – which is not something you can do without access to the locked-down file system.

That’s it! Hope you enjoyed my story. Perhaps my next adventure will be retrofitting RCCB (HW2.5/3.0) cameras into the front tri-cam, pillars, and repeaters (backup camera is the same on 2.0/2.5/3.0). Until next time-

Kyle
Wow I can just say impressive. Kudos.
A question regarding dashcam feature for HW2.0, MCU1.0. Did you find any reason why dashcam will not be available with FSD upgrade? Why do we need MCU2.0 to get the dashcam feature?
 
Wow I can just say impressive. Kudos.
A question regarding dashcam feature for HW2.0, MCU1.0. Did you find any reason why dashcam will not be available with FSD upgrade? Why do we need MCU2.0 to get the dashcam feature?
You don’t need mcu2 for dashcam. You need ape 2.5 or 3. Mcu1 with ape2.5 or 3 will do dashcam. The reason I gained dashcam was because of ape3. However, mcu2 adds rear backup camera functionality into dashcam. Mcu1 won’t do backup cam dashcam.
 
  • Informative
Reactions: Jays200
Great read and awesome write-up with clear methodology and great pics. Thanks for all the hard work. Although I will never do this, it's an important addition to the knowledge base.

It's also awesome that the modern electric car "mechanic" didn't even open the bonnet, get underneath the car or get grease/oil on them or their car's nice trim ;)

Well done.
 
  • Like
Reactions: darbarr and KyleDay
Great read and awesome write-up with clear methodology and great pics. Thanks for all the hard work. Although I will never do this, it's an important addition to the knowledge base.

It's also awesome that the modern electric car "mechanic" didn't even open the bonnet, get underneath the car or get grease/oil on them or their car's nice trim ;)

Well done.

You may be right, but consistent with any shade-tree mechanic, there were still plenty of obscenities yelled trying to remove that darn Tuner1 module. It was the hardest part for sure.​
 
Amazing post. I have a HW2.5 MCU1 car w/ FSD purchased. I'm into DIY (even when its not for saving money), why pay when I can figure things out on my own. I did my own full wrap for both our model x and 3, but this is way next level. For the past few months I've slowly been mulling trying to do a DIY MCU 2 retrofit. I haven't done much research into it but now that I have read your post now definitely know I would have taken too big of a bite. This is way beyond me, I definitely think you rescued me from a lot of heartache. I'll opt for the Tesla MCU 2 retrofit.

But props to you for going for it. I'm still afraid of opening up the dash, now that you have through this process the experience you have gained is super valuable.
 
What a great write-up, thank you.

I read the postings hoping to learn how I can add the FM/XM tuner back into my upgraded MCU2/AP3 model S. I'm a bit disappointed that I can't do that, yet... but I'm sure one of these days someone will be able to figure it out and/or offer a solution to add these back in the car.
 
Great detail! Thanks for your insight and post. Your post gives me hope on a solution fo the FM/XM radio problem on upgrade. I paid $2,500 for the upgrade specifically to get XM radios when I bought my MX in 2017 and it seems ridiculous to pay an additional $2,500 for an upgraded MCU only to have it removed.