Looking at the hardware developer pdf, it looked like the EV3 should output a PWM signal with a duty cycle corresponding to power level. It does, but only for 100ms and only on pin 1.

Is that how the signal should look or is it because the EV3 know there's no motor attached?

I'd like to do this all in hardware if that's at all possible.

1 Answer 1


The hardware solution is to simulate the motor circuit on pins 5 and 6.

snippet of official LEGO motor schematic

There is a YouTube video by TechnicRobot that shows one way to do this.

wiring diagram from video

I'm not sure I understand completely the logic behind this wiring. Personally, I would just connect pin 6 to pin 3 directly and connect pin 5 to pin 3 using a 3.3k resistor so that it exactly matches one of the 4 possible states of an EV3 Large motor.

When you do this, the EV3 will detect your motor as an EV3 Large Motor. However, you shouldn't use the Large Motor blocks in the EV3 software. Since this hardware hack won't provide a position feedback signal, those blocks won't work correctly. Instead, use the Unregulated Motor block (one of the blue "advanced" blocks) to control the PWM duty cycle.

To get a PWM signal on pin 2, simply run the motor in reverse. It is not possible to get a PWM signal on both pin 1 and pin 2 at the same time using the official LEGO firmware.

For anyone looking for a software solution rather than a hardware solution, there are some similar questions that should be helpful:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.