# Volvo electro hydraulic power steering



## zwmaster (Nov 23, 2009)

I hope you will get it to run w/o CAN communication connected and required messages send to the pump.
Did you try to hook-up the 12V to 2 pole power connector and 12v to the "ignition" line on the can connector? 
Look @ page 14 of the PDF you attached.

keep us posted


----------



## drywaller (May 10, 2010)

Thank you for the reply. I did try that but with no success. I only tried to applie 12vdc + only. as I do not know which lead to contact. I did not want to damage anything. 
Does anyone have any advice on this?
Please help!


----------



## zwmaster (Nov 23, 2009)

Please provide some more information about the pump.
What's on the labels?
How many pins have the CAN connector etc?
One pin should be ground ... possibly connected to chassis/casing of the pump and ground pin of the power connector you already connected.
If you remember the original cabling form the V50 the CAN_H and CAN_L lines should be interweaved (differential pair).
So the pin left should be ignition.

br,zw


----------



## drywaller (May 10, 2010)

zwmaster said:


> Please provide some more information about the pump.
> What's on the labels?
> How many pins have the CAN connector etc?
> One pin should be ground ... possibly connected to chassis/casing of the pump and ground pin of the power connector you already connected.
> ...


zwmaster, thank you for the reply. Can you please define the acronyms for me This may help me better understand the wiring application.
There are no markings on the pump. When I got the pump it did not come with the harness plugs or pigtails.
Any thoughts?


----------



## Thaniel (May 25, 2008)

Looking at the instructions

Page 15:
The pump starts if the following conditions are met:

15+ is High (Ignition on)
30+ supply is between 10.5 and 16.5 V
The car engine has started.

Per page 14:

If both signals are missing the pump motor will start when the ignition is switched on.

So looks like it'll run with out the can bus (probably just at one speed) Need to get a copy of the pin outs for the connectors and give it a try.

Thaniel


----------



## Thaniel (May 25, 2008)

Found the attached page (from http://www.matthewsvolvosite.com/volvo-wiring-diagrams/) but yet to find the right connector

Edit: Check out this thread
http://www.volvo-forums.com/t30971-testing-electric-power-steering-pump.htm

Must be you  Just get a guy to snap a pic of their pump with the connectors attached and label the colors of the wires. The page I attached shows what color.


----------



## drywaller (May 10, 2010)

Thaniel said:


> Found the attached page (from http://www.matthewsvolvosite.com/volvo-wiring-diagrams/) but yet to find the right connector
> 
> Edit: Check out this thread
> http://www.volvo-forums.com/t30971-testing-electric-power-steering-pump.htm
> ...


Thaniel, wow! you have provided more info in just a couple of replies than I have been able to find in nearly a week of searching on the web. 
I will get the wire pig tails and post the colors soon. 
Thank you again, Marco.


----------



## Duncan (Dec 8, 2008)

Hi Drywaller
Do you NEED power steering?

Cars even quite heavy cars used to have non-power steering, my old Lancia Beta was a heavy old tank but the only time you noticed was when parking

Mind you you did notice when you got into something light like a Ford Escort

When you were driving it was great


----------



## drywaller (May 10, 2010)

OK, I got the wire colors on the smaller three pin plug. They are as follows.

Left to Right:

Grey with Red stripe

Blue with red stripe

Grey with Blue stripe

Does this help?
Thanks, marco.

Just wanted to be clear that when I say left to right one would be looking at the pump from the side with the two mounting holes or tabs on it. (notice there are only three mounting tabs on the pump.


----------



## zwmaster (Nov 23, 2009)

I sugest you go by trial and error.
Connect the power +- and the try to connect one at time. When you connect the ignition the pump should run (i hope).
CAN lines are up to 18V tolerant so you can't damage anything if you conect +12V to one of CAN lines.

fingers crossed


----------



## drywaller (May 10, 2010)

zwmaster said:


> I sugest you go by trial and error.
> Connect the power +- and the try to connect one at time. When you connect the ignition the pump should run (i hope).
> CAN lines are up to 18V tolerant so you can't damage anything if you conect +12V to one of CAN lines.
> 
> fingers crossed


I thought that I read the input signals were 5 volts. Did providing the the wire colors help any?


----------



## zwmaster (Nov 23, 2009)

Connect "Grey with Blue stripe" and "+" on power connector to +12V .


----------



## drywaller (May 10, 2010)

zwmaster said:


> Connect "Grey with Blue stripe" and "+" on power connector to +12V .


okay, I tried the above with no success. Do you have any other thoughts?
I read on the net that the steering wheel sensor is converted to a digital signal. 
I re-read page 15 and understand it just like you said. It should have started. 
I hope we can figur this out.
Marco


----------



## Thaniel (May 25, 2008)

drywaller said:


> OK, I got the wire colors on the smaller three pin plug. They are as follows.
> 
> Left to Right:
> 
> ...


The BLue Red (BU-RD) and Gray Red (GY-RD) are the can bus connections (see attached). You will need ot put power to the Grey Blue as previously described AND the Red wire. Then ground the Black. (The red and black wire are from the other connector on the pump). 

If that doesn't work then the manuals are miss leading and it's a bad deal and beyond my knowlege of how to fix. My only other option would be to open the thing up and wire directly to the P/S pump motor. Probably not the best option.

Thaniel


----------



## drywaller (May 10, 2010)

Thaniel said:


> The BLue Red (BU-RD) and Gray Red (GY-RD) are the can bus connections (see attached). You will need ot put power to the Grey Blue as previously described AND the Red wire. Then ground the Black. (The red and black wire are from the other connector on the pump).
> 
> If that doesn't work then the manuals are miss leading and it's a bad deal and beyond my knowlege of how to fix. My only other option would be to open the thing up and wire directly to the P/S pump motor. Probably not the best option.
> 
> Thaniel


Thaniel, I will try the above in a few minutes and post the results. I have a second pump that I did take apart to see what the internals are. 
I dont see how to power the motor directly while by-passing the electronics. The motor is a 4 pole brushless so there needs to be some sort of controller powering this via PWM right?


----------



## drywaller (May 10, 2010)

WOOO HOOO! It worked. I tried this very same thing last night but it did not work then. What I discovered is that it takes about Two seconds for the pump to power up. 
I am going to rig up some fittings so I can recirculate the fluid and give it an extended run.
I want to do that just to make sure that the pump will run continuously without the CAN lines connected. 
Thanks ZWmaster and Thaniel for the help. I was about ready to spring for a different pump. 
Thanks again, Marco.


----------



## Thaniel (May 25, 2008)

Great news. Keep us posted on how it works out.


----------



## drywaller (May 10, 2010)

So, I did a somewhat extended run to see if the pump would run without the CAN lines conected. 
I ran it for about Eight minutes straight with not so much as a glitch.
I noticed that the pump would run up to speed then drop RPM slightly about two or three times. The drop was barley noticable. The only reason I noticed is that there is a slight tone that comes from the controller. I could hear the tone change pitch slightly. 
Aside from that it runs perfect. I was also surprised at how quiet this pump is. I was however under no load. I am sure that it is louder once under load.
Anyway, thank you guys again for the help in helping me figure this thing out. When my project is done I will post pictures.
Thanks again, Marco.


----------



## tatuie (Aug 17, 2010)

Hello,
How's the V50 pump working out? I want to do this too, but I'm worried that the pump won't provide full performance without appropriate CAN commands.

Can you tell us what kind of hydraulic fittings it requires?
Are the electrical connectors available anywhere?

Thanks,
Erich


----------



## drywaller (May 10, 2010)

tatuie said:


> Hello,
> How's the V50 pump working out? I want to do this too, but I'm worried that the pump won't provide full performance without appropriate CAN commands.
> 
> Can you tell us what kind of hydraulic fittings it requires?
> ...


Erich, the pump works great. The pump runs consistant without the CAN signal. I decided to go a different route with my project so this thing still sits on my workbench.
I did however buy a steering valve and had some hydraulic lines made up so I could see just how well this pump would work in another application. (off road rack crawler)
This thing is awesome. The cylinder that I used is only 1.5" in diameter with about an 8" stroke. I put this under the front of my Chevrolet 2500HD with the diesel engine (its heavy) and the pump/cylinder almost lifted the fron wheels off the ground. I dont know how much the fron of my truck weighs but my 2.5 ton Snap On floor lift jack struggles to lift it. 
Anyway, I posted a video on youtube showing the ins and outs of this thing running.
I am open to offers on this set up as I dont really have a use for it in the near future. 
I you are interested in the steering valve it is a Sauer Danfoss Open center load reactive with the 5th auxillary port.
Anyways, Id take $300 for everything. 
Heres the link to youtube...

http://www.youtube.com/watch?v=ygylYK-h0b8


----------



## drywaller (May 10, 2010)

Erich, forgot to answer a couple of your questions. The fitting coming out of the pump is a metric M16x1.5 o-ring sealed fitting.
As for the plugs...I was lucky enough to get the plugs with my pump. Prior to that I search high and low and the only ones I found were attached to a host car. (aka junk yard) The only way I could get the wrecking yards that I called to sell the plugs was to buy the whole wire harness that was connected to the plugs in question.


----------



## TomA (Mar 26, 2009)

This is very slick, Marco, nice job.

Do you know how much current this unit is drawing?

TomA


----------



## drywaller (May 10, 2010)

TomA said:


> This is very slick, Marco, nice job.
> 
> Do you know how much current this unit is drawing?
> 
> TomA


 Thanks Tom! 
I have never checked the amps. When I get home from work I will check. I have a new Fluke clamp meter that I have not even used yet. This will be perfect. Ill post later


----------



## drywaller (May 10, 2010)

TomA said:


> This is very slick, Marco, nice job.
> 
> Do you know how much current this unit is drawing?
> 
> TomA


Ok, had a chance to check the amps. The highest reading I managed was 69 amps.
Hope this helps.


----------



## TomA (Mar 26, 2009)

Wow, at 13.2 Volts that's about 900W!

It would be well worth figuring out the CAN signaling on an intact V50 to get control over the pump motor. Then you could spool it down to the actual pressure level needed, and also cut the pump back as vehicle speed increases the way the V50 almost certainly does.

As it is, full on at 69 Amps seems like a huge draw, and at that power level, one has to wonder how long this unit would last. Does anyone know how this compares to a Toyota MR2 PS pump?

Great information Marco, thanks. Anything to add that you have observed about th way this thing uses energy, like does it always draw that much current, does it get hot or complain?

Thanks for the effort!

TomA


----------



## etischer (Jun 16, 2008)

I think the 69 Amps he is talking about is the max while the wheel is turning. Im sure the no load current is much less. 



TomA said:


> Wow, at 13.2 Volts that's about 900W!
> 
> It would be well worth figuring out the CAN signaling on an intact V50 to get control over the pump motor. Then you could spool it down to the actual pressure level needed, and also cut the pump back as vehicle speed increases the way the V50 almost certainly does.
> 
> ...


----------



## drywaller (May 10, 2010)

Sorry guys, I should have stated this. Yes, the 69 amps is at full load...when the cylinder is maxed in one direction or the other. 
At startup the pump draws less than 3 amps. The pump does not start full speed. It ramps up to what I think is max rpm then slows some. 
It is very difficult to get an amp reading when turning the valve as the reading bounces around a bit. 
If you guys need an exact reading I can try again to see if I can be more accurate.


----------



## _Basser_ (Sep 3, 2009)

These posts were very encouraging, so I got one of these pumps from a wrecker. It took sometime to find a shop with the right metric fittings for my miata PS rack, but tonight I was finally ready to try it. The GB pin and the mains were hooked up, but nothing. Then about 20 seconds later smoke started coming out from under the plastic cover   Now the unit draws 14amps continuously. Now that the smoke has been let out I guess that is it for that unit..........


----------



## _Basser_ (Sep 3, 2009)

Finally spent a bit of time taking apart the volvo pump and discovered that the wrecker sold me a pump that was full of water. The motor had rusted to the point that it would not turn at all. That is why the electronics heated up and the smoke was released. I wonder if I can convince the wrecker to send me a replacement unit?


----------



## flightrail john (Feb 10, 2011)

Drywaller: I am attempting to follow in your footsteps. We have a little crane with a 4cyl diesel engine which I replaced. The new engine does not have provision for the ps pump. The crane has a fully hydrostatic steering system which sounds very similar to the setup you used to lift your truck off the ground. It has a 3" cylinder using 8" of stroke lock-to-lock, so more capacity. There are some TRW electric pumps available new on e-bay. They are rated up to 3gpm and 1000w. I think one of these would have adequate capacity for our crane, but I have been hesitant to buy one because of the CAN control issue. Your success has encouraged me. Is the Volvo pump made by TRW? What kind of cycle time did you have with your 1.5" cylinder? thanks


----------



## drywaller (May 10, 2010)

Sorry for the delayed response. I never timed the cycle time with my setup. With the 1.5" cylinder it was fairly quick from lock to lock.
I am not sure who makes the pump. The only markings that I can remember were the ford motor company moniker. (Fomoco)
I helped a guy with his side by side. He needed a hydro steering setup to accommodate a physical limitation. He contacted me via YouTube. His name is Dave balsasera.
He a great guy. He has the technical knowledge when it comes to designing systems.
As far as the can systems. From what I understand most if not all the can pumps will run with a direct 12volts. The trick is finding the switching or trigger wire. Just remember that there may be a delay when energizing this wire.
If you can't find Dave on my YouTube page let me know and I'll see if I can track him down.


----------



## puddleglum (Oct 22, 2008)

drywaller,
Does the Volvo pump have a built in relief valve or does it require an external one?


----------



## drywaller (May 10, 2010)

I was told that it has a built in bypass but could never confirm. When running my steering valve from lock to lock it would strain the pump somewhat but it never sounded like it was working too hard. The internal thermal breaker never tripped either.


----------



## flightrail john (Feb 10, 2011)

It is my understanding that the hydrostatic steering valves like danfoss or char-lynn bypass back to the pump or reservoir when there is no demand. I'm receiving a new TRW pump today and will be following in Drywaller's footsteps. I'll post my progress and results in this thread as they happen--if that's OK. I think too that the recirculating ball steering gears also bypass when there is no demand as there always seems to be flow through the pump. Not sure about power-assisted rack & pinion systems.


----------



## drywaller (May 10, 2010)

John. When ordering a steering valve be sure to know the difference between reactive and non reactive.
Basicly the non reactive will not respond to bumps in the road and will not return to center unless you manually turn the valve. Reactive is more like an automobile system. When exiting a turn the steering wheel will return to center or very close to it.
Please note that the valve I used in the video had a fifth port. It is referred to as power beyond port. When there is no input to the valve the fluid free flows through the power beyond port back to the resivoir.


----------



## Leafy (Jan 21, 2014)

I have another related question to these pumps. I just bought one but I'm having a hard time figuring out what connectors it runs. I'm used to Japanese cars where its either Sumitomo or Yakazi for 90% of the connectors. Anyone figure out what they are already? I would prefer to not hack some crap together.

To update myself. I found that volvo sells all their harness connectors. The two needed for this pump are 30728420 and 30658215. However those are just the housings with no terminals or isolators I'm struggling through volvo parts diagrams to figure out what terminals fit these connectors.


----------



## drywaller (May 10, 2010)

Leafy, thanks for posting this info. If you find the rest of the info regarding the plugs please share. I know first hand that it is difficult at best when it comes to locating plugs.


----------



## Leafy (Jan 21, 2014)

So getting those housings for the plugs are super simple. Any volvo dealer can order them, they cost like $2 and change. I took my best guess at what terminals and junk I needed to make it work and ordered it. We'll see what I end up getting and what I'm missing. I couldnt find the terminal isolator/strain reliefs and seals for the housing connection. At the very worst, you can buy the entire high amerage harness which has a few feet or heavy gauge wire, wire hold downs and ring terminals with the entire connector on the pump end for like $35. With the 420 part number it'll be easy to find that harness from the where used on a volvo parts site.


----------



## Leafy (Jan 21, 2014)

Couple things to add I cant figure out the terminals to order for it. I just gave up and ordered the harness for $35 and I'm just sticking a blade connector on the 1 low power terminal to turn it on. The harness part number is 30775461.

But now the car seems to be possessed by Satan. You touch the wheel and to whips a few turns and then shakes or it'll just shake if you nudge it. I've never seen this before, its not like air in the lines where it only shakes a tiny bit and/or you can stop it. Anyone found something that about the pressure? Thats about all I can think of now. Well besides there being an issue from the pump being in the trunk and there being 12 feet of hose both ways, maybe too much resistance on the return line or something.


----------



## Casper10 (Mar 8, 2014)

Sounds like the hoses are crossed or the pump is running backwards if it's possible,had something similar happen to me,started up a fork truck and the steering wheel spun around and the hand knob wacked my wrist, yeouch!! , someone had reversed the hoses (but no-one had touched it). It may just have a gutfull of air, make sure the hoses run as flat as possible with no major droops between tie downs, is the pump higher than the box, if not the air won't bleed thru to the resevoir easily or quickly.


----------



## Leafy (Jan 21, 2014)

Casper10 said:


> Sounds like the hoses are crossed or the pump is running backwards if it's possible,had something similar happen to me,started up a fork truck and the steering wheel spun around and the hand knob wacked my wrist, yeouch!! , someone had reversed the hoses (but no-one had touched it). It may just have a gutfull of air, make sure the hoses run as flat as possible with no major droops between tie downs, is the pump higher than the box, if not the air won't bleed thru to the resevoir easily or quickly.


I wouldnt think it was air since the thing would fight me as it tires to spin. Unless the air is stuck in the steering valve on the rack. No way the lines could be cross, on the rack one is a banjo fitting that was crimped to a hose that I switched to an AN fitting, and the low pressure side of the rack is a hardline with a bubble flare on the end for a hose to slip over and clamp. And on on the pump side one's threaded the other is a barb molded into the reservoir. Its just like the valve in the rack isnt working right, maybe the volvo pump outputs too much pressure for the miata rack.


----------



## Casper10 (Mar 8, 2014)

Wouldn't think the pump pressure is the problem but would be an idea to check the specs on both vehicles as long as there within 100psi of each other it wouldn't matter. Is it a new or used EHPS unit, the relief valve may be stuck or have some forigne material jamming it. It's more likely that a gremlin got into the steering valve in the change over and is jamming the directional control valve,doesn't have to be much a sliver of rubber,metal or plastic or a build up of muck thats been dislodged sometimes I've pulled them apart and cleaned them out not finding anything but they work perfectly when reinstalled. Anyway with anything hydraulic allways start with the pressures first. Best Regards Casper10
PS: Have you checked that the pump is spinning the right way? I know it sounds stupid but stranger things have happened,make sure that the pressure is at the correct fitting. 
Make sure that none of the hoses or pipes are lower than the rack so that the air can bleed up from the valve to the pump,there is a reason that they usually mount the pumps high in the engine bay


----------



## Leafy (Jan 21, 2014)

I did find that the max pump pressure for this pump is 120bar.

But I'm down to two options now. I did rotate the return hardline on the rack down so it could be trapping air. And the wrecking yard that sold me the rack must have been a sand bowl because I had to spend hours cleaning the sand out if the connections on it and the abs pump I got from them.


----------



## Casper10 (Mar 8, 2014)

Leafy said:


> I did find that the max pump pressure for this pump is 120bar.
> 
> But I'm down to two options now. I did rotate the return hardline on the rack down so it could be trapping air. And the wrecking yard that sold me the rack must have been a sand bowl because I had to spend hours cleaning the sand out if the connections on it and the abs pump I got from them.


Sorry I haven't got back to you Leafy, doesn't sound to good if it had sand in and around it 1 bloody grain would be enough to jam a valve etc. Hows it going have you got it working,let me know if you found anything. Casper10


----------



## Leafy (Jan 21, 2014)

I figured out my issue, nothing relating to the pump at all. There's two external hardlines on the rack that go from the rack to itself that I removed to rotate my low pressure line, they look like they can only go on one way, but they can go on both ways and I had them switched. Woops, works perfectly now, just way overassisted compared to the stock pump, which is fine for me, the stock pump didnt really supply enough assist for 275wide slicks anyways.


----------



## Casper10 (Mar 8, 2014)

Leafy said:


> I figured out my issue, nothing relating to the pump at all. There's two external hardlines on the rack that go from the rack to itself that I removed to rotate my low pressure line, they look like they can only go on one way, but they can go on both ways and I had them switched. Woops, works perfectly now, just way overassisted compared to the stock pump, which is fine for me, the stock pump didnt really supply enough assist for 275wide slicks anyways.


Thats great to hear Leafy, when I 1st read your prob I thought it was a reversed hose/pipe,seemed to be same symptom as the fork that near broke my wrist. Glad it all worked out & now we have another EHPS system we know can be used on EV's. Regards Casper10


----------



## Casper10 (Mar 8, 2014)

Casper10 said:


> Thats great to hear Leafy, when I 1st read your prob I thought it was a reversed hose/pipe,seemed to be same symptom as the fork that near broke my wrist. Glad it all worked out & now we have another EHPS system we know can be used on EV's. Regards Casper10


Just a thought Leafy,you could install an adjustable rheostat in the supply wire and adjust the voltage to get the assistance level desired?


----------



## Leafy (Jan 21, 2014)

Casper10 said:


> Just a thought Leafy,you could install an adjustable rheostat in the supply wire and adjust the voltage to get the assistance level desired?


I'd rather not. This is a brushless DC motor so varying the supply voltage is no good. You can fake it by varying the supply amperage but it would be better to just gain control of the controller. THis pump has online literature that makes it seem really easy to program if you are an OEM but doesnt go into detail as to how to do it. If we really wanted it it looks like you can in fact open the case up on this pump without destroying it and we could maybe run some other controller that doesnt require CANBUS magic in order to control, or some sort of hardware hack on the controller in it.


----------



## Casper10 (Mar 8, 2014)

Leafy said:


> I'd rather not. This is a brushless DC motor so varying the supply voltage is no good. You can fake it by varying the supply amperage but it would be better to just gain control of the controller. THis pump has online literature that makes it seem really easy to program if you are an OEM but doesnt go into detail as to how to do it. If we really wanted it it looks like you can in fact open the case up on this pump without destroying it and we could maybe run some other controller that doesnt require CANBUS magic in order to control, or some sort of hardware hack on the controller in it.


Thats sorta what I was getting at,bit over simplified though.I've just purchased a DC A/C Compressor for my motorhome to replace the 240v unit,after running the original thru an inverter it used nearly twice the power. It has a brushless dc motor in the compressor and if you run it on 12v it runs at half the speed and output (in btu's) of 24v, by the specs. Just thought the pump may have been the same. It could be set up with a bleed off in the pressure line operated by a stepper to get the same result. There must be a way we can drop the oil flow easily like they do with the speed sensors that cut the output at high speed. Its good to have another option now with the EHPS units, so now we have the Toyota M2R, Astra/Vauxhall TS, & the Volvo units to pick from when doing EV conversions. I'm glad you got it working thats another box checked off in the conversion! Regards Casper10


----------



## Old.DSMer (May 18, 2012)

*Additional Info*



Leafy said:


> If we really wanted it it looks like you can in fact open the case up on this pump without destroying it and we could maybe run some other controller that doesnt require CANBUS magic in order to control, or some sort of hardware hack on the controller in it.


This is the problem with late model EHPS units. I'm no expert, but my research has found they require a microcontroller to run. Typically this is integrated into the factory CAN and is reliant on other vehicle systems. I am currently trying to hack a TRW unit from a 2010 Hyundai Genesis. Currently waiting for my BLDC controller to arrive. I will start another thread so I don't pollute this one. I hope it works because there are limited (economical) options around here. And many of these EHPS units use BLDC motors, so a potential option for many different brands. I've identified most of the components on this particular unit. Of course, the motor FET driver is proprietary, so the existing hardware cannot be hacked - at least not by me (My original thought was to bypass the microcontroller).


----------



## Casper10 (Mar 8, 2014)

*Re: Additional Info*



Old.DSMer said:


> This is the problem with late model EHPS units. I'm no expert, but my research has found they require a microcontroller to run. Typically this is integrated into the factory CAN and is reliant on other vehicle systems. I am currently trying to hack a TRW unit from a 2010 Hyundai Genesis. Currently waiting for my BLDC controller to arrive. I will start another thread so I don't pollute this one. I hope it works because there are limited (economical) options around here. And many of these EHPS units use BLDC motors, so a potential option for many different brands. I've identified most of the components on this particular unit. Of course, the motor FET driver is proprietary, so the existing hardware cannot be hacked - at least not by me (My original thought was to bypass the microcontroller).


Hi Old.DSMer,Keep us posted on your results,we have been searching and evaluating EHPS systems on the thread Power Steering Solutions to find systems that will install simply onto an EV.
The ones that convert the best so far and have written & photo proof are Toyota M2R,Astra/vauxhall/Opel TS, The Earlier Mazda 3 systems also have evidence to show that they will work but apparently need an alternator to sense off,the same is partially true for the Astra/Vauxhall unit.The units to purchase are : M2R with attatched resevoir,Astra unit with flat bottom(no cooling fins) ,the later MK4 units will work and are wired the same but are more dependant on having an alternator - Wiring is Blue white wire to alternator charge light pole,Thin black wire feed from ign switch,thick red wire battery positive thru an 80amp self resetting circuit breaker, Thick black wire battery negative. Apart from the sensors I think the biggest problem is that the later units need the alternator connection to operate, All the evidence we have gathered seems to point to this. Find wiring for the M2R(astra as well just add the alternator connection) here:http://www.diyelectriccar.com/forums/picture.php?albumid=266&pictureid=1741


----------



## Old.DSMer (May 18, 2012)

Casper10, thanks for the link. I have also been monitoring that other thread.

My problem with the MR2 is cost. They are in high demand. Searching the web has revealed countless applications by the tuner crowd, racing groups, and even classic restorations. Not much on the Mazda one, as I think it also requires CAN.

TRW advertises self contained units on their website, but nobody has ever responded to my inquiries. I'm hoping to get the Hyundai unit working for a fraction of the cost of an MR2 unit and still have speed based functionality instead of just running full power. Time will tell.


----------



## Casper10 (Mar 8, 2014)

Old.DSMer said:


> Casper10, thanks for the link. I have also been monitoring that other thread.
> 
> My problem with the MR2 is cost. They are in high demand. Searching the web has revealed countless applications by the tuner crowd, racing groups, and even classic restorations. Not much on the Mazda one, as I think it also requires CAN.
> 
> TRW advertises self contained units on their website, but nobody has ever responded to my inquiries. I'm hoping to get the Hyundai unit working for a fraction of the cost of an MR2 unit and still have speed based functionality instead of just running full power. Time will tell.


Hi Old.DSMer,The M2r units arn't really that expensive usually $200 to $300, about half the price of some EV conversion/parts firms. The early previous to and including some 2007 models work stand alone and from what I have picked up from around the traps is that quite a lot of them will work if connected to an alternator,quite often not used on an EV but in light of my discoveries maybe they should be as the drag would be far out wayed by the usefullness. The early Astra unit can be obtained from $40 many people quoted this price. Both of these unit don't run at full power but start up run for a few secs and then drop back to an idle mode and pick up when sensing load, the M2R unit has a self contained procesor which can be linked to the alternator to shut it down when the motor stops and speed sensors etc, (but all of this was worked thru on the P/S Solutions page),how much would an ehps + the controller you spoke of cost relative to the cost of thr M2R unit + simplicity of installation.
Egads much too think about!! Best regards Casper10


----------



## Casper10 (Mar 8, 2014)

Old.DSMer said:


> Casper10, thanks for the link. I have also been monitoring that other thread.
> 
> My problem with the MR2 is cost. They are in high demand. Searching the web has revealed countless applications by the tuner crowd, racing groups, and even classic restorations. Not much on the Mazda one, as I think it also requires CAN.
> 
> TRW advertises self contained units on their website, but nobody has ever responded to my inquiries. I'm hoping to get the Hyundai unit working for a fraction of the cost of an MR2 unit and still have speed based functionality instead of just running full power. Time will tell.


I think you should start another thread soon as we are really polluting this one,we're not talking Volvo any more, I have seen the TRW units advertised over here in the colonies & hot rodder mates of my son use them but the price is prohibitive $500 plus.
Regards Casper


----------



## Old.DSMer (May 18, 2012)

Casper10 said:


> ...how much would an ehps + the controller you spoke of cost relative to the cost of thr M2R unit + simplicity of installation.
> Egads much too think about!! Best regards Casper10


I'm into it for under $150US. And my countless hours of research - but as we all here know - that has no "value" 

If (and thats a big IF) it works, then the control method could possibly be applied to any EHPS unit driven by a BLDC motor. I wouldn't say its as "simple" as the MR2.....but they only made so many of that style pump. Alternatives are needed. Or someone with out-of-this-world CAN hacking/emulation skills.

My Hyundai EHPS thread is here.


----------



## easy_e (Mar 28, 2014)

I'm new to this forum, but I joined because I too want to replace my mechanical steering pump with the EPS.



I found some additional information provided by the link below:


http://grassrootsmotorsports.com/forum/grm/volvo-parts-ordering-question/77876/page1/

My vehicle is can bus equipped and I would like to take advantage of the can bus control.

Does anyone know which protocol of can bus Volvo uses for the eps?

If the protocols are the same as my current vehicle will it automatically interpret the can bus hi and low signals?

The big issue is getting around the configuration ID.

"A configuration ID for the EPS is stored in both the CEM and the EPS.
These IDs are compared and must correspond for the system to function."

I know that there is a guy who got the can bus working by using an Arduino to fake out the configuration ID and I believe his vehicle (Miata) was not can bus equipped.

Something like the link below:

http://arduinodev.com/hardware/obd-kit/

Thanks!


----------



## HPEVS (Jun 6, 2012)

I can probably hack the CAN bus to the PS pump. I would need a car to plug into though to collect the CAN traffic. I just bought one of the Volvo pumps off eBay I'm going to use for the power steering in an electric boat conversion.

If there is anyone in the so cal area that has a Volvo with EPS, and wants to stop by long enough for me to grab the CAN info, I can probably have the CAN data figured out in a week or so.

Brian


----------



## Leafy (Jan 21, 2014)

I'll ask my volvo friends if there's anyone in your area with the correct year cars.


----------



## HPEVS (Jun 6, 2012)

That would be great. The pump I have is from a 2011 to 2013. Don't know much about these yet, but I will share all I find on the forum.


----------



## eldis (Sep 3, 2013)

To the original topic - when you power on your Volvo pump without CAN, does it run even without having any fluid in the reservoir? Or does not start at all?


----------



## Leafy (Jan 21, 2014)

eldis said:


> To the original topic - when you power on your Volvo pump without CAN, does it run even without having any fluid in the reservoir? Or does not start at all?


Yes, but I wouldnt do that, its probably not good for it.


----------



## eldis (Sep 3, 2013)

Leafy said:


> Yes, but I wouldnt do that, its probably not good for it.


Interesting, judging by the wiring, my VW Polo pump that I got yesterday is practically identical - three contact connector (2xCAN, +15), one power connector (+30, -31). But when I apply power to the main connector and connect +15 to 12V, nothing happens  
The main difference is that I also have a three pin connector for the power steering sensor. Maybe this one indeed require CAN, or contains fluid level switch (no compatible liquids around).

My wiring:


----------



## easy_e (Mar 28, 2014)

eldis said:


> Interesting, judging by the wiring, my VW Polo pump that I got yesterday is practically identical - three contact connector (2xCAN, +15), one power connector (+30, -31). But when I apply power to the main connector and connect +15 to 12V, nothing happens
> The main difference is that I also have a three pin connector for the power steering sensor. Maybe this one indeed require CAN, or contains fluid level switch (no compatible liquids around).
> 
> My wiring:


I found a full description of the polo pump, but unfortunately that pump will be stuck in "limp mode" (see page 13-16 in attached pdf) without the steering angle sensor and power steering sensor.

I found the function diagram on page 20 of the attached pdf was helpful for my understanding of the volvo eps.

See attached pdf.


----------



## eldis (Sep 3, 2013)

easy_e said:


> I found the function diagram on page 20 of the attached pdf was helpful for my understanding of the volvo eps.
> 
> See attached pdf.


Thank you, this is exactly what I was looking for  Quite frankly I prefer a pump that is more complicated to control, but allows you to have truly adaptive power steering - after all we invest a lot of time into our conversions, so why to settle down on always_full_power pumps.


----------



## Leafy (Jan 21, 2014)

More of an update on this pump. I cant get the fitting to seal on the pressure side. Volvo uses a strange flare fitting that has an oring on the flare. Not really paying attention I just used a normal power steering M16x1.5 oring sealed fitting that has an oring at the tip. Well these dont work. Neither does using a copper washer with these fittings. I'm kind of at a loss of what to do besides trying to use the bit of volvo hardline I have with the correct connection and trying to put an AN flare on it.


----------



## flightrail john (Feb 10, 2011)

Just bought a used Volvo electric pump, with PS hose set. I will be looking at adapting this to SAE fittings. I think the pump outlet could be machined if one is careful not to get chips into the pump and the orifice at the bottom of this bore is not changed (this might impact the load sensing ability of the pump, though I'm not sure of this) I have a new unflashed TRW pump that I made a pressure fitting adapter for. I would like either to get it programmed to run in a load sensing mode, or to sell it to someone who could get it to run for themself.


----------



## UnknownPrimate (Apr 17, 2014)

*EDIT* I just realized that this is my first post. ...um, hi! 



HPEVS said:


> I can probably hack the CAN bus to the PS pump.


Any luck on this? 

These are 100% definitely TRW pumps. I just haven't been able to figure out which model specifically yet. Most (if not all) of the EHPAS pumps are TRW, so this discussion should be relevant to all of them.

I'm running one of these pumps on my Wrangler (not EV), and am having some problems with the steering. It has hydroboost and power steering. The brakes work great, but if I turn the wheel too fast, like in a parking lot, it loses assist. The steering will stay difficult until I back off my pressure on the wheel and try again more slowly... 

The volume and pressure of the pump should be more than adequate for my application, so I'm wondering if maybe the pump doesn't ramp up to full power when running failsafe mode (without CAN)?

I initially had some flow issues related to some elbows that I had in the lines, but I resolved that by removing the elbows and having new lines made. I also found that the adapter fitting that I used was too short, and leaked with pressure spikes. I replaced it with a longer fitting, and it doesn't seem to leak anymore, but still has the steering issues.











The adapter that I originally used that leaked. Earls 991955












The longer adapter that I bought that seems to work. Edelbrock/Russell 648060 










I haven't seen the Volvo fitting, but a possibility if these didn't work would be to cut the section of hard line off of the Volvo hose, and use a hydraulic compression fitting. That's what my local NAPA does to make their power steering hoses.


----------



## Leafy (Jan 21, 2014)

Thank you for that fitting. I've been using the earls ones, tried both steel and aluminum.

I can confirm that this is a TRW pump. I have the pdf of the OEM documentation somewhere about the pump where they talk about how easy it is to program and what the default pressure is and such.


----------



## UnknownPrimate (Apr 17, 2014)

Leafy said:


> Thank you for that fitting. I've been using the earls ones, tried both steel and aluminum.
> 
> I can confirm that this is a TRW pump. I have the pdf of the OEM documentation somewhere about the pump where they talk about how easy it is to program and what the default pressure is and such.


You're welcome! I figure that even though I don't have an EV (yet), that we're all car nuts (or just plain nuts), and we can all only benefit from comparing notes 

I would very much like to see this manual! I also have a ROM flasher, so if the ROM in these were compatible with my programmer, all we'd need would be an example of one that's set the way we need it, and I could flash any of the other ones to the same program.


----------



## Leafy (Jan 21, 2014)

UnknownPrimate said:


> You're welcome! I figure that even though I don't have an EV (yet), that we're all car nuts (or just plain nuts), and we can all only benefit from comparing notes
> 
> I would very much like to see this manual! I also have a ROM flasher, so if the ROM in these were compatible with my programmer, all we'd need would be an example of one that's set the way we need it, and I could flash any of the other ones to the same program.


Dont worry I dont even have plans for an EV but this site was the best knowledge base for monkeying around with these things. My turbo is in the way of where the belt driven pump would go and the power steering makes turning the 10" wide slicks a whole bunch easier. I the TRW manual I have is almost like marketing literature so it doesnt get into nitty gritty. I bet with some snooping I can get the tech data from TRW if I can find their internal designation of the pump in that manual I have. Now to find it again.


----------



## UnknownPrimate (Apr 17, 2014)

Figuring out how to hack these would be a huge benefit for the whole custom car community.


----------



## Leafy (Jan 21, 2014)

Starts on page 8 of this. I think I have another TRW one but this one has a crap load of info about the pump in it. http://www.volvoclub.org.uk/tech/S40MY2005-SuspensionSteering.pdf


----------



## UnknownPrimate (Apr 17, 2014)

Volvo Manual said:


> *Input Signals*
> 
> *Steering Wheel Movement Speed*
> Signal from the steering wheel angle sensor in the
> ...


So, we already know the pump starts up with only the ignition high signal. 

To me this looks like to change the assist we need:
*Increase assist* - message for fast steering wheel movement from the steering wheel angle sensor
*Decrease assist* - high vehicle speed message from the BCM

While it's possible that the pump ramps up and down completely variably, it makes more sense to me that it probably uses a series of steps based on thresholds. I think this, because doing it this way would take much less computing power than mapping a completely dynamic variable control. Or it could just be wishful thinking on my part...

What do you think?


----------



## flightrail john (Feb 10, 2011)

I have electric vehicles, but am trying to use one of these pumps on a crane that I did an engine swap on. It has fully hydrostatic steering like drywaller's set-up (see u-tube link).

I'm having problems though. The first pump I bought I think came from Azure auction and will not run in default. I think it needs to be programmed. This week I bought a 2005 s40 pump and I can't get it to run either. I get a spark when I connect main terminals. I'm assuming this is from capacitors charging. However, when I connect the ignition wire nothing seems to happen. The first time I connected 12v to big wires, the pump jogged briefly. Less than 2 seconds. Any suggestions?

I agree, these pumps would be a boon to tinkerers. I am surprised TRW is not marketing them yet for liftgates, remote hydraulics, etc. I know they are looking at developing models for big trucks.


----------



## Leafy (Jan 21, 2014)

flightrail john said:


> I have electric vehicles, but am trying to use one of these pumps on a crane that I did an engine swap on. It has fully hydrostatic steering like drywaller's set-up (see u-tube link).
> 
> I'm having problems though. The first pump I bought I think came from Azure auction and will not run in default. I think it needs to be programmed. This week I bought a 2005 s40 pump and I can't get it to run either. I get a spark when I connect main terminals. I'm assuming this is from capacitors charging. However, when I connect the ignition wire nothing seems to happen. The first time I connected 12v to big wires, the pump jogged briefly. Less than 2 seconds. Any suggestions?
> 
> I agree, these pumps would be a boon to tinkerers. I am surprised TRW is not marketing them yet for liftgates, remote hydraulics, etc. I know they are looking at developing models for big trucks.


power and ground to the big connector and just 12v to the pin closest to the big connector on the small connector is what you're doing right?


----------



## flightrail john (Feb 10, 2011)

Leafy said:


> power and ground to the big connector and just 12v to the pin closest to the big connector on the small connector is what you're doing right?


Right. Pump looks good on outside. I'm going to try better connections than jumpers and will advise if it runs.

Thanks


----------



## UnknownPrimate (Apr 17, 2014)

Bumping this thread with a video I just ran across

http://youtu.be/tFH1XMlEj4Y


----------



## HPEVS (Jun 6, 2012)

All,

It's been a while since I looked at this thread, but here's what I know up to this point. Some have already posted this info, sorry if I repeat anything.

You can run the pump free standing by connecting the two main battery wires plus the small enable wire to 12 volts. The pump will run at full speed drawing only 5 amps without turning the vehicle. From there it will take what it needs to maintain motor RPM. These are a TRW pump, but each OEM may have their own CAN protocol to drive it. 

The later pumps have a flange for the hose which the local Pirtek guys don't have, they suggested I buy the original line set, those are $300.00. So i picked up an earlier pump from a 2005 Volvo, this has an easier fitting to obtain, but mine came with the fitting, so it was just a matter of connecting to it.

I have purchased an ECM from a 2005 Volvo and I'm going to try putting power to it and at least collect the CAN PID's, with any luck the pump will change speed or shut down when it sees the engine not running.

This pump for us is going in to an electric boat conversion, so load on teh pump will be different than a car would have and the boat rack goes in to bypass when you hit the end of travel.

More to come when I have it.

Brian


----------



## UnknownPrimate (Apr 17, 2014)

Thanks Brian!

The only thing I notice that may be slightly different than what you stated is that I don't think my pump is running at full power when powered without CAN. It's identical to the one in the video, but sounds more like that one does at half power or less. 

The EPS is on the high speed CAN, so either 250 or 500kbps depending on the year (I don't remember what year mine is from)

I'm working on an Ardiuno Uno with a CANBUS shield (still need to order the shield). I'm going to connect it up after I finish it and try sending different speed and RPM messages to see if I can affect the pump RPM. 

I also saw a reference somewhere that said the Volvo pump is connected using LIN, which goes against everything else I've read.

Mine is missing the 3 pin plug, which I want to remedy before hooking anything else to it. It appears that the plug (part# 30658215 for just the housing) was used on many other Volvos for various things from 1999 to present. One specific application is the boost sensor on T6 V60s, which they happen to have at my local Pick N Pull.


----------



## russatt (Aug 30, 2013)

UnknownPrimate said:


> Thanks Brian!
> 
> The only thing I notice that may be slightly different than what you stated is that I don't think my pump is running at full power when powered without CAN. It's identical to the one in the video, but sounds more like that one does at half power or less.
> 
> ...


Hi

I have Volvo PS Pump for my conversion. Please let me know if you have any success with the Arduino CANBUS. Have you tried driving with the pump in backup mode.


----------



## HPEVS (Jun 6, 2012)

UnknownPrimate said:


> Thanks Brian!
> 
> The only thing I notice that may be slightly different than what you stated is that I don't think my pump is running at full power when powered without CAN. It's identical to the one in the video, but sounds more like that one does at half power or less.
> 
> ...


 Do you happen to have the PID and byte structure for the Volvo?


----------



## UnknownPrimate (Apr 17, 2014)

HPEVS said:


> Do you happen to have the PID and byte structure for the Volvo?


Sorry, I missed your reply for some reason. I haven't had time to mess with it until now, so now I'm going over the CAN info trying to figure out my arse from my elbows... 

Here's a topic on the Volvo forum discussing the messages. From the discussion, it appears that post #12 is an example of the ECU broadcast.
http://forums.swedespeed.com/showthread.php?171294-CANBUS-messages-index-available



Volvo Forum said:


> RPM and speed is easy, in my 2004 V70R:
> 
> 0x12177FC 01 02 40 00 10 40 3A B8 //speed: B6 b0-b1 – B7 b0-b7, divide by 4, 174km/h
> 
> 0x2A07428 0B 0D C4 0E 0F FD 2F 17 //revs: B6 b0-b3 - B7 b0-b7, 3863 per minute


----------



## wrsexton (Nov 19, 2010)

Any update on the Arduino can solution? I'm putting a 5.0 Coyote engine (no provision for power steering pump) in a 2005 Mustang GT and I have one of these pumps to use.


----------



## russatt (Aug 30, 2013)

wrsexton said:


> Any update on the Arduino can solution? I'm putting a 5.0 Coyote engine (no provision for power steering pump) in a 2005 Mustang GT and I have one of these pumps to use.


Hi I have completed all of the hydraulic modifications of the pump to fit my donor vehicle. Alfa 156. I am running the pump in "backup mode" and the steering feels great. No canbus integration. It starts up at full power, and then slowly rev's down to what might be about 70-80% power. With no load on the steering it draws only 6 amps, and when I turn the steering wheel, with the car stationery, it draws about 20-25 amps. Only when the steering gets to full lock and you keep pressure on the steering wheel, you can hear the motor revs drop as there is probably no circulation of fluid does the pump draw 70-75amps of current.

So for now I am quite happy with its performance. I haven't driven faster than 40km/h so I don't know what the steering will feel like at highway speed. I am busy building battery boxes, so will do a faster road test soon. If the steering feels good I will leave it with no can bus. The Alfa's original pump ran off a pulley so would have had no electronic control over how fast the steering wheel is being turned, or the vehicle speed. You could be driving slow at high revs, or fast at low revs.


----------



## wrsexton (Nov 19, 2010)

Thank you. For clarification, I probably should mention my pump is from a 2005 Volvo S40. It's clearly marked FOMOCO on the side, and is the same pump used in Ford Focus and Escape hybrids. The TRW model is JER153 

Like your Alfa, my Mustang had an engine driven pump, with no variable input. Friends with newer Mustangs with the epas steering rack have a knob they can play with to vary feel, plus the system is speed related, so I feel a little jealous. 

I did find this article to be informative, but I'm not electrically savvy enough to try it (yet!). It might be useful to those considering the arduino, as this appears to be a simpler solution to actually having to program a device. This appears to simply have two potentiometers (pots) that you can set thresholds with, and you still have speed sensitive steering.

http://www.autospeed.com/cms/article.html?&A=111532

I also found this Arduino adapter information, for those who want to experiment with this (and then sell me one)

http://arduinodev.com/hardware/obd-kit/


----------



## ABB (Jan 29, 2016)

Has anyone had any luck using the CAN bus with this pump?
I would like to use one on a sail boat for the auto pilot when sailing. ( every watt counts)
Minimum speed until the autopilot opens the solenoid. The power function ( gray / blue stripe) wire could be used if the pump didn't delay for 2.5 seconds.


----------



## neuweiler (Nov 6, 2012)

I'd also be strongly interested in the CAN messages or at least ID's of the pump. I installed a JER161 and it works in emergency mode. The downside: it's noisy.. the noisiest part of my car. So reducing RPM via would certainly be helpful. I tried to get info from TRW but they're blocking - no OEM, no support, not even a simple CAN matrix which would help already a lot.
I do see some messages sent by the pump but it does not react on anything I've sent so far. Unfortunately the guy at https://www.youtube.com/watch?v=tFH1XMlEj4Y is completely unresponsive too.
The pump works ok, but at the moment I don't recommend it... only as an emergency solution.


----------



## neuweiler (Nov 6, 2012)

A new find: check out this video
Apparently Fenix Electronics produces two devices which test electronic power steering pumps: a sophisticated Autotester for $600.- upwards and a simple box which just sends CAN commands (as seen in the video above) for $170.- . The one for Ford Focus CMAX looks very simmilar to the TRW JER 161 I use but has one plug more. I'm going to check with them if it'd also work. Then we could grab the CAN messages.
On this video you see how they change the steering wheel speed and the pump immediately reacts.

Does someone have access to such a device?


----------



## wrsexton (Nov 19, 2010)

I'm still interested in an active or passive (rheostat) assist control. I've been driving my Mustang for 2 years in the non can connected limp home mode. Works fine at anything above 3 or 4 mph, but not enough boost when parking. Any thoughts guys? It's a great pump, doesn't make any more noise than my fuel pump, and steering feel is great, especially at high speeds.


----------



## 4X411 (Nov 22, 2016)

I have a pump from a 2005 Volvo 50 series that i am planning on using on a mud race truck. Any one figure out how to take control of this unit, what type of signals does the can bus use, voltage, amperage, frequency? Any help would be appreciated.


----------



## BigKriss (Mar 15, 2017)

Good day All.
I am retrofitting a Ford Kuga pump to my vehicle and stumbled upon this absolute wealth of information here.
The pump is identical as used on the Volvo that is being discussed here and I simply had to register and thank everyone here for the info.
I have been searching for the last week and a half for any info.

I shall definitely update my findings as I go along with the retrofit process.


----------



## adrianm (Aug 13, 2015)

I know this is an old thread but hopefully this will help someone who can filter out the correct codes. Attached is a CSV and Wireshark PCAP file for all the CAN messages I captured from my Volvo C30 before stripping it. I ran the steering from side to several times and drove up to about 20mph so there should be some data in there to help. I was going to do it myself for my new race car but I decided to go with electric steering in the end as it has some advantages for me but not so much for the uses here.


----------



## Thaniel (May 25, 2008)

adrianm said:


> I know this is an old thread but hopefully this will help someone who can filter out the correct codes. Attached is a CSV and Wireshark PCAP file for all the CAN messages I captured from my Volvo C30 before stripping it. I ran the steering from side to several times and drove up to about 20mph so there should be some data in there to help. I was going to do it myself for my new race car but I decided to go with electric steering in the end as it has some advantages for me but not so much for the uses here.



Nice to have a data stream. Great when people share.



I looked at the data There are 22 different ARBID's


0340412e 
0100082c 
0110483c 
0300410e 
19000026 
01c04026 
02000026 
02104136 
02804026 
02c00020 
00800006 
0090411e 
03800006 
19a00002 
19e00006 
1b200002 
1b600002 
1b700030 
1ba0493c 
1a200020 
1ae0092c 
1be0493c


I'm not looked at Volvo stuff before so no idea what ID goes with which computer. (And I don't have the powersteering. I just find CAN interesting)



More information about the data stream could help. Was the engine running or off when the stream starts? What time does it start? What time does it it start driving etc... Having something to match the data too gives a piece of the puzzle. To identify what ID is what I find it easiest to listen to each module individually or remove one from the BUS and see which messages go away. Baring any inside information from the factory


----------



## adrianm (Aug 13, 2015)

The engine was running the whole time. I can't remember when I started driving it as it was a year ago that I made the file. Pretty sure the order was, start car, start recording, turn steering through full range then start driving. First part would have been a hard right then a straight with increasing speed followed by a complete loop, back down the straight, hard left and then turn off.

The Volvo VIDA system does give the identifiers for each computer in the car which would narrow it down but the version I have is missing that information. It's under Software/Advanced.

I did narrow it down to three or four IDs by looking at which had the most changes but never got any further than that. The plan was to connect up the Arduino CAN shield I have and just send all the messages to the pump with a short delay between each one. If it responded then I would know that was the area to look at.

I found that the default mode of the pump with no CAN input defaults to the PAS level for approximately 40mph which would probably be fine for most people but not for my use.


----------



## iDrive (Nov 28, 2019)

I signed up to comment in this thread. I'm using the same JER Volvo pump in my Civic Hatchback (I cant use a regular pump) and I'm stuck on how to control it. 

I've seen the YouTube videos of it being hacked, but that company isn't selling the controller anymore. I really don't want to be limited to 75% pump RPM. At least if we could get it to run flat out that would be helpful. 

Is anyone here capable of sniffing the CAN protocol to the pump and developing a control module of sorts? That's really where we're at I think. I have a friend who's much more savvy in with home brew stuff like this, but he would still need access to a Volvo with EHPS. If there was anyone in NW Arkansas who is willing to help out, I might be able to tackle it. 

Thanks!


----------



## adrianm (Aug 13, 2015)

iDrive said:


> I signed up to comment in this thread. I'm using the same JER Volvo pump in my Civic Hatchback (I cant use a regular pump) and I'm stuck on how to control it.
> 
> I've seen the YouTube videos of it being hacked, but that company isn't selling the controller anymore. I really don't want to be limited to 75% pump RPM. At least if we could get it to run flat out that would be helpful.
> 
> ...


See my posts (the last few in the thread). I've attached a complete CAN sniff of the messages but I don't know enough to break them down further. I explained how I was going to proceed before changing my mind in the last post I made before this one.


----------



## iDrive (Nov 28, 2019)

Yes sir, that was immensely helpful and I had planned to do exactly as you mentioned as well. 

I'll pick up that Arduino and see what I can accomplish. 

Thank you.


----------



## iDrive (Nov 28, 2019)

Do you remember which ID's you narrowed it down between? 

I am working on the data stream now.


----------



## iDrive (Nov 28, 2019)

Some of the ID's have had thousands of commands sent to them. Others a few hundred, and some 0-100 times. 

What's interesting is the order. Some of those devices don't receive CAN data for 8.5 seconds into the datalog, where others receive immediate data. 

Since the pump defaults to fail safe mode in a few seconds, I'm expecting the pump to receive CAN data fairly quickly. 

I still have no idea which one it is. I'm still putting together my Arduino and getting code written. 

Any help appreciated. I'm almost there. Once I get the pump controlled I'll post exactly how I've done it.


EDIT: I have attached the new data set. I deleted duplicate ID's with identical commands (this removed over half the samples), I then grouped the data by device ID and kept the order in which they appear. No other changes have been made. 


This is my progress as of 12/4/19. Next step for me is to get my Arduino assembled and functional. 


Thank you to everyone who's contributed so far over the years, I hope I can make this happen for us all.


----------



## Roadstercycle (Jun 26, 2019)

Hi Everyone, Wondering what power steering fluid I should put in my 2007 Musktang. (Tesla Powered Mustang). I have a Volvo S40 pump and I'm not really sure whether to put in Ford or Volvo fluid or some other better fluid that may cover both. Any suggestions?



Thanks


----------



## iDrive (Nov 28, 2019)

The fluid is made by Pentosin, it's CHF202 and it's freakin' expensive. It's the latest version of the correct fluid.


----------



## brian_ (Feb 7, 2017)

CHF 202 appears to be very commonly used by many brands of cars, mostly European. Since many Volvo cars were just variations of Fords, it's not surprising that the same fluid has a Ford spec number (WSS-M2C204-A2), although it would be for Ford models such as the Focus, rather than the Mustang.

Assuming that the pump is from a second-generation (2004-2012) S40, it is the same platform as the Ford Focus (and Mazda 3), so it is likely the same pump as a Focus and various other models, but not likely the same as a Mustang. Unfortunately, the fluid normally used by a 2007 Mustang appears to be Mercon ATF, and the manufacturer of the CHF 202 fluid says not to mix it with ATF. This appears to be a case of picking the right fluid for the pump or the right fluid for the rack, hoping that the one you pick is okay for the other part, and flushing any trace of the other fluid out of the system.


----------



## iDrive (Nov 28, 2019)

Great point, I considered exactly this when installing mine. I have a Honda rack, so it is not compatible with ATF. I'll be using CHF202.

Do you think I should use Honda power steering fluid instead?


----------



## TinyRVLiving (Dec 2, 2019)

So...I have two questions that I hope will be easy and concise.

1. For an old "dumb" diesel that has no ECU, what would the wiring be to run the pump in a "dumb" mode wherein it's just at whatever the default speed is? I read through the thread but there is just a lot of CAN chat in here that doesn't apply unfortunately. So a simple final take on a dumb wiring setup would be amazing!

2. My Isuzu (the dumb diesel) presumably uses ATF for powering steering by default. But from this thread and others, it seems my electrohydraulic pump came from a vehicle needing Pentosin CHF202. I'm willing to buy more expensive fluid (the Pentosin) if it means my Volvo S40/V50 pump (P/N 5N513K514AD, allegedly model years 2004-2012) and my steering rack will survive. Can I just flush the old PS fluid out and "upgrade" to CHF202?


----------



## WattsUpDoc (Sep 25, 2019)

Hi all,

I've got my hands on a pump from an S60, and aiming to integrate into my VW Golf project. This particular one (31340205) seems to have an oddball high pressure line connection, instead of a standard threaded fitting. 

From this picture: 
https://i.ebayimg.com/images/g/SlAAAOSw84ZcNPOI/s-l1600.jpg
it has a hydraulic line socket (with the red plug on the right), and the line is retained with a bracket, which is held by a bolt in the threaded hole on the left.

It looks like the corresponding fitting is integrated into the OEM pressure line assembly, and looks like this: 

https://contentinfo.autozone.com/znetcs/product-info/en/US/pwc/92641/image/3/

I haven't done much work with hydraulics, but this looks surprisingly custom. 
Has anybody encountered one of these pumps? Any suggestions on adapting this to a standard threaded fitting or flared tube?


----------



## tambo (Jan 26, 2021)

Sorry to dredge up an old post with some (probably) daft questions... This has been probably the most informative thread I've found regarding retrofitting EHPAS pumps.

I'm looking at running an EH pump on my IC car, instead of the current crank driven one. Partly for efficiency, partly because the current pump is pretty tired, partly because the plumbing and reservoir is currently a bit untidy (from the factory), and partly for L-R weight distribution (even though I'll never be able to feel the difference).

So the current pump on my car is specced for 120BAR...that's about all the tech info I can find on it, other than power consumption (400W~2kW). I think the simplest retrofit would be the Vauxhall/Opel/Holden Astra G pump (TRW gen II), which is rated to 85BAR. By the way, this pump is also specced on base model Astra H's. This pump seems to have a few TRW part no's though I'm not sure on the differences except LHD/RHD. I think the main part no for this pump is JER100.

My first question is, will the shortfall in rated pressure be a problem for most driving? I think the answer is 'no', but just thought I'd check. Extra weight for parking I'm not so worried about; more concerned about potential emergency maneuvers etc.

If the shortfall in pressure is likely to be an issue, I think that the pump for a Vauxhall/Opel Meriva B may operate in the same way as the Astra unit (no CAN bus), but rated to 110BAR; TRW part JER108 or maybe JER154. Anyone got any experience with these? I'd like to avoid them unless I have to, since parts are much more expensive.

Finally, with the motor housings of these pumps looking so similar, would it potentially be possible to swap the control circuitry from the Astra pump (no can required) into the Volvo unit, thereby creating a 120BAR pump which doesn't require can input?

Thanks for any input.


----------



## Rod-N (Nov 13, 2021)

wrsexton said:


> be informative, but I'm not electrically savvy enough to try it (yet!). It might be useful to those consideri





HPEVS said:


> I can probably hack the CAN bus to the PS pump. I would need a car to plug into though to collect the CAN traffic. I just bought one of the Volvo pumps off eBay I'm going to use for the power steering in an electric boat conversion.
> 
> If there is anyone in the so cal area that has a Volvo with EPS, and wants to stop by long enough for me to grab the CAN info, I can probably have the CAN data figured out in a week or so.
> 
> Brian


Hi Brian, did you ever figure out the CAN packets for controlling the Volvo power steering pump output pressure?


----------



## Blackthumb (12 mo ago)

Howdy everyone. I got one of these units on eBay and decided to take a poke at the CAN comms. I downloaded the log generated by adrianm and proceeded to replay it to the unit. It does affect the RPM of the pump, however, only for the first five seconds of runtime. A few notes below:

When you power this unit on (with the two large power wires, and one small ignition wire) it will wait for two seconds, then enter failsafe mode when there aren't any CAN comms present. Failsafe mode seems to run the pump at around 50%-70% RPM.

The unit _appears_ to only care about two IDs, 2e414003 and 0e410003.
0e410003: It seems to use this to to know if the CAN bus is alive. If it is seeing messages with this ID upon startup, it immediately starts cranking and doesn't wait that two second failsafe delay.
2e414003: Seems to affect the speed. The second byte (ie index 1) causes the speed to change, but only for the first five seconds of runtime. More notes below. Maybe is steering velocity, vehicle speed, or a hydraulic pressure?

I can successfully command the units speed using 2e414003, however, only for the first five seconds of runtime. After that it stops listening to me. During those first five seconds it's quite busy on the network, sending a ton of messages. After those five seconds, though, it stops accepting my messages, gets very quiet on the network (but is still sending a few messages every second) and seems to go into failsafe mode. I'm guessing it's making requests to something else on the network, not getting a response, and entering failsafe. Without a working car I can't really proceed much further.

An interesting thing is that it _seems _to keep the speed it was previously set to when entering failsafe mode. So, you could bring the ignition wire high, blast some commands for the desired speed, and it should keep that speed. If you desire to change the speed, bring it low (powering the pump off real fast), then back high, blast speed messages, be on your way. It's a hack, but it's all I got for now.

I'm currently at the point where I'm considering other options. I'm not very familiar with how to fuzz on the CAN bus so I'm not sure if I even want to keep trying to make it work given how much time it could potentially make, especially considering I'd never have 'full control' over the unit as it's really listening for things like vehicle speed and steering angle, which my car doesn't have. I'd rather be able to just tell it what speed to run at based on other factors I'd collect, and be able to change it on my own.

This brings me to replacing the brains of the operation. Other people are saying this is a TRW pump, and that it's powered using a brushless motor. I'm familiar with the VESC motor controller which would suit this project. It has a CAN interface with a transceiver on board already so I can have it on my already existing CAN bus, is open source, and has provisions to add custom code to act upon messages from my CAN bus. Thus I'm having a hard time justifying hacking the existing proprietary CAN bus. Unfortunately, it looks like if I decide to go this route I may end up destroying my pump as there doesn't seem to be a way to open it without some sort of major tampering. I'll likely just run it as it is now and see how it fares. If I need more assist, I'll proceed further.


----------



## Roadstercycle (Jun 26, 2019)

Blackthumb said:


> Howdy everyone. I got one of these units on eBay and decided to take a poke at the CAN comms. I downloaded the log generated by adrianm and proceeded to replay it to the unit. It does affect the RPM of the pump, however, only for the first five seconds of runtime. A few notes below:
> 
> When you power this unit on (with the two large power wires, and one small ignition wire) it will wait for two seconds, then enter failsafe mode when there aren't any CAN comms present. Failsafe mode seems to run the pump at around 50%-70% RPM.
> 
> ...


Just for a reference I used one on the Tesla powered Mustang GT that AEM-EV now owns. It's been working great in failsafe mode. On the street and at the strip, the only thing that ever bothered us is the annoying noise. I fixed the issue on my latest Tesla Musktang build using a 2012 Mustang electric rack sending it a couple of Can messages and it runs in track mode. Works great. Might be a better solution for some builds with a little fitment engineering.


----------



## brian_ (Feb 7, 2017)

Blackthumb said:


> The unit _appears_ to only care about two IDs, 2e414003 and 0e410003.
> 0e410003: It seems to use this to to know if the CAN bus is alive. If it is seeing messages with this ID upon startup, it immediately starts cranking and doesn't wait that two second failsafe delay.
> 2e414003: Seems to control the speed. The second byte (ie index 1) causes the speed to change, but only for the first five seconds of runtime...


I doubt that the CAN command is a pump speed command, because it wouldn't make sense in the operation of the vehicle. It would make more sense to be a hydraulic pressure command, because that pressure determine the level of steering assist. Some processor in the car decides what level of assist is appropriate (based on vehicle speed, steering angle, perhaps rate of steering angle change, driving mode, etc), and the pump just needs to run fast enough to maintain the corresponding pressure. 

If you're bench-testing without hydraulic load (a steering rack that gets moved), you're not seeing the full behaviour of the pump. If you're testing with the pump dry, you could be running into an error condition in the pump due to the lack of change in pump output pressure.


----------



## Blackthumb (12 mo ago)

Roadstercycle said:


> Just for a reference I used one on the Tesla powered Mustang GT that AEM-EV now owns. It's been working great in failsafe mode. On the street and at the strip, the only thing that ever bothered us is the annoying noise. I fixed the issue on my latest Tesla Musktang build using a 2012 Mustang electric rack sending it a couple of Can messages and it runs in track mode. Works great. Might be a better solution for some builds with a little fitment engineering.


Quite interesting. Do you have the CAN message info to share?



brian_ said:


> I doubt that the CAN command is a pump speed command, because it wouldn't make sense in the operation of the vehicle. It would make more sense to be a hydraulic pressure command, because that pressure determine the level of steering assist. Some processor in the car decides what level of assist is appropriate (based on vehicle speed, steering angle, perhaps rate of steering angle change, driving mode, etc), and the pump just needs to run fast enough to maintain the corresponding pressure.
> 
> If you're bench-testing without hydraulic load (a steering rack that gets moved), you're not seeing the full behaviour of the pump. If you're testing with the pump dry, you could be running into an error condition in the pump due to the lack of change in pump output pressure.


Yes, I should have been more clear. It only affects the speed. Not sure what the unit actually interprets the message as, but my first thought was maybe steering velocity or vehicle speed. Regardless, increasing or decreasing that byte makes the pump rev up and down. I'll update my post to clarify.


----------



## brian_ (Feb 7, 2017)

Blackthumb said:


> It only affects the speed. Not sure what the unit actually interprets the message as, but my first thought was maybe steering velocity or vehicle speed. Regardless, increasing or decreasing that byte makes the pump rev up and down. I'll update my post to clarify.


But under what pump conditions? Is the pump dry, or filled but with the inlet and outlet blocked, or filled with the inlet and outlet looped together, or is it actually attached to a steering rack? With no fluid flow, and a bypass pressure regulator, the pump speed would change with pressure changes... but that wouldn't mean that it is a pump speed command, rather than a pressure command.


----------



## Roadstercycle (Jun 26, 2019)

Blackthumb said:


> Quite interesting. Do you have the CAN message info to share?
> 
> 
> 
> Yes, I should have been more clear. It only affects the speed. Not sure what the unit actually interprets the message as, but my first thought was maybe steering velocity or vehicle speed. Regardless, increasing or decreasing that byte makes the pump rev up and down. I'll update my post to clarify.


Cortex racing sells the little harness that does the can messages.


----------



## Blackthumb (12 mo ago)

brian_ said:


> But under what pump conditions? Is the pump dry, or filled but with the inlet and outlet blocked, or filled with the inlet and outlet looped together, or is it actually attached to a steering rack? With no fluid flow, and a bypass pressure regulator, the pump speed would change with pressure changes... but that wouldn't mean that it is a pump speed command, rather than a pressure command.


The pump is filled and simply looping fluid. When the byte is changed, RPM audibly changes as well, but only for the first five seconds after which it stops responding to those changes and becomes very quiet on the network. As stated above, I'm not saying it's a speed command. I'm saying the message affects speed. Whether it is a pressure command or a speed command I cannot say, and I don't currently have the resources or desire to narrow it down any further. One thing is for certain: when you change that byte, the speed is changed in a predictable and repeatable manner. I'm posting this as I learned a fair bit about these pumps from this thread and I figured I'd contribute my findings back. Perhaps someone in the future can make use of the info.



Roadstercycle said:


> Cortex racing sells the little harness that does the can messages.


Noted, thank you! I'd personally prefer to have access to as much as possible so I'd like to either have as much info on the CAN messages as possible, or to simply replace the board with something else.


----------



## Roadstercycle (Jun 26, 2019)

Blackthumb said:


> The pump is filled and simply looping fluid. When the byte is changed, RPM audibly changes as well, but only for the first five sends after which it stops responding to those changes and becomes very quiet on the network. As stated above, I'm not saying it's a speed command. I'm saying the message affects speed. Whether it is a pressure command or a speed command I cannot say, and I don't currently have the resources or desire to narrow it down any further. One thing is for certain: when you change that byte, the speed is changed in a predictable and repeatable manner. I'm posting this as I learned a fair bit about these pumps from this thread and I figured I'd contribute my findings back. Perhaps someone in the future can make use of the info.
> 
> 
> 
> Noted, thank you! I'd personally prefer to have access to as much as possible so I'd like to either have as much info on the CAN messages as possible, or to simply replace the board with something else.


You'll need a 2012 Mustang to be able to pull all the Can messages in different modes and driving conditions. I've been driving the new Musktang for a couple weeks now and I really have not wanted anything different in the steering feel except Tesla Auto pilot. As far as parking lots and blasting around I've been pleasantly surprised at the feel.


----------



## Rod-N (Nov 13, 2021)

does anyone have a 2011-2014 dodge Jeep that they could possibly do a CAN log for me Still trying to figure out the speed control packets for this EPS

thank you!


----------



## Blackthumb (12 mo ago)

Roadstercycle said:


> You'll need a 2012 Mustang to be able to pull all the Can messages in different modes and driving conditions. I've been driving the new Musktang for a couple weeks now and I really have not wanted anything different in the steering feel except Tesla Auto pilot. As far as parking lots and blasting around I've been pleasantly surprised at the feel.


I know you likely said this in jest, but if you're serious you can look into Comma AI's Comma Three. Fully open source, so you could technically write your own vehicle interface for it. Not a simple task but surely not impossible. Very cool company and project.


----------



## remy_martian (Feb 4, 2019)

I'm thinking pump speed could be correlated to pressure if they have a flow restriction at the steering actuator. The system is always "leaking", in other words.

To maintain constant pressure, steering wheel torque/speed(derived from position) would need to be an input and the pump speed would need to map to those inputs to derive a pressure ("assist"). More pump displacement (speed) means more assist. More operator steering speed means the pump needs to increase its displacement to keep assist constant - if that's what's desired. The third dimension in the map is vehicle speed which increases or decreases the assist.

I seriously doubt you actually set the pressure as Brian suggested. You have to constantly read steering position and torque, and vehiclecspeed, and 3D map pump speed to it all is my thinking.

A dry pump would go into fail as a motor current sense being too small - implicit broken hose fault which is likely why it stops. You need a wet loop with a flow control valve (fairly cheap hydraulics piece) to simulate it on the bench, if my hypothesis is correct.

I think running it in the car, only mapped to vehicle speed will be kinda sucky and open loop with a constant pump motor speed command will also suck. 

Need the steering wheel torque and position sensors and vehicle speed as a 3D map to pump speed to get it right.


----------



## brian_ (Feb 7, 2017)

Blackthumb said:


> The pump is filled and simply looping fluid.


Thanks.
Of course that's not how a steering system works - it's never just short-circuited. The pump provides a regulated pressure to a control valve at the end of the steering column shaft. When the driver turns the wheel, part of the valve moves against a torsion spring (that tries to keep the valve centred) and so the harder you turn the more the valve opens to route fluid to one side of the steering rack (or box). So if you're not turning the wheel, the only fluid flowing is through the pressure regulator (which is presumably the bypass type, short-circuiting fluid from the pump outlet to the inlet), right at the pump.

Fluid volumetric flow rate (not pressure) is proportional to pump speed; the pump only needs to turn fast enough to move the fluid used to move the rack (zero if not turning the wheels) plus the regulator bypass flow. As a result, maintaining constant pressure (constant amount of boost) means a varying pump speed - very slow when not turning and much faster when spinning the wheel to park. It would make absolutely no sense for a control unit somewhere else commanding that speed, since it is pressure that needs to respond to vehicle speed and steering angle.

As a result, you could test the system with the fluid routed through a simple manual valve: closed is driving straight, partially open is turning the steering wheel slowly, fully open is turning the steering wheel quickly.

The varying speed is actually the original purpose of electro-hydraulic steering: rather than an engine-driven pump turning a something proportional to engine speed all of the time, regardless of what is actually needed, an electrically-driven pump only needs to turn as fast as required to meet steering needs, saving power on average. Ironically, the highest fluid flow demand is during parking maneouvers at very slow speed when the engine is nearly idling, and the lowest fluid flow demand is on a straight highway or while accelerating in a straight line when the engine is turning fast; directly belted to the engine was always a really unfortunate way to drive a steering assist pump.


----------



## Blackthumb (12 mo ago)

remy_martian said:


> I'm thinking pump speed could be correlated to pressure if they have a flow restriction at the steering actuator. The system is always "leaking", in other words.
> 
> To maintain constant pressure, steering wheel torque/speed(derived from position) would need to be an input and the pump speed would need to map to those inputs to derive a pressure ("assist"). More pump displacement (speed) means more assist. More operator steering speed means the pump needs to increase its displacement to keep assist constant - if that's what's desired. The third dimension in the map is vehicle speed which increases or decreases the assist.
> 
> ...


The thing is the pump doesn't actually stop. For those first five seconds, the pump is responding to the command and changing RPM in correlation to byte changes. After those five seconds, it stops responding to the byte changes but keeps whatever RPM it was previously running (and becomes much quieter on the network) and keeps on running at that RPM. 

It's worth noting that this car was originally equipped with normal hydro steering setup, thus at idle (open loop constant pump speed essentially) the steering performed just fine. Thus my hypothesis is that if I were to run this pump at a constant speed as well (mimicking a belt driven pump) it'd perform similarly to the original setup. From what I've read, though, the failsafe speed (that 50% - 70% people have mentioned) might not be high enough for very quick turns, hence is why I would like to gain control over the speed. I can add a sensor to my steering column and when the sensor sees me turning the wheel very quickly it'll bump up the pump speed accordingly. 

Otherwise, this post basically sums up my assumptions about this unit!



brian_ said:


> Thanks.
> Of course that's not how a steering system works - it's never just short-circuited. The pump provides a regulated pressure to a control valve at the end of the steering column shaft. When the driver turns the wheel, part of the valve moves against a torsion spring (that tries to keep the valve centred) and so the harder you turn the more the valve opens to route fluid to one side of the steering rack (or box). So if you're not turning the wheel, the only fluid flowing is through the pressure regulator (which is presumably the bypass type, short-circuiting fluid from the pump outlet to the inlet), right at the pump.
> 
> Fluid volumetric flow rate (not pressure) is proportional to pump speed; the pump only needs to turn fast enough to move the fluid used to move the rack (zero if not turning the wheels) plus the regulator bypass flow. As a result, maintaining constant pressure (constant amount of boost) means a varying pump speed - very slow when not turning and much faster when spinning the wheel to park. It would make absolutely no sense for a control unit somewhere else commanding that speed, since it is pressure that needs to respond to vehicle speed and steering angle.
> ...


Brian, you still seem to be under the impression that I'm saying the message I mentioned directly controls the speed. _This is not the case. I am not saying this command directly controls the speed._ I'm saying that when I change the contents of that message, the pump speed changes. _I am not saying this is a speed control command_. This is a cause-effect statement. When I change that byte, the speed is changed in a predictable and repeatable manner. 

This message _could_ be: 
1. Steering velocity (how fast the steering wheel is turning)
2. Vehicle speed (how fast the car is moving)
3. Steering torque (how hard the user is turning the wheel)
4. A direct speed command (yes, it could also be what you seem to think I'm saying it is)
5. Any number of other variables the pump cares about.

It may then use that data to calculate a final RPM (or current draw, or duty cycle, or etc etc).

I do not know what it _actually_ is. It's proprietary, so I can't know what it actually is without more effort that doesn't seem to justify the end result. Existing documentation on these pumps indicates that these pumps listen for steering velocity and vehicle speed, and do some magic proprietary math to calculate how fast to spin the pump motor. The post I quoted above this by remy_martian sums it up pretty well.

Also, I agree with remy_martian in that I don't believe this unit cares about pressure at all. It's likely not operating in any sort of closed loop, though I haven't seen inside yet so I can't see if it has a pressure sensor or not. I only think this simply because it doesn't _need _to care about pressure. No existing belt driven pumps care about pressure at all, and this unit seems to be designed to directly replace those. It's probably only varying the RPM at all to conserve energy and reduce waste heat, and is _maybe_ basing that RPM based on steering velocity and vehicle speed. Supposing there is some sort of 3D map that takes both *steering velocity* and *vehicle speed* as an input and produces *pump RPM* as an output, you'd just have to tune that map to always be fast enough so you can steer comfortably. 

I should make clear that all of this is just a broad assumption. This is a closed source proprietary device. We can't know exactly how it works. Hence is why I'm interested in replacing it's brain with something that I can make work however I'd like.


----------



## brian_ (Feb 7, 2017)

Blackthumb said:


> Brian, you still seem to be under the impression that I'm saying the message I mentioned directly controls the speed. _This is not the case. I am not saying this command directly controls the speed._


Yes, I got that.



Blackthumb said:


> Also, I agree with remy_martian in that I don't believe this unit cares about pressure at all. It's likely not operating in any sort of closed loop, though I haven't seen inside yet so I can't see if it has a pressure sensor or not. I only think this simply because it doesn't _need _to care about pressure. No existing belt driven pumps care about pressure at all, and this unit seems to be designed to directly replace those.


You're making "closed loop" sound complicated. Of course there's no closed-loop control over CAN using feedback of pressure to control anything; it's just a pressure regulator in the pump or the rack, whether that is a simple mechanical valve or a local electronic control.

The _system_ certainly does care about pressure, because that determines the level of assist. Even systems with belt-driven pumps regulate pressure. If all of that pressure regulation is at the spool valve on the rack (or steering box), then the pump can be relatively dumb (controlling pressure only with a high limit, which is implemented in engine-driven pumps with a pressure relief bypass valve) and just run at a sufficient flow rate (dependent on speed) to meet requirements, with CAN messages telling the pump unit when more flow is needed to account for rapid steering movement.


----------



## jikeli (12 mo ago)

drywaller said:


> Hi everyone. I am new to the site, just joined today but have been lurking for some time.
> I am building a small scale electric car just to learn the basics. Then I will try my hand at a larger vehicle.
> I am now working out the power steering and have hit a road block.
> I aquired an electric over hydraulic power steering pump from a 2005 V50 Volvo.
> ...


Mounting is really going to depend on your engine bay set up. I did some research a while back on using a electric pump from a mini cooper. They are BMW prices though, and you have to make sure the pressures are reasonably close or you can start blowing seals in the rack. I think your best bet is finding the SR parts.
For more options on electric, look into electric pump set ups for hot rods. I remember there being a few. You can find whole assemblies, but they are expensive.


----------



## rod19033 (Nov 24, 2021)

Hi All
think I have a way to control them
Have it working on the Dodge/Jeep EPS using a ESC 60 Amp Brushless Motor controller and Arduino I still need to attach a Hall Effect sensor to monitor RPM but right now have a pot connected to control the speed and it works well

Does anyone have internal pictures of the Volvo Pump so I can see if it may work
thanks


----------



## remy_martian (Feb 4, 2019)

Good to validate a concept, but the ESC 60 is not an automotive grade component. 

What's your plan after it "works"?


----------



## rod19033 (Nov 24, 2021)

I guess that's completely up to you Remy If you want something Automotive temperature rated that will be placed in a high temperature environment *(I didnt intend on putting it inside the pump housing) then build your own BLDC controller I guess


----------



## remy_martian (Feb 4, 2019)

It's not just high temperature. Commercial temperature rated devices are not guaranteed operational below 0C (32F). 

Our techs used to troubleshoot intermittents with cold spray...it was weird seeing a chip come back to life on the oscilloscope after warming up. _Consistently_. Troubleshooting tricks a snot-nosed kid fresh out of engineering school wasn't aware of. The intermittent at room temperature devices happened to be the ones, in a sea of like devices on a board, that would not operate when cold.

Anyway, the automotive-rated parts are more expensive, but there are good reasons for using them, including factory test screening.

Then there's connector reliability...


----------



## WireNutCJ7 (8 mo ago)

Blackthumb said:


> Howdy everyone. I got one of these units on eBay and decided to take a poke at the CAN comms. I downloaded the log generated by adrianm and proceeded to replay it to the unit. It does affect the RPM of the pump, however, only for the first five seconds of runtime. A few notes below:
> 
> When you power this unit on (with the two large power wires, and one small ignition wire) it will wait for two seconds, then enter failsafe mode when there aren't any CAN comms present. Failsafe mode seems to run the pump at around 50%-70% RPM.
> 
> ...



Howdy! I am working on getting this unit to work well in my Jeep currently, as I need the full capacity of the pump for my steering ram, and this post, in particular, has been an amazing help with R&D however now I am stuck.
I downloaded both files regarding the Can dump from adrianm as well, I have been searching for the IDs mentioned above to try with my benchtop test setup to no avail. (2e414003 and 0e410003) CTRL F will not bring any ID or string up that matches what you put above. Can you elaborate on what ID and string you have had luck with changing pump rpm? Or what program you are using to send the whole log? I am currently using an Arduino setup where I have to manually type every message to be sent.
I have a transmitter and reader hooked up to the Canbus to monitor everything. I see what you mean that the bus is very busy for 5 seconds, even in failsafe mode, then the pump sends out what may be a request and goes silent while it seems to be waiting for a response back before making any further changes.

I attached some pictures below to show what I have done and am trying to power with this unit. While it does look like the ram is oversized for this pump it actually does decent on the failsafe mode I would feel comfortable diving it down the 2 lane highway by my house however, at slow speeds, there is a lot to be desired. While anecdotal I have seen and driven vehicles where people run these size steering rams with their factory steering pumps putting out only 3.4 ish GPM, whereas this pump is rated at 4.4 GPM. I want to try this pump out at 100% rpm and see what the limitations of this pump really are. I get some resistance at the wheel when I try to turn quickly, which I am guessing is a lack of flow due to the low pump RPM. I hypothesize this is the case due to the mechanical pump vehicles I have driven with the same steering ram setup. As engine rpm increases so do the responsiveness and lack of resistance at the wheel, which is why I am pursuing this. Having a constant steering rate through the rpm band would be great, but depending on what is found here, maybe even speed dependant Pump RPM just as Ford/Volvo intended it.

Also, Yes I do have the factory return blocked off as I am using an external reservoir, to feed the pump, with its own return, filter, and temp sensor that goes to my Arduino HMI on the dash that I designed.

Thank you all for your help!

*******Edit
Upon further attempts and reading, I found my transmitter was not sending out the extended CAN ID, once I got that sorted, the pump audibly had a softer start with a pause then ramp-up of the pump. However, I could not get the pump to do an Immediate start as described by @Blackthumb. Also after 5-8 seconds of run time, the pump will still wind down some before leveling out. I must not be sending the correct commands from the 0e410003 ID for it to do an immediatestart up and maintain a higher RPM.
I will continue to update as I find more out.

Thank you all again.


----------



## mck1117 (8 mo ago)

Hello friends. I run one of these pumps in my race car (combustion engine, sorry!), and wanted to control it. I'm a developer on rusEFI, so I pooled some resources (including the logs from this thread, and a MaxxECU that can control these pumps) to try and reverse engineer the CAN protocol, and I think I've done it.









rusEFI Controls Volvo Power Steering Pump







www.youtube.com





Here's the post on our forum with the Lua script that makes my pump work: Volvo electric power steering pump CAN bus control - rusefi.com

Here's the script on GitHub: pump.lua

It just waits until it sees the "I'm alive!" message from the pump, then starts sending.

The 1ae0092c frame seems to just keep the pump alive and listening/sending over CAN, and it's sent at 1/30 the rate of the other message.

The 2104136 frame sends something that's probably vehicle speed based on the logs from other people above. Most of the bits are (or can be) static, last two bytes are 16-bit big endian unsigned speed. Small values make the pump run fast, large values slow it down.

I'll keep this thread updated in case I figure anything else out!


----------



## WireNutCJ7 (8 mo ago)

mck1117 said:


> Hello friends. I run one of these pumps in my race car (combustion engine, sorry!), and wanted to control it. I'm a developer on rusEFI, so I pooled some resources (including the logs from this thread, and a MaxxECU that can control these pumps) to try and reverse engineer the CAN protocol, and I think I've done it.
> 
> 
> 
> ...


I updated my Arduino code to send all 5 of those Can Frames that you provided, the 2 main plus the rolling data, I can independently verify your data is accurate and can control the speed! You sir are a lifesaver, I was going to be borrowing a MaxxECU this week and I bet it would have taken me some time to figure those frames out! I will be testing on the jeep this week!


----------



## remy_martian (Feb 4, 2019)

Great news.

Mind posting the source code here for everyone?


----------



## mck1117 (8 mo ago)

remy_martian said:


> Mind posting the source code here for everyone?


It's linked as a GitHub gist in my message above: pump.lua

Here's a text description though:

Two frames:
0x02104136 sends at 71hz.
0x1ae0092c sends at 2.4hz, exactly 1/30 the rate of the first frame.

'92c has data { roll, 00, 22, E0, 41, 90, 00, 00 } where roll cycles through 00, 40, 80, C0 for each consecutive message.

'136 has data { BB, 00, 3F, FF, 06, E0, spd_msb, spd_lsb } where speed_msb/lsb are the most/least significant bits of the 16-bit 'speed' value. 0 makes the pump run fast (car stopped), and ~6000 is the car "driving quickly" (unknown units, but it slows the pump down considerably).


----------



## mck1117 (8 mo ago)

WireNutCJ7 said:


> I was going to be borrowing a MaxxECU this week


I'm actually still a little bit curious what the MaxxECU sends... I did some reverse engineering of their firmware image to see what frames they send to the pump, then didn't bother actually fully decoding the contents of the frames. Instead I just looked at those frames in the logs in this thread, and noticed that they didn't have a checksum present, so they're pretty easy to 'fake' without any hard work.

The pump seems to maybe either ignore the checksum, or support multiple different frame formats, because MaxxECU does this (decompilation, not necessarily valid variable names, but correct logic):









That's clearly a checksum (and even depends on the speed bytes I'm changing) - but I'm not computing it and the pump seems to not complain.


----------



## remy_martian (Feb 4, 2019)

I know it was in your posting, and thanks for sharing the lua.

A lot of people on here do Arduino, so I thought it would be useful for them to have Arduino source as well. Tells them which libraries they need, loop structures, etc. Creates a living thing for further codebuilds.

Trying to enhance the site as a useful resource, like you used as a base for getting this far, vs storytelling.

Mind sharing your Arduino source code here, @WireNutCJ7 ?


----------



## WireNutCJ7 (8 mo ago)

remy_martian said:


> I know it was in your posting, and thanks for sharing the lua.
> 
> A lot of people on here do Arduino, so I thought it would be useful for them to have Arduino source as well. Tells them which libraries they need, loop structures, etc. Creates a living thing for further codebuilds.
> 
> ...


@remy_martian
I do not mind, pulling relevant code for 100% pump RPM from my BCM code for the CJ7 now. Saves you all from wading through another 2000+ lines and storytelling to try and decipher it. LOL, Standby.

Waiting on mod approval since my next post had a youtube video in it I guess.


----------



## WireNutCJ7 (8 mo ago)

Testing the volvo power steering pump can bus code







youtube.com







```
//Volvo Power Steering Pump 100% RPM
//
//Written by WirenutCJ7, with help from mck1117
//
//This is a basic and somewhat sloppy code as I removed it from a much larger sketch
//but this can get you started, or at least steering better.
//
//I have a relay on pin 4 for turning the pump on, timed correctly with can messages
//
// this was setup for a Arudino Mega 2560


#include <SPI.h>
#include <mcp2515.h>

int Alive = 1;
int Freq = 0;
//Listen Frames
struct can_frame canMsg1;
struct can_frame canMsg2;
struct can_frame canMsg3;
struct can_frame canMsg4;
// Speed Frame
struct can_frame canMsg5;
MCP2515 mcp2515(53);

void setup() {
  //Keep Alive and listen 1
  canMsg1.can_id  = 0x1ae0092c | CAN_EFF_FLAG;
  canMsg1.can_dlc = 8;
  canMsg1.data[0] = 0xc0;
  canMsg1.data[1] = 0x00;
  canMsg1.data[2] = 0x22;
  canMsg1.data[3] = 0xe0;
  canMsg1.data[4] = 0x41;
  canMsg1.data[5] = 0x90;
  canMsg1.data[6] = 0x00;
  canMsg1.data[7] = 0x00;

//Keep alive and listen 2
  canMsg2.can_id  = 0x1ae0092c | CAN_EFF_FLAG;
  canMsg2.can_dlc = 8;
  canMsg2.data[0] = 0x00;
  canMsg2.data[1] = 0x00;
  canMsg2.data[2] = 0x22;
  canMsg2.data[3] = 0xe0;
  canMsg2.data[4] = 0x41;
  canMsg2.data[5] = 0x90;
  canMsg2.data[6] = 0x00;
  canMsg2.data[7] = 0x00;
//***********************************************************
//Keep alive and listen 3
  canMsg3.can_id  = 0x1ae0092c | CAN_EFF_FLAG;
  canMsg3.can_dlc = 8;
  canMsg3.data[0] = 0x40;
  canMsg3.data[1] = 0x00;
  canMsg3.data[2] = 0x22;
  canMsg3.data[3] = 0xe0;
  canMsg3.data[4] = 0x41;
  canMsg3.data[5] = 0x90;
  canMsg3.data[6] = 0x00;
  canMsg3.data[7] = 0x00;
//***********************************************************
//Keep alive and listen 4
  canMsg4.can_id  = 0x1ae0092c | CAN_EFF_FLAG;
  canMsg4.can_dlc = 8;
  canMsg4.data[0] = 0x80;
  canMsg4.data[1] = 0x00;
  canMsg4.data[2] = 0x22;
  canMsg4.data[3] = 0xe0;
  canMsg4.data[4] = 0x41;
  canMsg4.data[5] = 0x90;
  canMsg4.data[6] = 0x00;
  canMsg4.data[7] = 0x00;
  //0x2e414003 does seem to work as well?
//************************************************************///////////////////////////
//SPEED 100
  canMsg5.can_id  = 0x02104136 | CAN_EFF_FLAG;
  canMsg5.can_dlc = 8;
  canMsg5.data[0] = 0xbb;
  canMsg5.data[1] = 0x00;
  canMsg5.data[2] = 0x3f;
  canMsg5.data[3] = 0xff;
  canMsg5.data[4] = 0x06;
  canMsg5.data[5] = 0xe0;
  canMsg5.data[6] = 0x00;
  canMsg5.data[7] = 0x00;

  while (!Serial);
  Serial.begin(115200);

  mcp2515.reset();
  //mcp2515.setBitrate(CAN_500KBPS); //check your crystal MHZ and change if need be.
  mcp2515.setBitrate(CAN_500KBPS, MCP_8MHZ);
  mcp2515.setNormalMode();
  pinMode(4, OUTPUT);
digitalWrite(4, LOW);
digitalWrite(4, HIGH);
delay(250);
mcp2515.sendMessage(&canMsg2);

}

void loop() {
  if(Alive == 1){
if (Freq == 30){
  mcp2515.sendMessage(&canMsg1);
// Serial.println("Alive 1");
  //delay(10);
  Freq = 0;
  Alive = 2;
delay(5);
}
}
if(Alive == 2){
if (Freq == 30){
//  Serial.println("Alive 2");
  mcp2515.sendMessage(&canMsg2);
  //delay(10);
  Freq = 0;
  Alive = 3;
  delay(5);
}
}
if(Alive == 3){
if (Freq == 30){
// Serial.println("Alive 3");
  mcp2515.sendMessage(&canMsg3);
  //delay(10);
  Freq = 0;
  Alive = 4;
  delay(5);
}
}
if(Alive == 4){
if (Freq == 30){
  //Serial.println("Alive 4");
  mcp2515.sendMessage(&canMsg4);
  //delay(10);
  Freq = 0;
  Alive = 1;
  delay(5);
}
}
mcp2515.sendMessage(&canMsg5);
  Freq += 1;
  delay(5);
  delay(10);
}
```


----------



## remy_martian (Feb 4, 2019)

It's not for me...


----------



## WireNutCJ7 (8 mo ago)

remy_martian said:


> It's not for me...


Says " This message is awaiting moderator approval, and is invisible to normal visitors. " so I guess anyone who has an account can see it.


----------



## remy_martian (Feb 4, 2019)

I guess I'm not "normal" 😛


----------



## aqua_life (6 mo ago)

Hello,
I own a company that develops and produces controller kits for electric power steering conversions.
We had many requests during past years to develop a controller for the Volvo electro hydraulic steering. 
A customer recommended to register in this Forum to share the information.
Finally we have for sale a normal controller with an adjustment knob and a better controller with a small GPS antenna.
Next you can see a simple Youtube video showing how our controller works. Also links to our webstore and Ebay store.










Volvo electro hydraulic pump Archives - ANT Steering & Electronics - Bruno Steering







www.brunosteering.com












Steering Electronics | eBay Stores






www.ebay.co.uk





Any question please let me know.


----------



## remy_martian (Feb 4, 2019)

It's great you've packaged this up for turnkey use.

Where are your schematics and source code located on Github?

This was developed using open source contributed info, and could use modifications and contributions to make it even better. The beauty of open source.

thanks


----------



## WireNutCJ7 (8 mo ago)

remy_martian said:


> It's great you've packaged this up for turnkey use.
> 
> Where are your schematics and source code located on Github?
> 
> ...


If they do not have documentation for open source. I am in the durability testing phase for my own board that has speed control via potentiometer or via GPS. Which I will be doing as an open source project. Currently the board is being tested running dual pumps.

Keep an eye out on Brewingtonwiringsystems.com 
I will be posting the preorder soon and documentation there as well as github


----------



## remy_martian (Feb 4, 2019)

Please keep us posted here. Too many daily stops to add more. Thanks for the voodoo that you do


----------



## remy_martian (Feb 4, 2019)

@WireNutCJ7

Given any thoughts to tapping off one front wheel's ABS sensor or a hall sensor on an axle or prop shaft like @windraver used in his CRX build?

My thinking there is you dedicate a logic pin input to incoming pulses per second, and set up either a .config file or simply a parameter in the source code header that sets up the math (divisor) for vehicle speed.

The signal conditioning would be a separate board that provides the logic pulses, since the sensors are so various.


----------



## WireNutCJ7 (8 mo ago)

remy_martian said:


> @WireNutCJ7
> 
> Given any thoughts to tapping off one front wheel's ABS sensor or a hall sensor on an axle or prop shaft like @windraver used in his CRX build?
> 
> ...


I did consider it at first, but quickly went to GPS for the fastest turn around on a turn key product. I would be interested in looking into it and including it in a V2 board or somehow into the V1. The more robust the board the better for all who purchase it.


----------



## remy_martian (Feb 4, 2019)

GPS kinda sucks for availability...no power steering in cities or mountains, for example. I understand the quick to get out there part.

Make sure you don't forget to code full EPS pump speed on LOS.


----------



## WireNutCJ7 (8 mo ago)

remy_martian said:


> GPS kinda sucks for availability...no power steering in cities or mountains, for example. I understand the quick to get out there part.
> 
> Make sure you don't forget to code full EPS pump speed on LOS.


Loss of the GPS signal results in a 0 reading in the logic, which sends the full pump speed command when in GPS mode. Potentiometer allows for 40%-100% pump manual speed control. With the lowest value on the pot engaging the GPS subroutine.


----------



## remy_martian (Feb 4, 2019)

On the pulse input, a separate AFE board that provides a 2V to 5V speed signal on the pot input should work nicely, then. 

Just make sure, in any case, to filter the pot voltage before ADC on your controller.


----------



## WireNutCJ7 (8 mo ago)

remy_martian said:


> On the pulse input, a separate AFE board that provides a 2V to 5V speed signal on the pot input should work nicely, then.
> 
> Just make sure, in any case, to filter the pot voltage before ADC on your controller.


I think I can make it work that way or offer it as GPS unit or the wheel speed unit as a variant.


----------



## remy_martian (Feb 4, 2019)

True. I was thinking GPS delete and the same code and processor port for pot/speed_sense. Two board build types.

I'm not sure the WS/hall sensor board can be universal enough to cover what's out there and be sucked into the mainboard design.


----------



## joekitch (Sep 13, 2013)

So uh, looking into one of these guys for my conversion which already has hydro boost. I'll be using an AEM vcu200 so I could theoretically have a lot of this be can controlled with an intermediary board (no need for gps, it'll know my speed continuously)

Anyone know how loud one of these is at operating speed? Like In decibels? Also has anyone tried to make an acoustic enclosure to quiet it way down? I'm a little worried about heat build up but considering it's designed to live in an engine bay it can probably take a lot of heat. At worst I'd add a little power steering fluid cooler in the line somewhere


----------



## remy_martian (Feb 4, 2019)

How loud it is will depend on where and how you mount the pump.


----------



## joekitch (Sep 13, 2013)

I mean yeah but if I want it to be comparable in sound level to say, the water pump, I'll have to quiet it greatly


----------



## WireNutCJ7 (8 mo ago)

joekitch said:


> I mean yeah but if I want it to be comparable in sound level to say, the water pump, I'll have to quiet it greatly


That all depends on your water pump. They are not that loud in my opinion. Check on my page for my jeep build. I have 2 of them running at once in the most recent video. 









Benjamin Brewington (@wirenutcj7) • Instagram photos and videos


113 Followers, 77 Following, 36 Posts - See Instagram photos and videos from Benjamin Brewington (@wirenutcj7)




www.instagram.com


----------



## 93Hatchback (5 mo ago)

WireNutCJ7 said:


> Testing the volvo power steering pump can bus code
> 
> 
> 
> ...


This is beautiful. is there any chance a wiring diagram could be made for the pump can hi/lo wires to the Arduino mega 2560? I'm a bit illiterate when reading code and am unable to determine the pins used on the Arduino via code alone...


----------



## WireNutCJ7 (8 mo ago)

93Hatchback said:


> This is beautiful. is there any chance a wiring diagram could be made for the pump can hi/lo wires to the Arduino mega 2560? I'm a bit illiterate when reading code and am unable to determine the pins used on the Arduino via code alone...


The schematics and full variable pump speed code with and without GPS will be released at the end of the month on my website and github. Link to the github can be found on my website in the near future. As well as the preorder for the fully functional board that allows you to have a done product but still tweak code to suit your project.

Brewingtonwiringsystems.com


----------



## joekitch (Sep 13, 2013)

it's just plain old can signals right? i haven't checked the thread but is it documented somewhere what the PIDs and commands are for startup/change speed?
i got a vcu200 so i can inject can messages arbitrarily


----------



## remy_martian (Feb 4, 2019)

Check this thread

I have better things to do and preordered the ready made setup. I want steering if my VCU software or hardware, or the CAN bus goes into the weeds.


----------



## arturk (Jan 19, 2017)

Folks, I have been using Volvo Pump in my electric Jag for about 2 years in fail-safe mode but I was looking for way to control speed. Thanks to contributions of fine members of this forum I was able to add some control through my Arduino DUE based VCU. 
I wanted to share few observations.

With following messages: 0x02104136, 0x1ae0092c I am able to control speed between (I estimate) 50-100% for speed parameter 0-5000 (5000-6000 makes no change for me). In fail-safe mode, my pump runs at 50% speed (or equivalent of speed parameter 5000).
One thing I was not able to achieve with those two messages was instant start of the pump, there was always annoying 3s delay.
So, I replayed messages from log posted here while ago and isolated message which forces instant start of the pump, it is 0x0300410e
In the log this message is sent with constantly rolling values of all bit but I found single set of values I can send to trigger instant start: {0x38,0x23,0xb8,0x36,0x47,0xc7,0x6c,0x00}.
This message can be sent with interval between 1-100ms in addition to two other message and my pump starts immediately.

I noticed when controlling speed with message 0x02104136, pump responds very slowly, it ramps up/down in few seconds.
I found out that pump responds instantly to message 0x0340412e but I do not know yet which bytes are responsible for speed. More research may be required to discover all the aspects of controlling this pump but what we have already is really useful.


----------



## arturk (Jan 19, 2017)

Folks, I made video on repairing of this pump. Perhaps some of you may be interested.


----------



## Nmstec (4 mo ago)

arturk said:


> Folks, I have been using Volvo Pump in my electric Jag for about 2 years in fail-safe mode but I was looking for way to control speed. Thanks to contributions of fine members of this forum I was able to add some control through my Arduino DUE based VCU.
> I wanted to share few observations.
> 
> With following messages: 0x02104136, 0x1ae0092c I am able to control speed between (I estimate) 50-100% for speed parameter 0-5000 (5000-6000 makes no change for me). In fail-safe mode, my pump runs at 50% speed (or equivalent of speed parameter 5000).
> ...


NMSTEC/Volvo_EPS_FREE (github.com) 

Heres your answer!


----------



## arturk (Jan 19, 2017)

Nmstec said:


> NMSTEC/Volvo_EPS_FREE (github.com)
> 
> Heres your answer!


Awesome! Thanks for sharing.


----------

