Close
0%
0%

PCB Motor

A smaller and cheaper open source brushless motor

Similar projects worth following
My open source PCB motor is my attempt to build a smaller, cheaper and easier to assemble micro brushless motor.

What unique about this motor design is that the stator is printed on a 4-layer PCB board. The six stator poles are spiral traces wounded in a star configuration. Although these coils produce less torque compared to an iron core stator, the motor is still suitable for high-speed applications.

It also has a 16mm diameter, 1.7mm thin 3d printed 4-pole rotor. So the total thickness of this axial flux motor adds up to 5mm (excluding the shaft) and weighs 1.5 grams.

The inspiration for this idea came from trying to build smaller and cheaper drone. Making the motor onto the PCB itself will reduce the overall price of any tiny robot, allowing swarm robotics to become more affordable.

My PCB-Motor is made from a 6-pole stator printed on a 4-layer PCB and a 4-pole 3d printed rotor. Its has an outer diameter of 16mm and is rated at 1 watt. 

I had this idea when I was trying to design a small compact drone. The PCB motor is much cheaper than other micro brushless motors and also easier to assemble. My goal is to make the rotor part of the BOM and mounted just like any other component on a PCB. 

VIDEO

HACKADAY SUPERCON DEMO

RAR Archive - 151.40 kB - 06/04/2020 at 20:41

Download

6-layer PCB Motor Gerber Files.rar

Gerber files for my 11mm diameter 6-layer PCB Motor

RAR Archive - 46.53 kB - 11/07/2018 at 16:52

Download

ESC BOM.JPG

BOM for my PCB motor brushless ESC with Hall sensor feedback

JPEG Image - 59.80 kB - 10/22/2018 at 04:42

Preview
Download

PCB Motor ESC Gerber Files.rar

Open Source Gerber Files for my PCB motor brushless ESC with Hall sensor feedback

RAR Archive - 171.61 kB - 10/20/2018 at 17:47

Download

PCB Motor ESC Schematics.JPG

Open Source Schematics for my PCB motor brushless ESC with Hall sensor feedback

JPEG Image - 61.15 kB - 10/20/2018 at 17:45

Preview
Download

View all 6 files

  • 1 × 3D Printed Rotor
  • 1 × PCB Stator
  • 4 × Magnets (5mm diameter x 1mm thick)
  • 1 × Shaft (1.5mm diameter)
  • 1 × SMF681X-ZZ Bearing

  • FlexPCB Motor + Steel Stiffener Test

    Carl Bugeja10/08/2021 at 06:53 1 comment

  • Version 4

    Carl Bugeja08/05/2021 at 17:36 0 comments
  • PCB Motor Wheeled Robot v1

    Carl Bugeja05/19/2021 at 12:42 0 comments

  • PCB Motor v3

    Carl Bugeja06/05/2020 at 16:12 1 comment

  • How to design a PCB Motor?

    Carl Bugeja04/10/2020 at 13:46 0 comments

  • Rotor Flux PCB Motor

    Carl Bugeja07/13/2019 at 17:22 0 comments

    This video shows my attempt in trying to design a rotor-flux brushless pcb motor prototype:

  • SPEED!

    Carl Bugeja06/04/2019 at 00:59 0 comments

    How fast can my PCB Motor go? 

  • CORE PCB Motor

    Carl Bugeja01/07/2019 at 19:06 0 comments

    Check out this teardown of the CORE-PCBMotor!! I came across this motor a few months ago, after a few people who saw my design sent me their website's link. There's not much information on it and its also patented but this guy managed to take it apart and review it.

    http://build-its-inprogress.blogspot.com/2018/12/core-outdoor-power-pcb-motor-teardown.html

    I have no idea why they decided to use it for a lawn trimmer (there's much more interesting applications) but its very interesting to see how it was designed, the way the windings are connected and that it has sufficient torque to rotate a blade!

  • Smallest PCB Motor

    Carl Bugeja10/31/2018 at 00:11 0 comments

    My SUPER tiny 6-layer PCB Motor is spinning! Here's the full video describing how I designed it:

    My original 4-layer PCB motor had a 16mm diameter. By adding two extra layers I was able reduce the number of turns per layer and get it to 11mm. The total height of the motor is 3.6mm and its weight is 0.5 grams.

    No space is lost in this pcb! Each coils have 3 vias to connect the in-between layers. These forced a triangular shaped stator poles, which utilize the magnetic field area more efficiently.

    The tiny rotor design has four press-fit 2mm n52 magnets and a 3mm bearing. This new design has the shaft soldered onto the stator, so it is fixed and don't rotate with the rotor.

    I had chosen to go with this design because of two things:

    1. I couldn't find a bearing small enough to fit in the middle of the stator.
    2.I'm not planning to use a shaft. Customized 3d-printed rotors makes much more sense. 


    The phase resistance of this motor was measured to be 15ohmsand its getting to 85℃ with a 4V supply, so it should be perfect for a 1s lipo.

  • ESC details

    Carl Bugeja10/20/2018 at 17:52 0 comments

    This video shows how i designed my PCB Motor's ESC and what where the challenges involved in getting my speed controller to work.



    This is its schematics:


    It has a PIC16F1503 as the main controller and a triple half bridge driver STSPIN230, to control the three phases of the motor. These are both powered from the same supply, to avoid having an extra power wire or on-board regulator, reducing the cost even further. I filtered the digital circuitry supply from an LC filter to attenuate any noise the motor can generate. It can operate from a 5V to 2.6V supply and draws around 220mA in total.

    As i explained in my previous project logs, the back emf generated from my pcb motor was too weak to implemented a sensorless speed controller. So i decided to use a hall sensor to provide feedback to the microcontroller and then implemented a speed closed loop speed controller. 

    The open source gerber files and schematics for this PCB are available for download. 

    In the beginning of November I will be giving a demo of this project at the Hackaday Superconference so see you there! 

View all 31 project logs

  • 1
    Step 1

    Its this simple:

View all instructions

Enjoy this project?

Share

Discussions

Patrick Ryan wrote 09/06/2018 at 00:31 point

I am thinking about scaling this up in size and stacking motors and rotors to build a lighter and more efficient hub motor for one person electric vehicles.

  Are you sure? yes | no

warhawk-avg wrote 08/30/2018 at 08:41 point

Very cool..wonder if you could make a via large enough (between the coil via's) to slip a metal nail inside the coil to focus the electromagnetic force (say a thumb tack or rivet? [epoxy in]) very very cool design!

  Are you sure? yes | no

Carl Bugeja wrote 10/02/2018 at 20:18 point

Yes it is possible but its size will need to increase

  Are you sure? yes | no

clatour007 wrote 07/14/2018 at 00:38 point

Good hacking,learning project !

A few comments/questions.

1) it seems that you want to increase the torque. (buy you did not specified if static or dynamic, the way you seem to be testing it is giving you results for static torque.  most real world applications require measuring dynamic torque.  it is indeed more dificult to test in a home-lab, but still affordable and doable.

2) The usage of 'round' magnets, or though cheaper, is not optimal. (Square/rectangular magnets optimizes the 'surface' of the magentic field in an easy'er to capture coil. the coil would need to be shaped as a triangle, but the shape maximizes the 'flux'/Area for any given size.   ... look up axial-flux generator and reverse the power-transfer. the equations  are the same. (*well not exacly, but close enough)

3) given the planar orientation designed, perhaps dissasably of old floppy-drive motors would teach a lot. (their magnets were a single round cylinder with 'weird' magnetization, while preserving the planar/6 coils structure.   not sure the actual static/dynamic torque, but they were able to spin the at over  300rpm... indicative of the Dynamic torque)

4) you did not specify the ferrite material used. (is it ferrite is specified by mixture i.e. mix-43/-68/-71 etc. usually color coded....)  the actual mix has a 'HUGE' influence in the (eddy)losses which of course make it 'heat-up' the material.   such loses  are dependent on both the material and the frequency of operation. (i.e. a single pulse of 1000ms would have a given loss, a same pulse of 2000ms would have a totaly different loss. of course the worst case scenario is continuous current (no pulse) as the 'magentic' field would be constant-steady and  heating the material and would produce no alternating-flux hence no power/torque.

5) in reference to #1 and #4 above, Triaminic drivers specs/explanation pages (all the rage in 3d printer motor drivers) give very clear insight (at a layman's level) of the static/dynamic and totat power (i.e. work) expected from any given setup.

6) I'm a bit confused when you specify your magnets/setup give 1W did you mean 1Tesla?Gauss? .. (magnets by themselves don't give power...) or you meant that the 'motor' consumes 1W to deliver 9gr of static torque?

7) It appears to me, that the easy way to radically improve the torque, without redesing) is to decrease the  magnet to coil distance (if using Mag. above and another below, decrease this distance.) i.e. minimize the distance between the surface of the coil and the magnets.  (dont forget to add the height of you board material in the equation !)    

7a) if using a single plane of magnets (pictures seem to show one above, one below.. ) would almost double your power (torque) .... CORRECTION: mean to say using one above in below would double your power...

Sorry, way too long a comment. :-} 

Good Luck!

Carlos 

Further comments on the ferrite. 

In order to be effective the ferrite must be at the center of the coil and be as deep as the coil itself. Placing  as you did makes it behave as a shield!! (eddy currents in the ferrite sheet create a magnetic field OPPOSING the desired magnetic field ON ALL COILS!.)   ie. is behaves as if a steel plate was between your magnets and your coils, all the while heating it up!.

Also, your coils do not need to go all the way to the center, (that space would be much better used to put a tiny ferrite bead instead)  lowering the coil length will also have the desired effect of reducing the ohm resistance, a therefore allowing a higher current with the same voltage.  since the magnetic flux is proportional to current, your flux is much higher, hence higher extracted power. (more efficient.)  my -personal- Rule of thumb is for the center of the coil to be about 1/3 of the total coil width.

beware that the ferrite bead in the center would be subject to strong axial-push/pull forces. i.e. up down, best  solution is to use 'threaded' beads and thread the PCB accordingly. (adding a touch of crazy glue would not hurt.)

Magnets.

The actual magnets were not specified, but some have WAY more pulling force than others(flux), simply changing the actual magnets can substantially increase their flux/power.      Carefull thought, higher flux magnets de-magnetize at lower temperatures ... i.e. proper cooling may be required for a HIGH-power (i.e. drone motor) application...

  Are you sure? yes | no

Carl Bugeja wrote 07/18/2018 at 21:58 point

Hi! Thank you for your comment and suggestions :)

In the shown video i was testing for static torque which would be more beneficial for servo like applications. As you said dynamic torque is harder to test.

Regarding the triangular shaped coil, this would definitely maximise the flux area of the stator however this shape would have less turns (around 7 on each layer) for this motor-size which would significantly reduce the impedance of the windings and thus heat up. This also applies for the core idea you proposed, its something that is great to have but in practice i'm not so confident it will work due to lack of turns. But this is definitely something that can be considered for larger sized pcb motors though.

The static torque test was done with a constant power supply voltage of 5V. The motor was drawing around 200mA of current so it can be rated to around 1W.

  Are you sure? yes | no

clatour007 wrote 07/20/2018 at 03:28 point

Ok, not really 100%sure static torque is better for modelizing servos, but to each it's own.

Not really sure why you say a triangle-shape would have less turns... (mind you, even the circular-shaped coils don't need to coil all the way to the center, the extra loop's contribution to flux is quite minimal and the extra ohmic resistance far outweights  its benefits, specially since they become 'heating' elements). Regarding the impedance, a lower impedance means more current , which means a more intense flux, which means a more 'power-full' (holding) torque  which is what you wanted!    If heating is a problem (perhaps your 'wire'/board traces's cross-section, is too small (hence their resistance is too great, and act more as a 'resistor' instead of a coil)    

One way to decrease the current is to lower the voltage (ohms law), but an easier way (if using drivers such as the 4988/drv8825/triminic 2100 etc. etc etc. ) is to Increase the frequency of the pwm signals. (mind you, doing so would require-you to calculate the actual reactance (impendace) of the coils for the new frequency. (actually easier to do trial-error, than to acurately model it via maths)

Another way to achieve the same result is to Lower the voltage, instead of driving it with a 5 volt source, try a 3.3 v. inversly, you can drive it with a 12 volt source (watch your driver's specs.) and LOWER the max current limit of the driver. either way you'll limit the input power, hence the torque. (the input-power to torque curve is NOT linear, it is indeed a log. curve !  (log/antilog depends how you plot it).

Also, it occurs to me, given the size of the motor,  that instead of using ferrites it would be easier to use steel screws. (make sure they can be magnetized, not all steel can be ) iron screws would be better, but they rust quite fast ..

Gotcha for the 1W calc. makes sense.  However, (haven't actually done the math but, gut feeling,  it appears to me quite to be very IN-efficient. 

ANOTHER type of motor (see axial-flux generator's coil/magnet arrangement) in which 2 coils face 1 magnet can be designed, it would allow for the same current (at 2times the voltage) to 'repel'(or attract)  the magnet with the same force. HOWEVER, the 'cooling' surface is twice as big, and therefore the accumulated heat is much lower (not quite half, but thereabouts) at the same "power-input to torque" point. .... (perhaps I don't make myself clear, I'm at a loss to how to explain it better.... :-|

Alternatively, a *much* more complicated 'geared' motor could be done. (specially for servos, as they don't really need to move very fast.) the added advantage of a geared fast moving rotor, is that a simple fan-blade can be attached to cool it down.  and the static-torque is multiplied by the gear-ratio. 

PPS: the ferrite material you used is primarily used for shielding, (very high loss) basically it is designed to convert the Rf/Em to heat !. exactly what you do not want in this instance. 

Sorry I know it was a very long reply :-/

  Are you sure? yes | no

Carl Bugeja wrote 07/30/2018 at 21:50 point

For that prototype, my goal was to make it as small as possible, and the spiral shaped coils have been designed to fit in the smallest area possible with the minmal clearance. For the triangular shapes coils, the stator diameter would result in a slightly larger. However, I am currently designing another board to test slightly larger motors (less than 20mm diameter) with different coil shapes.

There is a balance between the amount of current that you pass through the coils and heat. From what i have tested with these coreless printed coils the limit is around 40-turns for 4/4mil traces and 60-turns for 5/5mil. 

Using iron screws i the middle is something that I have considered. These would act as the core of the stator. But my original goal for this project was to try and make the smallest and easiest to assemble motor, and adding these screws would defiantly increase the size and complexity of the build. 

  Are you sure? yes | no

rparthiban wrote 07/11/2018 at 18:04 point

I need a motor driver details

  Are you sure? yes | no

Jarrett wrote 07/11/2018 at 18:57 point

just google "uln2003 stepper driver schematic"

  Are you sure? yes | no

Twisted Pair in my Hair wrote 06/25/2018 at 17:51 point

What is the driving circuitry for this motor? Can you please share the schematic?

  Are you sure? yes | no

Calrexreid wrote 05/31/2018 at 14:40 point

Fantastic project - Perfect for solving a headache I had in my project - Thank you. I have ordered a few off OSHPark.. :) ill upload project when further down the road.

I am currently using them in a prototype that will be a fair bit larger than the final version of my project. I am unfamiliar with the limits of PCB manufacture and wonder if you can enlighten me? Do you think it could be made any smaller? In terms of Diameter? Less windings, thinner traces? Looking to get it down to 10mm so about 35% smaller. Obvious huge reduction in power etc.. but still functional? I thought to ask you as you may have already experimented with further miniaturisation and come across some limitations. Be great to get your thoughts! Thank you again for a great concept!

  Are you sure? yes | no

Carl Bugeja wrote 05/31/2018 at 21:25 point

Hi! It is very difficult to make it smaller than 16mm. In my prototypye I am using 4/4mil traces on a 4 layer board. I have around 10 turns on each layer adding up to a total of 40 turns.  I don't recommend going much lower than 40turns with 4/4mil, as these would reduce the phase resistance and increase the overall temperature of the pcb. The only remaining options to reduce the area would be either use smaller manufacturing traces and clearance (which would be much more expensive for a supplier to manufacturer) or increasing the number of layers. However, you need to be careful as increasing the layer would mean you have to leave a larger area in the middle of the coil for more vias.

  Are you sure? yes | no

Calrexreid wrote 06/01/2018 at 08:33 point

That is really useful to know, thank you Carl for your time and considered response. Very appreciated. I may look at 2/2 mil traces in the future if the prototype has any promise. In the meantime though I am very happy with the boards, that have just arrived!

  Are you sure? yes | no

alexw wrote 04/01/2018 at 08:08 point

Awesome project, it'll be great to see people using this!

  Are you sure? yes | no

Carl Bugeja wrote 05/04/2018 at 19:39 point

Thanks!

  Are you sure? yes | no

Ron wrote 03/28/2018 at 18:27 point

I was curious, where did you get the semicircular magnets from?

  Are you sure? yes | no

ehsan wrote 04/23/2018 at 21:10 point

I'm quite interested in this as well. Can't find anything of the same size. Any help is highly appreciated.

  Are you sure? yes | no

Carl Bugeja wrote 05/04/2018 at 19:39 point

Hi :) Those were both custom from a manufacture I found on alibaba.com 

  Are you sure? yes | no

jkocurek wrote 06/17/2018 at 21:45 point

How much for how many units?

  Are you sure? yes | no

Anil wrote 03/18/2018 at 02:35 point

Does this DC motor need a hall effect sensor to control it? What controls the sequencing of the windings like a usual brushless DC motor?

  Are you sure? yes | no

Carl Bugeja wrote 03/27/2018 at 20:16 point

My plan was to use a sensorless back-emf speed controller, however the measured back-emf was too weak to implement this. I'm now working on a prototype with hall sensor for speed and position control.

  Are you sure? yes | no

Anil wrote 03/29/2018 at 21:22 point

Yeah, that makes sense. Would be cool to get the PCB coils strong enough to go sensorless. I bet you could do it if you made the coil strips longer.

  Are you sure? yes | no

bobricius wrote 03/12/2018 at 16:04 point

great project, I am trying stepper motor as direct drive wheel for robot https://youtu.be/78K-oa2GHU4 instead of printed rotor I am using PCB rotor (3 layers of 1mm PCB and 5x3mm magnets) https://oshpark.com/shared_projects/V5EU4Lhf

  Are you sure? yes | no

Carl Bugeja wrote 03/12/2018 at 18:12 point

cool :) just make sure you have enough torque to rotate the wheels and move the robot

  Are you sure? yes | no

Peter McCloud wrote 02/08/2018 at 06:55 point

This is really cool. Thank you for sharing the Gerber files!

I'm interested in using this approach for building an axial flux generator. I can't find any existing designs that fit my needs and making PCBs seems easier than hand windng coils and potting them.  For those of us new to the PCB design world, would you mind providing an outline of the tools you used to design your PCB?

  Are you sure? yes | no

Carl Bugeja wrote 02/10/2018 at 09:25 point

Hi Peter! I used a CAD tool to draw the spiral coil windings for each layer. These layers were saved as a dxf file and then imported into a PCB design software as different copper layers.

  Are you sure? yes | no

helge wrote 02/07/2018 at 23:08 point

maybe ferrite foil in the back would be beneficial?

http://katalog.we-online.de/en/pbs/WE-FSFS and the like.

  Are you sure? yes | no

crazzzik wrote 01/30/2018 at 03:32 point

Do you have a power requirement for your drone?

  Are you sure? yes | no

James Newton wrote 01/29/2018 at 04:36 point

I'm curious how you are driving the motor? Is it just from the Digital IO pins on the Arduino? Or are there transistors, FETs, etc...

  Are you sure? yes | no

Carl Bugeja wrote 01/29/2018 at 21:52 point

Hi I'm currently using the STSPIN230 3-phase driver (availble on the X-NUCLEO-IHM11M1 dev board). I am then driving it with a dPic microcontroller.

  Are you sure? yes | no

Moldovanu Ionut wrote 01/26/2018 at 10:22 point

Hello , can you please release the pcb design files , or just draw a schematic of the coils and all the details?

  Are you sure? yes | no

Carl Bugeja wrote 02/07/2018 at 22:56 point

Hi! The files are now available for download

  Are you sure? yes | no

oshpark wrote 01/26/2018 at 05:38 point

great idea!

  Are you sure? yes | no

Carl Bugeja wrote 01/27/2018 at 06:59 point

Thanks :)

  Are you sure? yes | no

Robert Mateja wrote 01/25/2018 at 09:04 point

I that HP MultiJet material or your own print for black rotor ?

  Are you sure? yes | no

Carl Bugeja wrote 01/25/2018 at 11:26 point

Hi i have 3d printed from shapeways

  Are you sure? yes | no

agarner3 wrote 01/25/2018 at 07:37 point

This is such a great idea. I agree it would work better with a different stator/magnet configuration. It would be interesting to see how torque and kv would be affected with different thickness traces. And how much more output and balance you could achieve with two magnet sets sandwiching the stator. 

I can see a revolution in quad copters coming on. It would be amazing to see this on the crazyflie (open source)  quad

  Are you sure? yes | no

Carl Bugeja wrote 01/25/2018 at 11:30 point

Sure :) a rotor combined with propeller is coming soon

  Are you sure? yes | no

Thomas Daede wrote 01/25/2018 at 04:07 point

This is neat! I would like to try to build my own, and also have some things I'd like to try to improve the design:
Most axial flux motors have magnets on both sides of the stator. The purpose of this is to not just to fit in more magnet, but to make sure all of the magnetic flux passes perpendicularly through the stator - with your current design, some of it wraps around the magnets and doesn't even make it through the PCB. Likewise, on the rotors behind the magnets is iron, to complete the magnetic circuit and get better utilization of the magnets. Iron-filled plastic could substitute here, though it's less important and just using beefier magnets might also be OK.

The downside of facing rotors is there is a huge amount of force between them. You'll either need strong 3D printed parts, or attach them on the outer diameter, running the wires through a non-rotating axle.
For bigger motors, you can get a better winding factor with an 8/9 or 10/12 arrangement. If you don't already know about it, there's a nice winding calculator here: https://www.emetor.com/edit/windings/

Note that coreless axial flux motors like this can be quite efficient. You might find some inspiration from the CSIRO design often used by solar cars. http://www.ata.org.au/wp-content/uploads/marand_high_efficiency_motor.pdf

  Are you sure? yes | no

Carl Bugeja wrote 01/25/2018 at 17:42 point

Hi Thomas! Thanks for the tips! For the second prototype I have order semicircular magnets so that all magnetic flux pass through the stator, just like you suggested :) stay tuned for the update

  Are you sure? yes | no

adria.junyent-ferre wrote 01/29/2018 at 09:02 point

Excellent feedback. Btw, I tried the iron-filled plastic myself  some time ago when I wanted to make a linear actuator with 3d-printed parts and the results were quite disappointing. The effective permeability one gets ends up being around 2, which is quite disappointing (https://hackaday.io/project/11082-measuring-blackmagic3ds-ferromagnetic-filament).

  Are you sure? yes | no

Daren Schwenke wrote 01/24/2018 at 21:57 point

Thin out your rotor and add a second stator above.  Gives you your second bearing mount, doubles your output torque, and will probably be more stable as both sides will push/pull the rotor at the same time.

  Are you sure? yes | no

Carl Bugeja wrote 01/25/2018 at 17:36 point

Hi Daren cool idea! I would consider adding another rotor to have magnets on both sides rather than adding another stator. This will definitely help increase the torque,  

  Are you sure? yes | no

Daren Schwenke wrote 01/25/2018 at 18:11 point

Torque comes from flux density.  There are a couple ways to increase that. 

Simplest way is to use a core material.  This compresses your field lines for your electromagnet yielding higher flux density, at the expense of additional inductance.  But that doesn't really fit here.

Next simplest would be to compress/redirect the field lines from your permanent magnets back towards your electromagnets.  This is usually accomplished by backing them with iron. A washer or the bell from a fridge magnet might do it.

So where I was going with the second stator is related to the latter.  Besides doubling the flux density of the electromagnets, you are also confining the stray back field lines from your rotor magnets.  Of course I could be full of it, but it works in my head..

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates