LEGO Powered Up Connector

Recently (years, not decades) LEGO introduced a new family of motors, sensors and control system – it was and is a bit confusing, but whether you think of LEGO WeDo, Control+, Powered Up, Spike Prime or the new Mindstorms 51515 it is all based around common backbone and, especially, a common connector – a 6-pole non-stackable plug.

Which, by sheer coincidence naturally, is completely incompatible with the old Power Functions connector from LEGO, who also claimed not to intend to manufacture an adapter cable because reasons.

Before someone jumps at me: I do understand WHY. And no, I don’t mean ‘to sell all motors again’. There is a technical reason not to make an adapter cable. You see, when the Power Functions system was designed, the main source of power was a dumb battery box. Even equipped with a cheaply made switch, a 6AA battery box can withstand all the power draw that stacked multiple motors can realistically take and it is the batteries that will fade before the box melts. With PoweredUp the world is a bit different. The basic box is a remote control receiver, so its outputs are electronically controlled. They have limited output power and for that reason it is necessary to limit the amount of power drains (motors) that can be connected to a channel. So they decided to limit it to one. I’d expect the lights to have a stackable plug though, as the LED lights take minimal power, but that’s a different story.

Okay, so what about that connector, or why am I writing this post?

The PoweredUp family has several very interesting motors with speed and position feedback, but at the same time it can power a simple motor like the old Power Functions M-Motor, with smooth power control even if without actual speed regulation. So it would be great to be able to just replace the PowerFunctions battery box with, say, Powered Up Technic Hub and gain smooth remote control of your existing creations, isn’t it? How about not needing to buy all motors over again? Sounds good? So why don’t we buy a few Powered Up connectors… wait, what, not available?

They are proprietary.

There has been some reverse-engineering going about and the most important findings can be read on the famous Philippe “Philo” Hurbain’s website, specifically here:

What’s important for us is:

  1. The Powered Up system does not provide constant 9V output (so goodbye IR receivers and PF servos, you need the 9V supply!)
  2. The brick has direct motor output on pins 1 and 2 – we just need to connect the motor somehow
  3. To enable ‘dumb motor’ mode pin 3 (logic ground) needs to be connected directly to pin 6 and through 2.2kΊ resistor to pin 5 (‘WeDo 2.0 motor’)

Funny enough, even the dumb motors (like the WeDo 2.0 motor) have all 6 wires going to the motor and only there the identification wiring is done. In my case I opted to put all the components within the plug and lead out only the two power wires of the motor.

So I went ahead and designed a 3D-printable connector that is compatible with the Powered-Up sockets.

Rendered CAD design of the connector

The size is exactly that of a LEGO connector, with one limitation: the LEGO connector has a cutout to let a folded cable leave the connector upwards making the depth when plugged exactly 1 stud. Since this connector needs to be soldered (LEGOs is crimped), it needs a tiny bit more space inside, so I opted to provide two exits for the motor cable: straight out or at 90° angle, you choose which way to build it depending on your preference and integration concept.

To make this connector you will need a very well calibrated and accurate 3D printer. The tolerances are tight and if the dimensions are even a bit off you will not be able to get the contact pins in.

Connector straight from the 3D printer

This is how it looks like when printed. There’s a slot on the underside the purpose of which will be clear in a moment.

The electrical contacts are made out of pins pulled from a standard goldpin connector (0.6mm square pins). They are inserted from behind (from above in the picture) and need to be pushed in until they reach their stops. The ground pin does not have a stop, it should reach the front edge of the plug – ground shall make connection before other pins do.

Connector underside

Now the slot is there to put a drop of thin cyanoacrylate glue to secure pins in place. This is not a very strong fix, but will help pins from lifting. Don’t glue them just yet, as soldering will destroy the bond.

Populated plug – 90° cable exit

Now comes the hard part – and I do mean it’s really tricky to get it all soldered up. It’s tight. If you are not very proficient at it, it may be better to clip the back wall of the plug out.

From left to right: Motor A, Motor B, Ground, VCC (unused), ID1 (connected over 2.2kΊ to Ground), ID2 (connected directly to Ground). If you want your motor to act as if it was a train motor, connect ID1 to VCC directly, save the resistor.

Plug sealed with resin

Since the place is so scarce, I opted against some sort of a lid and instead sealed the plug with UV resin. This way there’s protection against shorts within the plug and the whole thing becomes more mechanically stable. And let’s face it: it’s easier to reprint the plug than to disassemble it without melting the plastic in the process.

Splicing it in

Whether you replace a PF connector on a motor or – like I did – cut a chinese clone extension cable in half to make an PUP-PF adapter, you need to use the two middle wires. The outer wires carry 9V constant power, which is not available with PoweredUp control bricks.

Wiring to keep Medium motor to spin the same way like WeDo motor does

If you splice this plug into an PF extension cable, best keep the polarity like in the photo above. This way a PF M-Motor will behave exactly like the WeDo 2.0 motor does (spin direction wise).

Voila. Now your WeDo / Technic / City hub will see your PF motor as a simple WeDo motor and you will be able to control it with your phone app or (City Hub) with a hand-held radio remote.

If you wish to try this yourself get the STL

(if you get 404 not found by clicking the link above, try and look on the list of my creations, if this also fails, open manually first and then re-click the link)

This is how both writing options look like when plugged in
This entry was posted in LEGO, Powered Up, Spike Prime/Essential and tagged , , , . Bookmark the permalink.

124 Responses to LEGO Powered Up Connector

  1. Marek Lewandowski says:

    PrĂźfe Deine Mails 😉

  2. Matioooo says:

    Great job! Could you please send me files too?
    Thanks 🙂

  3. Marek Lewandowski says:

    Yes, it still exists

  4. Marek Lewandowski says:

    Check your mail.

  5. Marek Lewandowski says:

    Check your mail.

  6. Marek Lewandowski says:

    Check your mail.

  7. Marek Lewandowski says:

    Check your mail.

  8. Marek Lewandowski says:

    Check your mail.

  9. Marek Lewandowski says:

    Check your mail.

  10. Marek Lewandowski says:

    Check your mail.

  11. Marek Lewandowski says:

    Ich heiße Lewandowski, wäre nett aufzupassen, wenn man schon etwas haben möchte, nicht wahr?
    Check your mail. I don’t share the CAD files.

  12. Marek Lewandowski says:

    Check your mail. I don’t share the CAD files.

  13. Bart van der lee says:

    Heel mooi artikel. Kan ik het stel bestand ontvangen?

  14. Jim Lewis says:

    nicely done, I have some prewired LPF2 plugs to open ended cables, so i will try to work out how to make a terminal connector that motors can plug onto.

    From what you have said here, making the LPF2 hub think this is a dumb motor is as simple as making the connections with the resistors.

    What is the case for sensors? Specifically I would like to be able to make cheap touch sensors, on/off, as the force sensor is more sophisticated than I need and I think adapting existing Lego touch sensors should be possible within the paage (NXT/EV2 at least).

    However, I don’t know how to make the hub ‘see’ a touch sensor (well force sensor I guess but only returning min/max values). I presume it is not as easy as resistance connectors. Do you know?


    • Marek Lewandowski says:

      sensors need to communicate with the hub over serial connection. There’s no ‘dumb sensor mode’ on the LPF2 system.

  15. Tony Goodman says:

    Hi, your adapter is exactly what I need. Can you please share the circuit diagram?

  16. DoDo47805 says:

    Nice work! I want to build my own PF to Powered Up adapter, could you please send me files too?

  17. Douenburg George says:

    have you a link to print the he Powered Up connector

  18. Lukasz says:

    Dear Marek,

    Great job!
    Which type of printer have you use to print the connector?
    It looks /seems to be/ very accurate.
    Could you please share the stl file?


    • Marek Lewandowski says:

      Link to Thingiverse is in the article.
      The printer is Prusa i3MK2.5, but the crux is in the design taking print limitations into consideration

  19. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  20. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  21. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  22. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  23. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  24. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  25. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  26. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  27. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  28. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  29. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  30. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  31. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  32. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  33. Marek Lewandowski says:

    Link to Thingiverse is in the article.

  34. Marek Lewandowski says:

    Link to Thingiverse is in the article.
    My name is spelt Lewandowski.

  35. Jiří Štefan says:

    Good day,
    unfortunately the link is not working

    Štefan Jiří

  36. kukord says:

    link is dead (404). Could you reupload it

    • Marek Lewandowski says:

      It is online, it’s just Thingiverse serving you 404 for a random reason.
      Visit manually and THEN follow the link, it should work.

  37. David Lechner says:

    Instead of using a resistor, you can instead connect pin 6 to pin 4 to make the motor identify as a train motor. This makes wiring simpler and still works mostly the same with connected apps.

    • Marek Lewandowski says:

      Yes, with the accent on ‘mostly’. For example WeDo hub will reject such a motor.
      Also, it will behave differently with a remote: with the resistor it’s press-on release-off control, with config as train motor the motor stays on.

  38. mitch says:

    Hi Marek
    I’ve got an 80’s TEKNIK kit plus recent motors, and want to use them on an AZrduino based car.
    I see your stl file for the plug is available but do you have a STL file for the socket

    • Marek Lewandowski says:

      Sockets can be had for cheap from AliExpress etc.
      Making them requires procuring spring contacts which isn’t easy thing to do.

  39. Rafał says:

    Hello, can I connect the “Buggy Motor” this way?

    • Marek Lewandowski says:

      If i remember correctly, the buggy motor is a rather powerful beast. The lpf2 system generally is built for 500mA per per port MAX. I’d say the buggy motor is likely to blow through that limit mercilessly. Original lpf2 motors have a polyfuse in line to protect the hubs. You could put a 500mA polyfuse in series with the buggy motor and see, how far can you get with this solution.

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.