Upgrade/Replace Brushless Motor Magnets





Introduction: Upgrade/Replace Brushless Motor Magnets

I have salvaged quite some motors from old printers and used them for various projects, but these usually use inferior ferrite magnets (Like those flexible fridge magnets). They are not very strong so the motor strength is limited.

An easy way to increase the torque of your motor is to replace the magnets with neodymium magnets.

Step 1: Figure Out How to Take Off the Rotor

This is probably the hardest step, because every motor is different you might have to fugure out how to disasseble the motor youreself. I have encountered two ways the axle is fixed, they are both pressure fitted. The first one you can just take a hammer and hit the axle out. On the second the top part of the axle is wider so it won't come out. What I did was grind off the top with a dremel and hit it out with a hammer the same way I did with the first.

Step 2: Removing the Magnet.

Now you have to remove the magnet inside the motor. The motor has multiple poles, the original motor has 8 poles, you can increase the number of poles to increase the torque but it will decrease in RMP. If you want more speed you can decrease the amount of magnets. You can test how many poles your motor has by sticking magnets on the ferric material.

I removed the magnet by getting a screwdriver behind it and just prying it out. afterwards I sanded it. (sorry, I don't have pictures of this)

Step 3: Inserting Neodymium Magnets

As you can see the thickness of magnet also varies between motors you want to have your magnets as close to the rotor as possible to decrease the magnetic resistance in the air.

I bought my magnets for the first motor at a thickness of 1mm but I can probably fit 2mm ones in this new motor.

The magnets I bought from Aliexpress:


I actually would not recommend this seller because some of the magnets were cipped and are generally of bad quality. (But they are cheap :)

Your magnets will probably not fit snugly beside eachother so you will have a make some spacers I just used some matchsticks and cut them to shape to fit. in every gap there is about one and a half matchstick.

To secure the magnets I would recommend you glue them in place. I have just put some double sided tape on the back but this will probably not last long.

Step 4: Putting the Motor Back Together

This can be quite fiddly because the magnets will attract the stator and it can be a challenge to get the axle and stator to match up. I put transparent tape on the inside of the magnets to keep them from scraping against the stator. once you have the axle in the hole of the stator you can just hit the axle a few times with a hammer.

Done! Upgrade complete :)

Step 5: ESC Upgrade Help?

Next I want to upgrade a cheap speed controller to work with up to 30 volts they normally only work with 3S batteries (12v) but all the components are rated for 30 volts or up so it should be possible (Probably just by changing some resistor values)

If anyone can help me with this, that would be greatly appreciated.

For instance if you have schematics of a 6S ESC that uses an atmega8, please post them!

(The ESC here is a standard 30A esc that you can get for about 4 dollars of Ebay)



    • Science of Cooking

      Science of Cooking
    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Spotless Contest

      Spotless Contest

    We have a be nice policy.
    Please be positive and constructive.




    Cool. It's always interesting to see what is inside everyday electronics.

    It's usually what gets people interested in the first place. I remember the satisfaction of connecting two wires to an EveryReady zinc carbon cell and getting a torch bulb to light up. Never looked back. Hacking into manufactured electronics gives you an idea of just how much effort goes into designing stuff, right down to picking the right screws.

    I assume that when attaching the magnets, that one must alternate N and S poles? Unless you have a fancy gaussmeter, take any magnet and mark one face of it. Use this to test all the other magnets and arbitrarily mark the face that attracts or repels. Actually an inexpensive polarity checker is a Hall Effect sensor. The one I use is unipolar sensing and sensitive to a S pole approaching (off at zero flux and on for flux greater than...). My reference magnet that activates the sensor (I have a LED on the output) has this face marked "S". When using this to test other magnets, the face that repels, is also S.

    ESCs usually aren't too difficult to reverse engineer unless the vendor has sanded off all the parts markings. Some of the smaller SMT passives don't have any marking anyway and must be unsoldered to test with an appropriate RCL meter.

    Yes, I forgot to put this in the document but you are right. I alternate the poles every time so next to one magnet that has north facing inwards there is one with south facing inwards.

    The problem that I have now with the ESC's is that I get some unexpected behavior.

    I checked if the motor will run at 30 volts, so I hooked it up to a variable voltage source and increased the voltage from 12v on startup to 30 volts and it works fine when I don't try to change the speed. Only when I try to throttle down and then back up it doesn't work. And when I try to attach a 30v source directly to the ESC it won't boot up.

    First I tried just changing the voltage divider that checks the battery voltage, It will now boot up but not throttle up, the motor spazzes out (probably a timing issue with the controller).

    So the second thing I did was change the feedback voltage divider. Now it will boot and run for a few seconds and then slow down until it stands still.

    There are many more details of the motor construction that determine the way the magnets must be placed. The winding configuration must be such that all the coils in a phase have the same (or similar) relation to the magnets, or the forces will not "add up" within the motor. Most motors of this type are of "high pole count" type. Each coil links only the iron between 2 adjacent slots. There are usually either 6, 9 or 12 slots. The number of magnets must be even and "close" to the number of slots. So 9 slots/8 or 10 poles, and 12 slots/14 or 16 poles is common. The number of poles must have at least one factor of 3 not common to the number of slots (so, for example, 9 slots/12 poles is OK as they have one factor of 3 in common, but the 9 has a factor of 3 "left over" that 12/3 does not have).

    The safest thing to do is match the number of poles the original motor had, unless you want to study the details of the winding.

    As this is a brushless DC motor, what is being used for commutation? ie, does the motor have rotor position sensor like Hall effect sensors - or does it commutate based on back-emf? If it is the latter, the uP or dedicated motor controller if there is one, senses the voltage on one of the phases and makes decisions based on that. With a BLDC, two of the phases are energized and one is off at any given time. The phase that is not energized has a back-emf related to speed and rotor position... Perhaps you have to identify the voltage dividers on these and make sure that the resulting voltage is within the range of the controller's ADC. (btw- I am an electrical engineer)

    The motor controller uses the back-emf method. What I meant by the second thing I did was I changed the voltage divider of the feedback (like you suggested).

    The board looks just like this schematic I found:


    The original voltage divider was with 12k (10k in schematic I found) to ground and 33k to signal. (which makes sense if back EMF is around 12v) I changed that to 4.7k to ground and 33k to signal.

    The signal goes to the input of the microcontroller via a 33k resistor, I don't know why, is that just protection? (I tried bridging this resistor but it still spazzes out)

    However, I can't replicate the same starting up of the motor and then slowing down that I mentioned in my previous comment. When I try it now it just starts spazzing out again. (I played around with resistor placements and values that day so I don't know for sure when that happened)

    What I also found peculiar is that one of the back emf pins on the microcontroller is not an analog pin.

    What voltage can I expect for back EMF, is it generally a lower or higher voltage than source?

    I am actually a second year Electrical engineering student :)

    I believe that there has to be a match between the motor power sense and the BEMF sensing since the relevant signal is Motor+ (-) phase bemf.
    I did a search for "atmega8 bldc controller" and got a few hits. This one has a description


    Some controllers monitor with the analog inputs. Some with a comparator input. It's all code dependent.
    There is a certain amount of tuning involved where the the controller is tuned for a motor with a given bemf constant. If your original motor worked with the controller and the modifed motor does not, it is likely because the stronger magnets will result in a higher bemf constant. Hope this helps...


    I am wondering if anybody knows of some way to control an ESC without an RC receiver and remote control. I would like to use these motors in some simple projects around the house but rather than to control them like in an RC plane or car I would like to change their speed with a potentiometer for example. Is there any easy way to achieve this? Some circuit to give the correct type of input pulses to the ESC?

    Normally, these motor controllers use a standard servo PWM signal to operate. You can use a micro-controller, or a 555 timer with a pot control to generate this signal. Typically, signal goes between 0 and 5 volts, and has a rep rate of about 60 Hz (not critical), and a "high time" that varies between 1 milli-second (for extreme "low"end of control range) to 2 milli-seconds (for the extreme "high" end of control range).