Connecting/Controlling Lego Technic Power Function motors

Is there a way to connect/control “normal” (not Mindstorms) Lego Technic Power Function motors by BrickPi? We have some Lego Technic sets having motors like this: http://lego.wikia.com/wiki/8882_Power_Functions_XL-Motor and it would be nice to be able to use them.

Hey zsuri, I’ve been thinking about this a lot. You should be able to wire one up to the motor controllers that are on the BrickPi, but that’s tricky. We were thinking about a way to adapt the PF functions to the NXT motors in general, and we haven’t come up with a great solution yet.

If you’re comfortable with sacrificing one and wiring it up, it should be workable.

Can you give me some hints/links how to wire the motors to BrickPi?

Lego used to make a cable for this, but it’s discontinued and hard-to-come-by on Ebay. Lego part number 8528, original page for it is here: http://shop.lego.com/en-US/Converter-Cables-for-LEGO-MINDSTORMS-NXT-8528?p=8528

There’s a couple of other options:
Mindsensorts PFMate and the power functions IR reciever (this requires a shed load of extra components, is relatively laggy, would require writing a brickpi-PFMate interface i2c code and also basically means you’d need to add a power fucntions battery pack. So I don’t think that’s the ideal solution… (PFMate: http://www.mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=107 )
Is one, making up some cables is the other; wish I had one of 8528 to tear apart…
For reference, you can make a crimping tool and acquire the right connectors for the NXT ports. I just us 4P4C RJ11 connectors and snip the clips off, leaving just enough that they’re a tight fit.

http://www.ebay.com/itm/LEGO-MindStorms-Technic-NXT-RCX-Converter-Conversion-Cable-x1676-/271373002922?pt=Building_Toys_US&hash=item3f2f1768aa $12.99 per cable on ebay.

Plus the pics on this auction imply you can just link directly where the lego official cable appears to have some unknown circuitry in a box inline. Should be fairly trivial to get a multimeter on a NXT cable, then do one on a PF motor and work out which lines to link; might have a quick go tonight.

I don’t know the connections for the power function motors. Philo gives a great intro to NXT power, the BrickPi is wired the same way:

http://www.philohome.com/nxtpwr/pwr.htm
In particular, this diagram: http://www.philohome.com/nxtpwr/schema1.gif
Note the Motor power are the black and white wires.

Also might be helpful: A schematic for our Breadboard Adapter.

I’ve put one of these together now, it was pretty easy but probably only valid for PF motors. I just pulled apart the plug on one end of a power functions cable, and snipped the end off one of my NXT cables. Then poked wires 1&2 (the leftmost 2 when holding the plug pointing away, clip side down) into the forks on the center 2 pins (2&3) inside the power functions plug. The wire’s much the same diameter so they pierced the sheath as they should. Then I just pushed the power functions plug firmly back together.
That was enough to give me variable motor speed in both direction by simply treating it as a NXT motor.

Thank you for the instructions, I prefer the direct connection with cable. Controlling the PF motors is enough, I will try out your solution Shao. I am sorry that I didn’t answer your posts but I didn’t get any notification about it.