Before I buy, I have a few questions

I’ve got what may be an odd project here. I’ve put a Toyota Prius electric power steering motor (the electric motor in the steering column) on the column for a 1967 Ford Fairlane car. It currently works in a fail safe mode as there is no can bus network obviously. In fail safe mode the electric power steering (EPS) module only gives a minimal assist level, as if the car was moving over 43mph, which isn’t quite enough assist on rough concrete or asphalt while sitting still but works wonderfully if you are rolling along at idle.

If it will work, I plan on wiring up a OBD II connector under the dash and running it’s canbus wires to the appropriate connector on the EPS module and terminating each end with a 120 ohm resistor. Then plugging the carloop into the OBD port and programming it to transmit a RPM and vehicle speed signal which will hopefully wake the EPS module up and allow me to vary the assist to my liking by inputting a set vss signal (0-10mph is max, 10 to 43 is medium, 43+ is minimum steering assist. I do have access to a running Prius that I could read can data off of if more is needed. A guy on another site used a non abs equipped Toyota Yaris EPS module which is very similar, the only difference being the non abs yaris gets a speed signal from the dash cluster without the can bus and the prius uses the can bus data from the abs module to get speed signal. But he had to wake it up with a can bus signal of the engine rpm.

It looks like I could buy the carloop setup and have a basic canbus with it and the EPS as two modules then modify the basic transmit app linked on the main carloop page to transmit more than just one canbus message. Does this sound like it would work? (from a hardware standpoint)

@TimC,

Sorry for not responding quickly, but I have had some non-electronic projects lately (post-tornado roofing was the priority).

You may call your project odd, but I think it is an awesome idea. I have driven a 1972 GMC pickup truck; there was no power steering or power brakes in those days. You have to be in good physical shape to drive vehicles from that generation!

I think your idea will work fine. Of course, the devil is always in the details, but that is what the community is for helping out with. You actually have more flexibility than you indicated in your post. You do not have to put the OBD port under the dash; you do not necessarily even need an OBD port. Something like the CAN-hitch can also do the job. You can do it the way you want. I would keep the electronics inside the cabin to keep them protected. You have already considered termination on the CANbus, so that is good.

Here are a few more things to think about that I came up with:

  • How much power does the alternator in that car produce? You need enough power to run the EPS and the rest of the car. For example, rally cars in the 90s had to upgrade the alternators to run all the extra headlamps for night stages.

  • Have you considered a way to sense the actual speed of the car? If your car uses a speedometer cable (the cable spins inside its sheath), then a sensor like in this link could be used:
    https://www.brantz.co.uk/product-page/brantz-speedomete-cable-sensor
    That is just an example; that company also has other types if you need other ideas.

  • Have you considered a way to sense the actual RPM of the engine? This might come back to electrical power. The alternator might not generate enough when running at low power.

  • In your the firmware for the Carloop, you can manipulate the speed and RPM data before you send it out to the EPS module; this could be done to increase or decrease the steering power boost. That way you can customize to get the best driving experience.

Just a note from my experience. If the EPS is not working, then it puts an even heavier load on the steering wheel. I recommend doing some tests with the EPS installed but disabled to see if you still have the strength to safely steer. There was a recall on a 2010 model SUV for exactly this reason.

When you get it going, please share your project!

Thanks for the response, sorry to hear about your tornado damage, I’ve been through two hurricanes in the last month, so I can relate, fortunately we had little damage. I’ll look at the CAN-hitch also and decide which would work best for me. I planned on everything being under the dash, that’s where the EPS module and motor already are mounted.

As to the other points you raise, I’ve already installed a 130 amp modern alternator on the car. I have an oil cooler with electric fan, and modern stereo setup, newer H4 headlights, and eventually plan on Megasquirt EFI, so the alternator was upgraded with this in mind.

I have thought of sensing the vehicle speed, I can actually buy a new rear pinion yoke with a tone ring and mount a variable reluctance speed sensor to the axle housing. They sell those parts already for the Ford 9" axle since lots of racers can use them for datalogging, that would simplify things on my end as it would be less fabrication. I have a tachometer output on my current MSD ignition box, and it is running an aftermarket tach. I could sense engine RPM with that. Could anyone point me in the direction to look to read those inputs and convert them to CAN-bus messages? Is that something that the photon processor already does? Sorry about the questions but this is rather new to me, I am an auto technician, and have a pretty good understanding of Can-bus due to diagnostics, but this programming and hacking stuff is new to me.

I was going to add the ODB2 port anyway as I can use my Snap-On scan tool at work to diagnose the EPS if something were to go wrong with the power steering, I’d just have to tell it Im working on a 08 Prius when I plug it in. That would let me pull dtc codes and see the live data that the EPS is putting out such as the torque sensor voltages. I should also be able to recalibrate the EPS such as recentering the torque sensors, etc. But if the CAN-hitch would let me connect also, I’ll probably run it as it could be in a dedicated project box leaving the obd port open for diagnostics without removing it. Then I could possibly read the datastream it was putting out too for diagnostics.

And finally, yes I can still steer the car with the key off sitting still, so I should be able to get it off the road as it is definately easier to steer if it is rolling if there is a EPS failure. The car drives pretty good with the EPS in fail-safe, but I’d like to get a little more power from it, and this looks like the way to do that. On the other forum I mentioned on my first post, a guy got his Yaris EPS to quit throwing an missing can-bus code (and therefore going into failsafe) by simply broadcasting an RPM signal over can bus with a different module similar to the carloop stuff.

@TimC,

It should be pretty straight-forward to get the Photon reading the tachometer and the rear-end of the car. These devices are meant for low-level interfaces and have lots of GPIO (general purpose input/output) pins which can be interfaced to sensors and actuators. What is also cool is that the Photon supports a number of different interfaces such as CANbus (the whole point of Carloop), SPI, I2C, Serial, etc. We should be able to get the Photon to read some sort of sensor to get the tachometer and speed information. Once it has that information calculated, then it can send out a CAN-bus message through the Carloop.

It sounds like you have already though through quite a bit of this. Based on what you are saying, it looks like the Carloop is the better choice (rather than the CAN-hitch).

By the way, I assumed the power steering module would be under the hood. Given that I was wrong, it does make sense to keep it all under the dashboard.

1 Like

If you think I should make a new thread or move this one to a different category for better views, let me know.

Well I’ve already purchased and received the CAN-Hitch and a separate Photon. My thoughts are to install the CAN-Hitch, the Photon and a Car lighter to USB adapter guts (as a power supply) inside a project box and put it under the dash as a separate CAN node or module. I’m still in the design and getting used to the equipment/programming phase right now. I figure this can be a winter project for this car.

I have been driving the car for two months now with the Toyota EPS in fail-safe mode since it doesn’t see a CAN-bus connection. It throws a code for missing ABS ECU CAN-bus data. When it doesn’t see a CAN message after about 10 seconds it goes into fail safe (minimal assist) or limp in mode. Basically gives the Prius owner enough power steering assist to get to a shop. Fortunately the Ford manual steering gear box has extra gear reduction vs the Toyota rack, so the car doesn’t steer too bad unless you are at a dead stop on rough concrete.

I currently have a twisted pair of wires with a 120 ohm resistor on each end that run the length of the Ford’s dashboard. The Toyota EPS module is spliced into the twisted pair right at the resistor on the left side of the dash. I have the Toyota OBD2 connector mounted roughly in the center of the dash. I plan on mounting my CAN-Hitch/Photon module on the right side of the dash under the glove box where there is more room. I already have the wires for the CAN-Hitch spliced in by the right side terminating resistor. I can use the Toyota OBD2 connector to read and clear codes, see live data, and re-zero the torque/angle sensor in the column using my Snap-On scan tool. I figure by using the CAN-hitch I can use my scan tool to read the wheel speed or engine rpm signals off the CANbus, if I have it programmed right the Scantool should interpret the data from the hitch just as if it was coming from the ABS or ECU as that is what the EPS is looking for.

BTW I am an auto tech, so I have a pretty good understanding of CAN networks from a diagnostic standpoint. I have a decent understanding of electronics such as resistors, capacitors, diodes, transistors, etc. I can read electrical schematics including electronics but don’t really know how to design an electronic project (like flip flops or counters, etc) I did take some programming classes in high school 20 years ago where I learned BASIC and C++ but I haven’t used that stuff since then so it’s fuzzy but coming back as I go.

I think my first plan of attack with this project is going to be, after I get a little more experience building basic Photon LED projects of course, will be to hook the CAN-Hitch/Photon (I’ll call that the simulator module for ABS/ECU simulator) up to my crude CAN bus and see if I can output a simple message such as “Engine speed 1000 rpm, Wheel speed 0” Then wheel speed 30 to see if it will “wake up” the EPS instantly at key on and change assist levels.

IF I can get that working then I will order the sensor for the rear axle. I don’t think I really need to output the engine rpm unless it freaks the EPS out that the engine is idle and the wheel speed is high. I don’t think that would be an issue though. I started a thread on the Particle.io forum about the hardware side of the photon and the sensor and the response was that the sensor I would use should be fine going to the photon directly. It is a hall effect switch with a 5v input voltage that will read a ring bolted to the rear pinion yoke with 4 magnets.

No need to make a new thread; the discussion is following its course.

It looks like you have everything well in hand at this point. Keep working away at it.

Let us (me?) know if you have any questions or you want part of your project reviewed.

By the way, can you link to your post on community.particle.io? I do not recall seeing your discussion there; or else I did not realize what it was when I saw it.

Here is the link to the particle thread:

I did start a new thread here but it hasnt been answered yet. I was wondering how the can-hitch was wired up. I saw a picture on the can-hitch store page that shows it on a breadboard and the rx pin seems to go to d0 on the photon, but photon pinout shows the can rx pin is d2.

I will wire the 3v3 pin on the hitch to the 3v3 pin on the photon, gnd to gnd obviously. But I think the hitch tx pin shoud go to d1 and rx to d2 (as opposed to d0). Is this correct?

I plan on trying to prototype it out in the next week or so and test it. I plan to modify the simple CAN transmit code onb the sample app to output a simple message that would translate to RPM = 1000, MPH = 0 and also another program with it outputting RPM=1000, MPH = 30. That will tell me if the EPS module will “wake up at key on” and not enter failsafe. If it works the steering should have a higher assist level than it does now and work instantly at key on. If all this works then I can order the hall effect sensor for the rear axle and start figuring out the coding to read it and change the output.

@TimC,

Yes, I did miss your thread on the particle community. Not sure how I missed it…

@Scruffr has some really good advice for you there.
I always recommend reading what he has to say at least 3 times. There is usually an important detail in what he says that may not be apparent if you read quickly.

It looks like so far that you are figuring things out. My guess is that you are going to find success with this fairly quickly.

1 Like