Building an Electric Bike Motor (AC to BLDC Conversion)
by austiwawa in Workshop > Electric Vehicles
40 Views, 0 Favorites, 0 Comments
Building an Electric Bike Motor (AC to BLDC Conversion)
I recently built a custom DIY electric bike motor from an old drill press that was headed for the scrap bin. Instead of throwing it away, I converted the single-phase AC induction motor into a brushless DC (BLDC) motor capable of powering a bicycle.
In this Instructable, I’ll walk through the entire process, including:
• Rewinding the stator from single-phase to 3-phase
• Machining the rotor and adding permanent magnets
• Adding hall effect sensors and a temperature sensor
• Installing the finished motor onto a bicycle
If you’d like to see the full build process, testing, and riding footage, I documented the entire project in the linked video!
Supplies
This project can be adapted to many different motors, so the magnet size, wire gauge, and controller choice all depend on your specific design.
Motor Conversion Parts
• AC Induction Motor
Stator slot count must be divisible by 3
Used here: Drill press motor (single-phase AC induction motor)
• Neodymium Magnets
Size and count depend on rotor dimensions and pole count
Used here: Grade N52, 40 × 10 × 5 mm block magnets
• High-Temperature Enameled Copper Wire
Gauge depends on slot fill and current requirements
Used here: 23 AWG, 12 strands in parallel
• Hall Effect Sensors (×3)
Used here: AH3774-P-B
• 10 kΩ NTC Thermistor (optional)
• Fiberoid “Fish Paper”
• Solder & Flux
• Heat Shrink Tubing (various sizes)
• 10 AWG Wire
• 26 AWG 5 Conductor Cable
• Ring Terminals & Butt Connectors
• J-B Weld Epoxy
• Epoxy
• Cable Ties
• 3D Printer Filament
Used here:
Bambu Lab: PLA
Bambu Lab: PAHT-CF
Electric Bike Components
• Bicycle
• BLDC Motor Controller
Used here: Kelly Controller KEB48401X
• Battery Pack
Used here: 48V, 18.2Ah (13S7P I built with Sony VTC5 cells)
• Thumb Throttle
• Grin Technologies Cycle Analyst V3 (optional)
• HTD-5M Timing Belt
• Timing Belt Pulley
• Belt Tensioner
• 608 Bearings
• Assorted Metric Hardware
• Cable Ties & Clamps
• JST-SM Connectors
• Braided Expandable Cable Sleeve (optional)
• Assorted Wire
• 3D Printer Filament
Used here:
Overture: Easy Nylon
Sunlu: PETG Carbon Fiber
Bench Testing Equipment
• 30A ESC
• Servo Tester
• 3S LiPo Battery
• Multimeter
Tools Required
• 3D Printer
• Metal Lathe
• Drill Press
• Soldering Iron
• Wire Cutters & Strippers
• Punches
• Hammer
• Screwdrivers & Hex Keys
• Wrenches & Socket Set
• Chisel or Oscillating Multi-Tool (for removing windings)
• Sand Paper
Software Used
• Autodesk Fusion
• Autodesk AutoCAD
• Bambu Studio
Evaluating the Motor
The donor motor is a single phase AC induction motor from an old drill press. Internally, it uses a laminated stator with distributed windings and a squirrel cage rotor.
After opening the motor, I inspected the stator and found it has 24 slots. This is ideal because 24 is divisible by 3. The stator slots must be divisible by 3 in order to re-wind it as a 3-phase motor!
Removing the Original Windings
The first major task was removing the factory windings. These are tightly packed and varnished in place. I found that using either a hammer and chisel or an oscillating multi-tool work well for this task.
I carefully cut the copper flush with both faces of the stator and then used a hammer and punch to remove the remaining copper from the slots. This part was quite satisfying!
Designing the New Windings
Winding Configuration
My plan was to convert this motor into a 24 slot, 16 pole BLDC motor using a standard three phase winding pattern. I generated the winding diagram using the following winding scheme calculator.
The calculator only shows the diagrams for outrunner motors, but the winding layout is the same for inrunners like this one.
Wire Selection
For the stator windings, I used high temperature 23 AWG enameled copper wire. The main reason for choosing 23 AWG was simply that I already had a couple of spools left over from another project :)
I modeled the stator in AutoCAD and performed test windings to determine how much wire would fit in each slot. After a bit of experimenting, I settled on using 12 strands in parallel, with 4 turns per tooth.
With 12 parallel strands of 23 AWG wire, the total copper cross section is approximately 3.1 mm², which is similar to 12 AWG. I didn’t do any advanced electromagnetic calculations here. My goal was to ensure the motor could safely handle a reasonable amount of current without excessive heating.
Turns vs. Motor Behavior
The number of turns and the amount of copper in a motor have a significant effect on how it behaves:
More turns per tooth
• Higher torque per amp
• Higher back-EMF (lower top speed)
• Lower current for a given torque
Fewer turns per tooth
• Higher top speed
• Lower torque per amp
• Higher current draw
In this case, using 12 parallel strands with 4 turns per tooth wasn’t the result of a calculation. It was largely guided by test windings and practical experimentation (which fortunately worked out well in the end!)
Preparing the Phase Windings
The test windings also allowed me to calculate how much wire was needed for each phase. To prepare my wire spools, I clamped a wooden dowel to each of my workbenches. I then wrapped the wire around the dowels six times to create twelve strands, cut it free, and transferred it onto a spool (I then repeated this for the other two phases).
Preparing the Stator
To avoid scraping the enamel off the wire and ensure long term reliability, I lined each stator slot with fish paper. To protect the windings even further, I printed end rings out of high-temperature nylon (PAHT-CF). These rings prevent the wire from scraping against the sharp edges of the stator. It is important to use high temperature filament, as motor windings can reach high temperature's and potentially deform/melt plastics such as PLA.
To keep the windings neat and consistent, I also designed and 3D printed winding jigs that slide into the stator slots. They hold the wire tightly in place and make sure there’s enough room for all four turns without the wires crossing and bunching up. These jigs are extremely helpful when winding the stator.
Winding the Stator
With everything prepared, I wound the stator:
• Each tooth received 4 turns of the 12 strand bundle
• The jigs ensured uniform spacing and consistent tension
After finishing:
• Excess wire was trimmed
• Enamel was scraped from the wire ends
• Added solder to the wire ends
I used a multimeter in continuity mode to verify there was no shorts between phases.
The finished windings came out clean and compact. This process took a while, but I’m really happy with how it turned out!
Modifying the Rotor for Magnets
Alright, so now that we are finished with re-winding the stator, it's time to turn down the rotor on the lathe to make room for the magnets.
The magnets that I am using are grade N52 block magnets. These magnets are 40mm in length, 10mm wide, and 5mm thick. The rotor is also 40mm in length.
I turned down the outside diameter of the rotor from 64mm to about 49mm. I then designed and 3D printed a sleeve out of the high-temperature, carbon-fiber infused nylon (PAHT-CF). The sleeve slides onto the rotor and will perfectly house the magnets while maintaining an air gap between 0.5 and 0.9 mm (the air gap varies due to the magnets being flat).
I glued the sleeve onto the rotor using JB Weld, and before doing that I sanded the surfaces for a stronger bond. I probably used more epoxy than I needed, but I didn’t want to risk anything flying apart at a few thousand RPM... I let the epoxy cure for 24 hours before installing the magnets.
Installing the Magnets
I sanded the bottom of each magnet and glued them to the sleeve with JB Weld (flipping each magnet from north to south: NSNSNSNSNSNSNSNS). This part got messy, but it’s easy to clean up the excess epoxy before it dries. I also 3D printed jigs to keep the magnets compressed against the rotor while they dried.
The rotor turned out exactly as I hoped. It feels extremely solid, looks awesome, and fits perfectly inside the stator!
Initial Motor Testing
With the stator rewound and the magnets installed, I reassembled the motor and tested it using a sensorless controller and a servo tester. ESCs conveniently accept standard servo PWM signals, making this a simple way to control speed without a full RC transmitter setup. For this test, I connected the motor in a WYE (star) configuration, which is commonly used for BLDC motors because it provides a good balance of torque, efficiency, and lower current per phase. When powered, the motor spun up immediately with no issues, confirming that the rewinding and magnet installation had been successful.
Installing Hall Effect Sensors and Temperature Sensor
Installing the Hall Effect Sensors
Hall effect sensors are magnetic sensors that detect the presence and polarity of a magnetic field. They are used in BLDC motors to detect the rotor position and provide feedback to the motor controller. This feedback enables precise commutation and greatly improves low speed performance and startup behavior.
BLDC motors typically use bipolar latching hall effect sensors, which switch state when exposed to alternating north and south magnetic poles. By monitoring these transitions, the controller can determine the rotor’s position relative to the stator.
Most motor controllers expect the sensors to be spaced at either 60° or 120° electrical. The controller I am using can work with either, but I am going to go with 120° electrical spacing.
Mechanical Degrees vs. Electrical Degrees
Before installing the sensors, we need to determine the number of mechanical degrees that the rotor spins to make one complete electrical rotation.
Mechanical degrees refer to the physical rotation of the motor shaft
- One full revolution = 360 mechanical degrees
Electrical degrees refer to the magnetic cycle of the rotor
- One full north → south → north magnetic cycle = 360 electrical degrees
My rotor has 8 pole pairs (16 pole rotor) which gives us 45 mechanical degrees for 360 electrical degrees.
- (360 mechanical degrees / 8 pole pairs) = 45 mechanical degrees per 360 electrical degrees.
Since we want 120 degree placement we need to divide our equation by 3 which gives us 15 mechanical degrees per 120 electrical degrees.
- 45 mechanical degrees ÷ 3 = 15 mechanical degrees per 120 electrical degrees
This perfectly matches the slot mechanical angle which conveniently results in spacing the sensors just 1 slot apart.
- Slot mechanical angle = 360 degrees / 24 = 15 degrees
If you would like to learn more about hall effect sensor placement, I recommend reading this article by Jed Storey:
Hall Effect Sensor Placement for Permanent Magnet Brushless DC Motors
To install the sensors, I first soldered them to a 26 AWG, 5 conductor cable (power, ground, and three signal wires). Once wired, I glued the sensors directly into the stator slots using a general purpose epoxy.
Installing the Temperature Sensor
In addition to the Hall sensors, I installed a 10 kΩ NTC thermistor to monitor motor temperature using my Cycle Analyst. This provides real time thermal feedback and adds an extra layer of protection during testing and riding.
The thermistor was glued into the stator alongside the hall sensors using the same epoxy.
Finishing the Motor
Adding the Stator Wedges
Up until this point I have been using PLA wedges to keep the stator windings compressed and to prevent them from coming loose. I replaced these with high-temperature nylon wedges, which are better suited for the elevated temperatures a motor can experience during operation.
Soldering on the Motor Leads
To make clean and strong connections to the stator windings, I removed the insulation from butt connectors and crimped them onto the stator windings along with the 10 AWG motor leads. I then filled the connectors with flux and solder. Once cooled, each joint was covered with heat shrink tubing.
These thick connections require a significant amount of heat to form a strong solder joint. A butane soldering iron works especially well for this, as it can deliver much more heat than a typical electric iron.
Final Motor Testing
Next, I tidied up the wiring using a combination of heat shrink tubing and cable ties. With everything secured, the motor was ready for testing once again. This time, I connected it to a sensored motor controller and a 48V battery.
It’s worth noting that sensored BLDC motors have 36 possible wiring combinations between the phase wires and hall sensors. Because of this, getting the motor to run correctly often requires some trial and error.
Troubleshooting Tip:
If the motor jitters, runs roughly, vibrates excessively, or refuses to start, the hall and phase wiring is likely mismatched. Start by keeping the hall sensor wiring fixed and swapping two phase wires at a time until the motor runs smoothly. If needed, change the hall wiring combination and repeat the process. Many controllers also have an auto learn function that can simplify this step.
Once everything was wired correctly, the motor ran smoothly and reliably, confirming that the hall sensors were installed correctly.
Measured speed: ~3950 RPM
After testing, I cleaned up the motor and gave it a fresh coat of paint. At this point, I had a fully converted BLDC motor.
The next step: mounting it on the bike!
Bike Build
I am using single speed bike so that I can utilize the fixed sprocket to attach a pulley. It also simplifies the build not having any gearing.
Instead of using a chain, I decided to go with a timing belt drive. Since this motor would be running a fairly high gear reduction, a belt allowed me to 3D print a large, lightweight rear pulley.
I modelled the bike frame in fusion so I could accurately design the motor mount, wheel pulley, and connector box.
The rear wheel pulley was printed in nylon and uses a 160 tooth HTD-5M profile, which is the largest size that would fit on my printer’s build plate. The pulley fits over the fixed sprocket, but to secure it properly I had to remove the sprocket and drill mounting holes so the pulley could be bolted directly to it.
For the motor pulley, I used a 5M-22 tooth pulley with a ½ inch bore. Since the motor shaft is 14 mm in diameter, I enlarged the bore on the lathe and modified the keyway to accept 5 × 5 mm key stock.
The gear ratio with the 22 tooth pulley on the motor and a 160 tooth pulley on the wheel is 7.27:1.
The top of the motor mount clamps onto the frame and the bottom is secured using the threaded holes in the frame. This setup keeps the motor rigid and properly aligned with the rear pulley.
I used JST-SM connectors for all cable connections (not including power connections).
The motor controller and connector box are fasted to the bike frame using cable clamps. These clamps are super handy for mounting things to the bike frame.
The HTD-5M timing belt requires a lot of tension to avoid slipping. I ended up needing to add an additional chain tensioner in addition to the one on the motor mount. While this worked well in the end, if I were to redesign this setup I would consider using a belt with a larger pitch or a larger drive pulley to reduce the required belt tension.
I mounted the battery on an aluminum rear bike rack using velcro straps.
With everything installed, the bike was finally complete and ready for testing!
Riding and Performance Results
For initial testing, I limited the motor current to 30A. With 12 parallel strands of 23 AWG wire, the total copper cross section is approximately 3.1 mm², which is roughly equivalent to 12 AWG. This current limit was chosen to keep winding temperatures under control and prevent any damage.
Motor Performance
The motor performed far better than I expected for a converted induction motor. Acceleration was smooth, with no jerking or hesitation from a standstill. Torque was more than sufficient to get the bike moving quickly and climb hills without issue. Overall the motor behaved like a purpose built BLDC motor and not just an experimental conversion.
While the Cycle Analyst provides excellent real world electrical and thermal data, a dynamometer test would be an interesting next step.
Thermal Performance
I was able to monitor the motor temperature during testing with my Cycle Analyst. After a long 300 meter hill climb under sustained load, the motor temperature peaked at approximately 70 °C which is well within safe limits.
Regenerative Braking
I enabled regenerative braking using the motor controller. When letting off the throttle, the motor acts as a generator and feeds energy back into the battery rather than dissipating it as heat.
Cogging Torque
One thing I didn’t expect before starting this project was just how much cogging torque this motor would have. It’s actually pretty tough to turn the motor shaft by hand. Cogging happens because the strong permanent magnets on the rotor are constantly lining up with the stator slots, which creates that “notchy” resistance when you try to spin it manually.
Luckily, this doesn’t cause any problems while riding, but you can definitely feel it when pushing the bike at low speeds.
Conclusion
This project was a lot of fun, and it’s pretty amazing that a single phase induction motor can be transformed into a powerful brushless DC motor with some careful planning and patience. While the process was definitely time consuming and sometimes tedious, it was incredibly rewarding to see everything come together in the end.
I hope you were able to learn something new from this Instructable. Thanks for reading, and happy building!