# Mighty morphin' power servers[or HP Z620 impossiburu build on a budget]....



## silentbogo (Jul 16, 2020)

Greetings, TPU members and random readers! It's me again with my boring projects.

I'll start with a premise, so you'll understand why I even started this stupid thing.
Recently I went through series of unfortunate events in my office (and no, I'm not talking about current pandemic).
One being a break-in, which cost me my favorite laptop and few random gadgets. The other one - unreliable office neighbors, who agreed to pitch in on surveillance system, but once I spent my blood-earned money on cams, DVR, cables and sensors for everyone - those assholes decided to "think a bit" or outright bail-out.
With barely any money left, I started thinking...

*PART 1: GATHERING PARTS*

...and after quick 5-minute brainstorming session I've decided to go total overkill and build the most powerful workstation at the lowest possible budget.
In contrast to my usual PC projects, this one went completely backwards right off the start: first I bought a chassis and only then started to think about the internals.
That's because I got an absolutely bonkers killer-deal on my favorite workstation case of all time - Lenovo S20. All this beauty in nearly perfect condition, for the low-price of $4, 'cause its previous owner really didn't want to throw it away. I call it Powermac for Engineers 



_....I kept the cat sticker..._

Next, the internals!

As far as bang-for-the-buck, s2011 is still the king(though 2011v3 is getting closer), so I've decided to go that route.
The only two self-imposed limitations were:
1) Only local deals, no aliexpress or any other chinese stores
2) No Huanan boards and no Xeon engineering samples. Both are shit, and if someone thinks otherwise - FU. Retail boards and CPUs only was my goal, cause I'm going to use it every day.

Got a cheap E5-2660($35), along with 4x4GB kit of DDR3-1866 RDIMM ($25 for the whole kit).
Next, I needed a board. My first idea was to try and fit Thinkstation S30 internals, but those were hard to find in decent condition(at least in my area), and they cost nearly as much as new mid-budget boards. I've decided to settle on HP Z420 as this is by far the cheapest workstation board the money can buy. All the nuances like incompatible pinouts with my case and possible PSU issues were promptly forgotten about, once I saw a $65 price tag.
Another big surprise was a cool seller: he just ran out of Z420 boards, so he shipped Z620 w/ PSU adapter and thermal sensor at no charge. It's basically the same thing, but with an additional socket for second CPU module.
.

At first I wanted to use my old 950W Coolmax modular PSU, but it was too big for the side panel to close and only few power cycles later it died of old age. So, instead I spent an hour or so fixing standby rail on my old Seasonic.
As for cooling, I had a cheap chinese dual 92mm tower(supports up to 3 fans). It was supposed to go into my previously planned Ryzen rig, but fortunately it came with a bunch of brackets for other sockets, incl. s2011v1/v3.
Rated TDP is around 150W, which is more than enough for my needs. Price - only $20



Also I had a spare GTX1060 6G just for cases like this.

So far so good. Excluding my existing parts, I've only spent $150. I can temporarily install one of my 2TB spare HDDs, while working on SSD options.

END OF PART 1


----------



## silentbogo (Jul 19, 2020)

*PART 2:  TRICKS, TWEAKS, BANDAIDS AND WORKAROUNDS*

I've got all the parts, but as you've probably noticed from the previous part that they don't quite fit together.
But where's fun in "easy". Let's fix that thing the hard way.

There is some info on HP Zx20 board layout and pinouts, but it's not complete and not always accurate, so I'll try to break down as much as I can.



*MAIN POWER*
First off, we need power. The hardest thing to hook up is an 18-pin main power connector, but fortunately there are some cheap adapters on the internet.
Approximate pinout looks like this:




Important things to note:
* +5V is an output from motherboard. Do not connect anything to these pins
* Skip PSU_ID and RSR_MEM_FAN_PWM. It will work without it just fine.
* Note that it uses +11VSB (marked +11V_AUX_PSU) unlike standard ATX/EPS that uses +5VSB. If you don't want to buy an adapter (or you want to rewire your existing PSU to avoid these ugly adapters), you can simply use one of those cheap adjustable boost converters from the nearest arduino shop and stick it in-line with +5VSB, adjust to output approx 11V and profit. I'm not sure what are the current/power requirements for +11VSB, but anything over 2A should be fine.
* Essentially all you need is connect +12V, -12V, GND and PS_ON, mod the standby rail to output +11V and you are good to go.

... and once again, if you have no idea what's going on, or it's too much work, then just buy a pre-made adapter for $5. I got lucky and got one for free with my board, but in the future I want to mod my seasonic to be fully compatible with Z620 with no janky adapters.

*CPU/MEMORY POWER*
Next is CPU/MEM PWR connector. It is pin-compatible with standard 8-pin or 4+4pin EPS connector, but there is a difference in where this power is going. One half (leftmost 4-pins) supplies power to the CPU, while the other half powers your beefy quad-channel memory. This means you can safely plug-in your standard CPU power connector from the PSU, but you must note that it's absolute maximum rating for +12V CPU rail on 4-pin connector is 192W (realistically 150W). It's still within limits even for the most power-hungry E5-2687W, but any type of overclocking is definitely out of the question.

*CPU FAN*
Next on our agenda is hooking up that pretty chinese CPU HSF.
There are some discrepancies on the internet about the accurate pinout of the 5-pin CPU fan connector, but one thing is for sure: it's basically a standard 4-pin PWM fan connector plus one more pin for detecting the second fan. In some sources Pin1 is marked simply as FAN DETECT, but in others it's labeled as  a tachometer for the second fan. In either case, all you need is have a tach signal from the first fan, and short Pin1 to ground(Pin5) to avoid startup errors.



I've simply used one of my spare fan splitters, and modded the input:

 
If you are using 3-pin voltage-controlled fans, then I guess you'll have to short pins 1&5 , and pin 2(PWM) to pin 3(TACH), and connect your fan to an external controller. Otherwise your only option is to run it at max RPM all the time.

That's already good enough to make this system run, but you will get a ton of startup errors, which won't go away until you hit F1.





I'm a self-proclaimed perfectionist (_...no I'm not... _), so let's keep going until there's no errors left for us to defeat.

*FRONT FAN*
Front fan is a simple PWM connector. If you aren't planning to use it, simply short pins 1 and 2 (PWM and TACH), and that solves the front fan startup error.

*REAR FANS*
Rear fan is a bit different. Apparently Z620 has two rear fans, so it uses a 6-pin connector. Extra pins are PWM and TACH of the second fan (+12V and GND are shared). 
Pinout is as follows:
1- PWM2
2 - TACH2
3 - PWM1
4 - TACH1
5 - +12V
6 - GND

If you want to use only one exhaust fan, or no fans at all, then simply short corresponding PWM&TACH pins to each other. This solves the rear fan error.

*MEMORY FANS*

Now, that's a real doozy... There's absolutely zero info on this connector, and no pinouts of the memory fan unit itself. The only clue is a fan connector from its smaller brother HP Z420, which has a regular 4-pin in it, and an unpopulated 6-pin (opposite of what we have in Z620).
So, a quick check with multimeter shows that pins 1 and 2 are power (which we don't need), and pins 3&5 are tied to PWM/TACH of the small unpopulated fan connector, which begs the assumption that it's wired similarly to a 6-pin rear fan connector and the remaining 2 pins (4 and 6) are PWM2 and TACH2, or TACH2 and sense pin. 




I went with the first assumption and simply made two jumpers between pins 3&5 and 4&6. For this I happened to have a perfect connector, which I ordered by mistake a few years ago (I actually wanted 6-pin 4.2mm micro-fit connectors for GPUs, but mistakenly got 3.0mm pitch variant). All I needed to do is clip-off the latch and crimp two jumpers.

Unfortunately, much later I found out that this method only works if you have the fan mode set to low in BIOS, which means that the second assumption was correct. If I have time later on this week, I will double-check it with an oscilloscope. Most likely either PWM2 or TACH2 is actually a fan presence pin (needs to be short to ground). I'll update this post once I know for sure. For now you can use this method as a highly-questionable ghetto-workaround.

Next, we move on to peripheral connectors and front panel stuff.

_TO BE CONTINUED..._


----------



## phill (Jul 20, 2020)

Looking forward to seeing the outcome, Subbed!!


----------



## silentbogo (Oct 14, 2020)

Ok, so after a long-long break I've finally managed to get some motivation to complete this writeup.
Just an FYI, I've been using this machine daily in my office and a couple of days ago I've decided to move it to my house to use as a second server for work-related stuff.
All I'm trying to do now is remember exactly what I did and put it in chronological order, cause honestly this process was a bit messy and chaotic, interrupted by hours of google-fu and digging through random pics, articles and documentation (there isn't really much out there in terms of complete guides, except some random bits and pieces some of which are wrong or only partially work).

So, shall we resume?...  

*FRONT PANEL*
In the previous part I wen through all the power stuff, and even teased a screenshot of all errors, but I haven't showed you how to actually start this thing. Let's fix that by connecting our front panel ))))
The pinout is as follows:



So far it's quite intuitive, but there are few nuances.
Let's start with easy stuff:
1) Power button is connected to pins 7&8.
2) HDD LED uses pins 1&3
3) Power LED in an actual HP workstation is a two-color LED, where the second color is used to indicate error codes. This is very handy, especially if you are trying to troubleshoot it later, so I suggest you spend a few pennies on a bidirectional two-color LED : the ones with 2 pins(not 3), that changes color when you reverse polarity.
4) Thermal sensor on pins 11 and 12. This is a must, otherwise you'll get more startup errors. I got lucky and mine came with it. If not, you can use a cheap NPN transistor instead, just like on some old Macs. Originally it came with a 2N3904, but you can use other common transistors as hobbyist-favorite BC547 or 2N2222. Just connect together collector and base, attach two wires with 2.54mm dupont pins on the other end, and you are good to go. These literally cost pennies.



5) Pins 13&14 are used for Case Intrusion. You can skip it if you aren't planning on using it.
6) Remaining pins 15 and 16 are for the buzzer. If LED fault indicators aren't enough, and you want to "bring some noise" to your boring workplace, just swap the 4-pin housing with a 2-pin housing on one of your spare buzzers from a random dusty motherboard box 

That's enough to get you started, but we still have to resolve some I/O errors before we consider it "done". No one likes those pesky F1 startup errors.

*USB 2.0*





This is an easy part. If you look at your typical USB header, you'll notice that it has 9 pins: 8 for a pair of USB ports, and #9 that seems to be never used or marked NC, but it's there and it has its purpose.
Under normal circumstances it's used as a shield ground, but in case of HP it's used as USB device detection mechanism. In order to avoid "USB not connected" errors, you need to short pin 9 to ground(pin 7 or 8). If you aren't using USB2.0 headers for anything(FP or Card reader), then the easiest way is to use a regular jumper. If you want to connect front panel ports or use a USB2.0 card reader or any other gadget, then it's best to get some 2.54mm dupont connectors and make a jumper just like we did with CPU fans.

*USB 3.0*

This one is a bit tricky, since it uses 2mm header. The easiest way around USB3 errors is to disable USB3 controller in BIOS, which also disables rear USB, and stick an add-in card. But that's stupid, so we'll do it the hard way.



USB 3.0 header also uses ID pin, which in this case is actually part of the spec, but once again not a single device I've ever seen uses it (e.g. case front I/O, fancy USB3 card readers etc.).
If you aren't planning on using this header, you can buy a 2mm 4-pin female dupont header with some pins and make a jumper from pin 10 to pin 7, or you can do it the "fast and dirty way" like I did...

Just poke it with hot soldering iron a few times, until it gets scared and error runs away on its own...  screaming...  

*IEEE1394*
This one is easy - just disable that stupid firewire controller in BIOS. Who uses it anyways?

Now, that all of our errors are mostly (kind of) taken care off, it's time to boot it and test it.

The only thing you need to remember in regards to BIOS settings:
1) Disable IEEE1394
2) Set fan mode to the lowest setting in order to avoid fan errors, since I haven't hacked together a "proper" solution for memory fans yet.

At this point you won't get any errors from cold boot, and may only see occasional "Memory Fan not connected" during warm reboots.

FINAL ASSEMBLY AND TIDING UP THE MESS

Lastly, I wanted to share some pics of getting it all together. It's the easiest and most boring part of this project, but some may find it interesting.
Let's start with taking it all apart and cleaning up some dust bunnies. 
   

A standard 6-pin lenovo front panel connector magically transformed into normal 2-pin set. LED is already replaced with a 2-color one, and a switch got a nice warm ultrasonic IPA bath.
 

New fan splitter with FAN_DETECT jumper



Getting ready for a first test run. Notice, that Lenovo was thoughtful enough to include a nice clip to hold 24-pin power cable.



That ugly 900W PSU caused so much pain.... It was too large for the side-panel to latch in place, and it also died in the process due to old age. It is now replaced with a much smaller, prettier, and more reliable Seasonic S12G from my old Skylake rig.
Wiring is still a mess, but I'll get it fixed eventually.   


... And the final looks with some hotswap bays installed.


Current config is as follows:
- HP Z620 v1 motherboard
- Xeon E5-2660
- 16GB DDR3R ECC(4x4GB in quad-channel)
- 512GB NVME SSD (more on that later)
- MSI GT1030 low-profile w/ passive cooling
- AOC-STGN-I2S dual 10-Gbit/s SFP+ NIC (Intel 82599, equivalent of X520-DA2)
- 2x4TB HDD in RAID-1
- Lenovo S20 case with upcoming pair of 80mm PWM fans.
- Seasonic S12G 450W PSU

Next up - modding BIOS and "future-proofing"?..

_... TO BE CONTINUED..._


----------



## Sunray477 (Aug 4, 2022)

First off, thank you so much! I have been looking for a build for a Z620 motherboard for so long now. This build gave me the confidence to buy the parts and do it myself! I'm in the process of making the connectors right now, and I was wondering if you ever figured out the optimal pin connections for the memory fan? Sorry to comment on an old thread, but this appears to be the only build guide out there for this motherboard.


----------



## silentbogo (Aug 5, 2022)

No, that's one thing I haven't been able to solve. Jumpers only work on cold boot. Maybe they use something else to determine if you have the right fans present, cause I even tried to attach 2x80mm PWM fans and still got an error....


----------



## Sunray477 (Aug 5, 2022)

That's weird, I suppose one startup error isn't too bad though. One thing my friend and I thought of is that the PWM 2 could be a sense pin like you said, and the one PWM would go to both TACH pins, since in theory they would want to be getting the same signal and wouldn't need a second PWM signal. We haven't had time to test it yet. Have you tried this?


----------



## silentbogo (Aug 5, 2022)

No, I've tried both variants - neither works. 
I guess it's the same thing as with other fans - probably SuperIO checks fan RPM to detect fault before it becomes critical, so if you have non-standard fans, it's also considered a "fault".
I've seen quite a few listings for "fan emulators" for ASICs - basically a small module that sends TACH signals relatively to PWM signal from the control board: probably using a lookup table to "pretend" to be a functioning ear-bleeding fan. Those are commonly used in immersion systems. As far as I can tell it's just an Attiny13 with a tiny mosfet and few passive components. Couldn't find a firmware, but given my past experience with AVR it's not that hard to write something like this. I just don't have any stock fans to record data, nor do I have any spare time. Maybe if things settle down by fall - I'll try to run a few experiments.


----------



## Sunray477 (Aug 5, 2022)

I can't blame you for not having any time, and I hope things settle down soon over there. I'll continue to look into it and post anything I find here.


----------



## silentbogo (Oct 16, 2022)

Gotta put it here for historical context


----------



## Tibo_P (Thursday at 9:36 AM)

Hello there !! I have to thank you too for giving all these hints to get my z440 to work properly ! Just finished the soldering yesterday night on the back of my board ... And all errors gone !

Concerning the Ram cooler I found this workaround on a Russian video ( get rid off errors codes on z440), and soldered a cable between the pins at the back of the board too.

I'm really looking forward to get the turbo unlock to work. Anyone here has got it working yet ?

Regards T


----------



## silentbogo (Thursday at 11:38 AM)

Good job, @Tibo_P !
I haven't had a chance to play with turbo unlock, but I've heard there were a couple of methods that work.
Here's one (in Ukrainian, no captions, but you'll get the idea). That's similar to firmware mod for those shitty Huanan boards.


Spoiler














In regards to memory fan - I suspect his method also suffers from the same issue. Works fine from cold start, but may give you errors at reboot. I did something similar on my Z620 way back, only used a pair of dedicated PWM fans instead of a jumper to CPU fan. 
Have you had a chance to test it out? Try booting the PC, giving it a spin for a few minutes with some load, and reboot.


----------



## Tibo_P (Thursday at 6:31 PM)

Hey ! 
I'm trying to understand and follow this video were the guy seems to to the turbo boost tweek only on software / bios level ..., the other way is to reflashing the bios chip, but i'm not sure if I 'm able to do that and not fry my machine










but google auto translate isn't good enough so I get all whats said.

I soldered the pins you showed and the one from fan ram fan on the back of the board, I'll try to make a picture next time I take the MB out of the case. I didn't have any problem with the error message for ram and the PC works fine with these shunts. I suspect as I only have 2x 4Gb of RAM it isn't an issue yet. I ordered some more, but wanted to have the mods done.
I will write back to tell if it did work or not.


----------

