I bought a brushless DC motor on ebay that contains a controller. It has five wires.

The wiring instructions provided are as follows:

Method of connecting wire

  • Red line: Connect the power positive pole
  • Black line: Connect the power negative pole
  • White line: CW/CCW control line, When disconnecting, the motor turns in one direction, connecting the negative pole with the black line, and the motor changes direction.
  • Blue line: PWM Speed control line, Connect 0-5v pulse width governor
  • Yellow line: FG signal line

I attached the power leads to 12 V

I fed in a PWM signal at 5V at 50kHz, 10 kHz, 2kHz Left the FG / direction wires floating or attached them to ground

Nothing happens. Am I missing something or is this a dud?


UPDATE! The blue PWM wire is broken! Opening the motor and sending signal to the controller directly makes the motor turn. It is the same as in Part 6 of the accepted answer. Thanks for all your help!!

  • 5
    \$\begingroup\$ As we always say here: no datasheet, no sale. \$\endgroup\$
    – Hearth
    Oct 13, 2021 at 2:13
  • 1
    \$\begingroup\$ colors are coded on the ebay auction ... what does that mean? \$\endgroup\$
    – jsotola
    Oct 13, 2021 at 3:51
  • 1
    \$\begingroup\$ The wiring instructions provided have been added. \$\endgroup\$
    – vu2nan
    Oct 13, 2021 at 7:06
  • 1
    \$\begingroup\$ How about no PWM, apply just 0 or 5 V to the blue wire? Any difference? \$\endgroup\$
    – winny
    Oct 13, 2021 at 7:24
  • 1
    \$\begingroup\$ Thanks vu2nan! I haven't tries 5v steady to blue - that's a good shout. 0v nothing happens though. \$\endgroup\$ Oct 13, 2021 at 14:18

1 Answer 1



The BLDC motor is in general easy to connect, and easy to test, as summarized below.

(1) You connect power,

(2) You input PWM signal,

(3) You leave direction wire disconnected,

(4) You leave FG (motor encoder signal) disconnected.

BLDC happily turns, and that is all.

But also see the warning in Appendix C.


  1. BLDC JGB3525 Motor - Aslong ¥80

  2. Bringsmart-24v dc motor with 12-1600rpm gearbox, 6-24v encoder motor for diy automation equipment

  3. How to debug new Brushless DC motor not working? [closed] - EESE, Asked 1 year, 2 months ago , Active 1 year, 1 month ago Viewed 1k times

  4. Nidec 24H677H010 12v 4800 rpm brushless motor micro brushless DC motor PWM motor


Appendix A - General BLDC Wiring Scheme

  1. DC Power: Red wire = DC 12V Positive (+) (Motor power positive) Black wire = DC 12V Ground

  2. PWM Speed Contorl: Blue wire = 0V, 5V PWM pulse

  3. CW/CCW Direction Control: Whie wire = floating, motor turns in one direction, = Ground (Black wire, DC12V gGround)

  4. Motor speed FG (Frequency Generator, encoder/feedback signa from motor: Yellow wire

Appendix B - Aslong JGB3521 Motor Wiring Scheme:

Red = Motor Power Positive (Warning: incorrect polarity will fry controller!)

Black = Motor Power Negative

White = Disconnect to turn in one direction, Connect to power negative to change direction

Blue = 5V PWM speed control 0~5V pulse

Yellow = FG (Frequency Generator, encoder/feedback signa from motor)

Appendix C - Wiring Warning

  1. Polarity of power connected to BLDC motor must be absolutely, unmistakenly correct: of course as usual, Red to DC positive (+ve), Black to Ground (-ve).


  3. Yes, I sometimes connect randomly, and my expensive US$10 BLDC randomly fry.

  4. Don't ask me how many BLDCs I randomly fried. :)

Appendix D - Destructive Testing of a BLDC motor

Ref - BLDC CW/CCW FG Signal 12V/24V GB25-3525 - Aslong ¥80

enter image description here

Part 1- Only red and black power wires are connected (all other wires disconnected), motor starts moving.


Part 2 - Power on, PWM and Direction No Connection, Using scope to display FG waveform

bldc test 1

bldc test 2

bldc testing

Part 3 - PWM control motor speed test results

I used my Rpi Pico mircoPython program to input various duty cycle 1kHz PWM signal to the BLDC motor and found the following results.

30% duty cycle ~= 125 FG (Encoder) pulses per second

50% duty cycle ~= 455 pps

90% duty cycle ~= 830 pps

So far so expected. Below are the scope screen captures.




And the duty cycle vs motor speed (encoder pulses per second) is rather linear.

dc vs pps

Part 4 - Direction control test

I set the direction wire to High and Low and found the direction toggles as specified. But this "toggle" spec makes me laugh, because it implies that you can not set which direction to start moving.

Anyway, I did a little test and conclude the following spec:

Direction signal High = CCW

Direction signal Low = CW

Part 5 - Using Rpi Pico and MicroPython to PWM control BLDC motor speed

Video = https://youtu.be/-omE34cMXj4

Test function =

def testBldcMotorV1():
    print('  Begin testBldcMotor(), ...')
    motorConfigDict = {'MotorDriverNum': 2, 'ChannelNum': 0}
    motorControlDict = setupBldcMotor(motorConfigDict)
    print('    Now start fast, ...')
    changeBldcMotorSpeed(motorControlDict, 'Normal')
    print('    Now normal, ...')
    changeBldcMotorSpeed(motorControlDict, 'Slow')
    print('    Now slow, ...')    
    changeBldcMotorSpeed(motorControlDict, 'Fast')
    print('    Now fast again, ...')
    changeBldcMotorSpeed(motorControlDict, 'Slow')
    print('    Now slow again, ...')
    print('  End   testSetupMotor(), ...')

Program listing and sample output = https://penzu.com/p/95b30513

Part 6 - Aslong BLDC Postmortem




/ to continue, ...

  • 1
    \$\begingroup\$ Oh dear..... that is what I tried and there was absolutely no response! I have always had the black to common ground between the two power supplies so can't seven say I have fried it. Thanks for your help! \$\endgroup\$ Oct 13, 2021 at 14:17
  • \$\begingroup\$ One more thing: FG is encoder output signal, so should not be shorted to ground, another way of frying your BLDC! :) \$\endgroup\$
    – tlfong01
    Oct 14, 2021 at 13:33
  • 1
    \$\begingroup\$ UPDATE! Given it wasn't working, I opened it and it is exactly the same as your number 6. The first thing I noticed was that there was a lot of loose metal shavings on the circuit board. I removed those but it still didn't work and it appears that the BLUE PWM wire is damaged. I can get the motor to turn if I attack the controller [pdf1.alldatasheet.com/datasheet-pdf/view/95558/SANYO/… PWM pin directly but the blue wire does nothing. \$\endgroup\$ Oct 22, 2021 at 16:06
  • \$\begingroup\$ (1) Your link is broken. (2) If the BLDC motor is OK, you can skip/by pass the built in controller and use an external DC motor controller (eg TB6612FNG) instead. (3) If the built in controller is only partially damaged, you can use MCU (eg Rpi Pico) GPIO pins to controller BLDC. Yes, I have done both, but it is time consuming, but of course it is worth it if your goal is DIY and learning. Happy learning. Cheers. \$\endgroup\$
    – tlfong01
    Oct 31, 2021 at 1:58

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.