How to DIY PSU for BMW Flashing with Esys

This build uses old HP server power supplies which can be obtained on ebay for dirt cheap. The PSU is called DPS600PB. 1 or 2 DPS600PB (ebay)

jumper wires (commonly used with arduinos, ebay)

wire cutting and soldering supplies

heatshrink in various sizes automotive jumper cables

4mm bullet connectors (optional if you want your setup to be detachable, amazon)

1k ohm potentiometer (i got a 10 pack from amazon, but you can find these anywhere) multimeter

Disclaimer: I take no responsibility for injury to yourself, others, your pets, your car, or anything really that result from following these instructions. It is currently unconfirmed whether or not to isolate the DC ground within these PSU when running them in parallel is the right thing to do. The instructions have been included, but may be skipped if you are confident it is not needed. Each of these PSUs has a 12v rail capable of 47A (someone on youtube tested up to 55A before it shut off). A single one of these should be enough to flash the car based on what ferrarif1 said his real PSU was reading during flashing (20+ amps). I decided to wire mine in parallel to double the total amps because these PSUs have a current sharing pin (pin 11), not to mention the PSUs came in a two pack.

These PSUs are often used to charge RC lipo batteries. This page was very helpful, but I did not follow all of the instructions because I combined steps from other guides.

Remove all external screws except for the handle.


You don’t have to, but i drilled off the red handle.


Using the top cover that you just removed as a knife, you’re going to break the adhesive between the black insulation and the side panel at the top in this photo.


Now that the adhesive is broken, you should be able to slide the side panel apart like this. Then remove the fan screws.


Once inside, you’re going to want to isolate the DC ground in these two places. For the top arrow, I took that screw out, pried the board away from the standoff slightly, and placed 3 layers of electrical tape on the bottom side of the board. For the bottom arrow, you have to break those two connectors. It was pretty easy to do with needle nose pliers.


Now, reassemble the PSU.

Using 4 ends of the arduino jumper wires, I connected pins 4 6 8 10 by stripping the other end, twisting them and soldering them together. This deviates from the link I posted above. They use a switch, but mine powers on when you plug it in.

1 2 3
4 5 6
7 8 9
10 11 12

My potentiometer had 3 pins. I used pin 1 and 2. Take your potentiometer and test the resistance using the multimeter on those two pins. Make sure it is around 400-500 ohms. I then used jumper cables to connect those pins to pin 3 and 9 on the PSU. This will be your voltage controller.


Plug it in and attach your multimeter in DC voltage mode onto the 12v power connectors, the big slots on both side of the pins we just connected. The left side is ground and the right side is 12v.

Adjust your potentiometer until the output voltage is reading 13.5-13.6v. Do not go much higher as the PSU has over voltage protection at 13.8 and will shut off. Due to some conflicting information on the internet, the over voltage protection might be triggered at 13.65v.

You now have a working PSU! How you want to connect the PSU to the jumper cables is up to you. You could cut solder the jumper cables directly to the 4 terminals, or use bullet connectors to make it modular like I did.

To solder onto all 4 terminals, split your stranded wire in half and tin them together. Then, I was able to force them into the connectors and then solder them to the connectors pretty easily.

DIY-PSU-Build--for-Flashing-7 DIY-PSU-Build--for-Flashing-8

The very last step only applies if you are using two PSU in parallel like I did. You just need to take another jumper cable and connect pin 11 on both PSU together.

That’s it!

Here’s my finished setup:

DIY-PSU-Build- for-Flashing-9

My PSUs were set to 13.5v and I think I was losing voltage due to the resistance of the long jumper cables and my crappy soldering. The car’s battery terminals were reading 13.30v on my multimeter during flashing and did not budge the whole time.

To update my car, I used ESYS with 58.3 full data and this instruction:

How to flash F11 ECU with BMW Enet E-sys

You can skip the first couple pages about prerequisites since we will be flashing everything. I followed all the instructions but flashed all ECUs in the TAL. You will most likely need ISTA-D/Rheingold handy as there are various modules that could require initialization/calibration/etc after the flash. The car was showing 167 faults after the flash was done. I had to clear all faults, then reinitialize my window regulators and LED headlights based on the faults that re-appeared.