A method of balancing a DC midpoint of a three level inverter, the method comprising: receiving an input power signal at a three level motor control system that includes a three level inverter, the three level inverter powering an electric motor; determining, in the three level motor control system, a speed value of the electric motor; and adjusting a zero-sequence inverter output voltage to adjust a midpoint voltage at the DC midpoint based on the determined speed value, wherein adjusting the zero-sequence inverter output voltage from the three level inverter to adjust the midpoint voltage based on the determined speed value further comprises: setting a desired midpoint unbalanced value to zero volts; calculating a first temporary value by subtracting a DC midpoint unbalanced value from the desired midpoint unbalanced value, wherein the DC midpoint unbalanced value is equal to VUP minus VDN, divided by two; scaling the determined speed value; generating a second temporary value by multiplying the first temporary value by the scaled determined speed value, such that lower gains are used at lower speeds and higher gains are used at higher speeds; generating, using a regulator transfer function (C(s)), a commanded zero sequence inverter output voltage (VO*) based on the second temporary value; and applying the commanded zero sequence inverter output voltage to the three level inverter with an inherent open loop gain G(s) between the commanded zero sequence inverter output voltage (VO*) and the DC midpoint unbalanced value, resulting in alteration of the DC midpoint voltage. receiving an input power signal at a three level motor control system that includes a three level inverter, the three level inverter powering an electric motor; determining, in the three level motor control system, a speed value of the electric motor; and adjusting a zero-sequence inverter output voltage to adjust a midpoint voltage at the DC midpoint based on the determined speed value, wherein adjusting the zero-sequence inverter output voltage from the three level inverter to adjust the midpoint voltage based on the determined speed value further comprises: setting a desired midpoint unbalanced value to zero volts; calculating a first temporary value by subtracting a DC midpoint unbalanced value from the desired midpoint unbalanced value, wherein the DC midpoint unbalanced value is equal to VUP minus VDN, divided by two; scaling the determined speed value; generating a second temporary value by multiplying the first temporary value by the scaled determined speed value, such that lower gains are used at lower speeds and higher gains are used at higher speeds; generating, using a regulator transfer function (C(s)), a commanded zero sequence inverter output voltage (VO*) based on the second temporary value; and applying the commanded zero sequence inverter output voltage to the three level inverter with an inherent open loop gain G(s) between the commanded zero sequence inverter output voltage (VO*) and the DC midpoint unbalanced value, resulting in alteration of the DC midpoint voltage. setting a desired midpoint unbalanced value to zero volts; calculating a first temporary value by subtracting a DC midpoint unbalanced value from the desired midpoint unbalanced value, wherein the DC midpoint unbalanced value is equal to VUP minus VDN, divided by two; scaling the determined speed value; generating a second temporary value by multiplying the first temporary value by the scaled determined speed value, such that lower gains are used at lower speeds and higher gains are used at higher speeds; generating, using a regulator transfer function (C(s)), a commanded zero sequence inverter output voltage (VO*) based on the second temporary value; and applying the commanded zero sequence inverter output voltage to the three level inverter with an inherent open loop gain G(s) between the commanded zero sequence inverter output voltage (VO*) and the DC midpoint unbalanced value, resulting in alteration of the DC midpoint voltage.