By PickleRick of Xtreme Systems
Thanks to ASGx of Xtreme Systems for letting me do experiments on his 5090

This is a guide on how to achieve native MSI 5090 Lightning style voltage control thru MSI afterburner on MSI RTX 5090 suprim/trio/vanguard, as well as some info on how you can adapt this guide to other models. The voltage rails which can be controlled via this method are NVVDD , MSVDD, and FBVDDQ. This will work on any VBIOS.
I already had control of NVVDD and FBVDDQ using Elmor Labs EVC2-SE, however there is not an EVC2 profile for the MP2988 controller responsible for MSVDD. Astral is the only card which has an EVC2 profile for its MSVDD controller.
The short version for those who understand their 5090’s board layout and routing, You must bridge I2CB_3.3v and I2CC_3.3v, then edit the Afterburner .oem2 file to match the VBIOS you are running. For those who do not, I will go into how and why below.
I was able to observe a gain of 15mhz in crossbar frequency by bumping MSVDD to 1.1v across 2 different VBIOS (Matrix and Lightning XOC). From what I understand, when sub zero on LN2 or otherwise, the gain in crossbar frequency is larger than this.
This should work on any 5090 using MP29816A and MP2988 controllers. Which is almost all of them except the astral. Astral is instead using MP2898A for control of MSVDD rail. However this mod would still likely be able to control NVVDD and FBVDDQ on astral. Some newer manufacture date gigabyte cards are also using a different controller than the standard MPS ones used on most models.
Ever since the September 18th 2025 MSI Afterburner update v4.6.6 Beta 7 Build 16756, There was an entry in the change log that has had me curious, it reads "Added MP2988 and MP29816A voltage controllers support. New PWM controller support is reserved for future extreme overclocking oriented graphics card models with triple/quad channel voltage control. Please take a note that such voltage controllers are also used on the most of currently existing NVIDIA RTX 5080 and RTX 5090 series cards, but unfortunately I2C address range of PWM controllers on reference cards is blacklisted by NVIDIA display driver, making extended voltage control on currently existing NVIDIA RTX 50x0 series cards impossible."
When opening the MSIAfterburner.oem2 file in a text editor, there is a section that reads "MSI RTX5090 Gaming Trio I2C mod". I suspect this is a result of MSI using gaming trio cards for internal testing of MSI Lightning related voltage controls.
When looking at the board view for some 5090 models, I noticed there are 3 separate I2C communication buses. They are named I2CB, I2CC, and I2CS. I2CB is primarily used for fan control, rgb, lcd, and other similar non critical communications, I2CC is used for voltage controller communication, and I2CS Is used for smbus over pcie slot communication. Each of these buses has a 1.8V side which goes to core, and a 3.3V side which connects to various devices. Each of these level shifts are achieved through N channel mosfets.
The I2CC bus which facilitates voltage controller communication is locked down by the Nvidia driver, only the core can talk to this bus. However I2CB is open to be read/written to via software. In order to enable communication with the voltage controllers via software, we must bridge I2CB and I2CC. I have chosen to do this on the 3.3v side, there are almost certainly other methods which would also work.
How to
for Suprim/Trio/Vanguard (same pcb)
DISCLAIMER: I accept no liability whatsoever for any damage, loss, or destruction of hardware including permanent GPU failure resulting from the hardware modifications discussed here. You proceed entirely at your own risk.
Supplies
Small wire (I used 32awg enamel wire)
General soldering equipment/knowledge
Glue for strain relief (I used hot glue)
(Optional) 3D printer with TPU rubber filament to make a grommet https://drive.google.com/file/d/1_lOPpYYC8RsA05g9KHsfBlbQqFUMD0Ww/view?usp=sharing
Step 1:
Solder 32 awg enamel wire to the points shown in the photo below, These are the I2CB_3.3V SCL and SDA connections, Mark one of the wires so they do not get mixed up, Insert them into the grommet, and use some hot glue to serve as strain relief

Step 2:
Route the wires as shown in the photo below, make sure to avoid any standoff or thermal pad areas

Step 3:
Connect the wires to the pads as shown in the photo below, These are the I2CC_3.3V SCL and SDA pads.

Step 4:
Close afterburner, then edit the MSIAfterburner.oem2 file located in C:/Program Files (x86)/MSI Afterburner with a text editor to match the hardware ID (GUID) of whichever VBIOS you are running.
Shown in the photo below are examples for Asus Matrix VBIOS and Msi Lightning 2500w XOC VBIOS. For XOC VBIOS with 4000 mem, add "MemoryClockBoostMax = 4000000". You can obtain your hardware ID by clicking the information button in afterburner. Copy and paste matching the format of the original .oem2 file trio I2C mod section, which ends at “&REV_A1”.
You can change "Desc" to a custom name if you like, you can also copy and paste the entire section for use with multiple VBIOS, it will auto detect which VBIOS you use based on the hardware ID string.


Step 5:
In order for Afterburner to make use of the oem2 file, you must set voltage control mode to third party as shown below.
Note: When using a non XOC VBIOS such as Matrix. You will want to change to another voltage control mode to set "100% core voltage percent", apply, then switch back to third party. This is because the "voltage percent slider" gets replaced with a voltage offset slider when I2C mod is active. "100% core voltage slider" adds about 20mv, but also significantly increases crossbar clock.
When using an XOC VBIOS, the "core voltage percent slider" does not do anything so it is not necessary to switch to another mode to change it.

You will then see a new button appear to expand the voltage controls. Core voltage (mV)=NVVDD, Memory Voltage (mV) = FBVDDQ, and AUX Voltage = MSVDD

Warning: While i2c mod is active, do not attempt to lock max voltage via afterburner curve, this will send over 1.2v to core
How to adapt this guide for use on another model of 5090
In order to perform this mod on another model of 5090, You will need to find points where you can solder to I2CB_3.3V and I2CC_3.3V's SCL and SDA lines.
To find the points on Suprim, which has no board view available. I used a combination of Gigabyte windforce 5090, Asus Astral 5090, and MSI Suprim 4090 board views. Windforce board view was most helpful in helping understand what components I should be looking for which connect to I2CB_3.3V, such as the fan controller, however it uses a different model of fan controller than my MSI card. The fan controller on Suprim 5090 matches that of a 4090 suprim, so I was able to visually trace from the pinout of the 4090 fan controller to find places to solder I2CB on Suprim 5090.
Methods like these will be needed to find solder points on other models.
Note: It is possible that other models of 5090 may their controllers mapped to different addresses, If after performing the mod you do not see the voltage sliders you can run an I2C scan.
To run an i2c scan to discover the address of your controllers
1: Close afterburner
2: Open CMD as admin
3: CD into the afterburner directory "cd C:\Program Files (x86)\MSI Afterburner"
4: Type "MSIAfterburner.exe /i2cd" without quotes and press enter.
This will create a i2cdump.txt file in the afterburner directory. Adapt the .oem2 file to point to the addresses found on bus 4
Wiring example for Gigabyte 5090
(As long as your card uses MPS controllers. Some newer manufacture date Gigabyte cards use a different controller.)
Wiring between the J4003 pads and LCD screen header as shown below should work for Gigabyte cards including Aorus Master, Gaming OC, and Windforce.


