MP8833 Power output

I am using the MP8833 in one of my designs, but I am unable to power a TEC with it. I also have the EV8833 Kit and when I use the same TEC it works there.
My current design uses an ESP32 which controls the MP8833 (the CTL pin) via the DAC. I am able to find the I2C address and communicate (not 100% to what degree it works) but when I set a constant voltage on the CTL pin, I am not able to power my TEC. The schematics and circuit is according to the EV8833 kit. I also tried setting the all the register to the default values. When I use the EV8833 kit, I don’t even need a dedicated I2C communication as it already works but just setting a voltage to the CTL pin.
Is there something specific I need to do before the MP8833 powers the TEC?

Hi Alexander,

Welcome to the MPS Forum! Sorry to hear you’re having issues powering your TEC and the MP8833.

Can you please clarify your operating parameters and a schematic with component values? What voltage are you applying to Vin?

Can you check the refresh bit? This is a status indicator bit and may give some insight on if a protection was triggered.

Additionally, this part can be started up via EN/SYNCH and SD pins. The I2C_ON bit can also control the start up. See page 15 in the datasheet.

Hey Stephen,
my schematic is really close to the EV8833 schematics. Difference can be seen on the REF-pin (as I don’t use it) and the 100kR pull-ups for I2C SDA/SCL (using 4.7k pull-ups on the ESP32). My input voltage is 5V-5.2V. (sorry for the unclear schematics)


When I set the refresh bit, it does not auto-recover to 0 (as it says in datasheet page 19). Here is the serial monitor protocol:
11:51:54.811 → I2C Master initialized.
11:51:54.811 → Type a voltage value (e.g., 1.2) to set on pin 25.
11:51:57.788 → Register 0x0 Value: 0x13 (Binary: 00010011)
11:51:57.788 → Register 0x0 set to 0x13
11:51:57.788 → Modified bits using mask: 0x2
11:51:58.302 → Register 0x0 Value: 0x13 (Binary: 00010011)

I initialize the I2C communication, (set a voltage for the CTL pin), read the register, write the bit 0x02 to 1 and read the register again after half a second.
Here I am also unsure what bits to set, as the datasheet and the GUI for the EVK8833 are different. The datasheet page 28 says that the refresh pin is on D1 whilst the GUI says that the refresh pin is on D4 (DISTime is also on D4…?). I2C Enable is on D0 while the GUI says D1…

I also tested the EVK8833 without an I2C connection and just powered the board and gave the CTL pin a voltage. It powered the TEC. I also resoldered my MP8833 several times and can’t find the issue.
Update: sent unfinished text, corrected and added last part

Hi Alexander,

Thanks for providing the information.

Since the Evaluation Board works as intended, let’s try and replicate it exactly.

Our evaluation board does not have a capacitor to GND on the CTL pin. Could you remove C10? Additionally, although you may not use the REF pin, please connect a 1uF capacitor between REF and GND. The REF pin supplies both an external voltage but also powers internal circuitry, and therefore should be decoupled.

Could you also check the Status Bit as well?

Hey Stephen,
sorry, I think I misunderstood you yesterday with the status register. I removed the capacitor C10, and soldered a 1uF to Ref (sketchy as I don’t have a pad, but it worked). And the power output still didn’t go through. Here is the serial monitor:
“I2C Master initialized.
Type a voltage value (e.g., 1.2) to set on pin 25.
Register 0x0 Value: 0x13 (Binary: 00010011)
Register 0x0 set to 0x13
Modified bits using mask: 0x2
Register 0x9 Value: 0x8 (Binary: 00001000)
-------update----
Register 0x0 Value: 0x13 (Binary: 00010011)
Register 0x0 set to 0x13
Modified bits using mask: 0x2
Register 0x9 Value: 0x8 (Binary: 00001000)
-------update----
Register 0x0 Value: 0x13 (Binary: 00010011)
Register 0x0 set to 0x13
Modified bits using mask: 0x2
Register 0x9 Value: 0x8 (Binary: 00001000)
-------update----
Voltage set to: 1.50V (manual)
Register 0x0 Value: 0x13 (Binary: 00010011)
Register 0x0 set to 0x13
Modified bits using mask: 0x2
Register 0x9 Value: 0x8 (Binary: 00001000)
-------update----
Register 0x0 Value: 0x13 (Binary: 00010011)
Register 0x0 set to 0x13
Modified bits using mask: 0x2
Register 0x9 Value: 0x28 (Binary: 00101000)
-------update----
Register 0x0 Value: 0x13 (Binary: 00010011)
Register 0x0 set to 0x13
Modified bits using mask: 0x2
Register 0x9 Value: 0x68 (Binary: 01101000)
-------update----
Register 0x0 Value: 0x13 (Binary: 00010011)
Register 0x0 set to 0x13
Modified bits using mask: 0x2
Register 0x9 Value: 0x8 (Binary: 00001000)”
I set the voltage to CTL between 1 and 1.5, it worked. Any voltage higher than ~1.5V doesn’t power the TEC, even though the status says it should. Any voltage lower than ~1V also does the same. From my understanding, I should be able to control it between 0.25V and 2.25V. I desoldered the REF Pin, and it didn’t work. Your advice worked, thank you.
Now I still need to figure out why the CTL pin goes into VLIM or ILIM when my TECs are able to work with higher voltage/currents. Right now my power supply says 0.3A @ 5.2V (it’s not accurate for more digits, but I should be able to draw more current at least)

Hi Alexander,

Glad to hear that you’re able to now power the part. If the part is hitting VLIM/ILIM, please check the register values for VLIM and ILIM. Table 7 and Table 8 in the DS outline ILIM and VLIM values you can set via I2C. The CTL pin and consequently, the TEC voltage control is limited by Vin and Vlimit.

Hey Stephen,
I just checked the default limits and only now realized that the VLIM is at around 2.8V, but the current was at around 1.5A. (I thought VLIM by default will be around 5V as well) My MP8833 activated the VLIM fairly fast. I now deactivated the Limits to see and understand what the maximum power. I was able to draw more current.
Thank you for your help.