Close
0%
0%

PCB Motor

A smaller and cheaper open source brushless motor.

Similar projects worth following
My open source PCB motor is an 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.

The current prototype has a 3d printed rotor with a 16mm diameter.

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

PCB Motor V1.rar

Gerber Files and STL file of the first PCB-Motor prototype.

RAR Archive - 194.17 kB - 02/07/2018 at 22:54

Download

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

  • PCB Motor with integrated ESC!

    Carl Bugeja3 days ago 0 comments

    I have finally finish my PCB Motor with the integrated ESC! Made this quick video showcasing it:

    The PCB was hand soldered. It took me a little while to get it to work because I had some soldering flux residue on one of the motor driver chip that was acting as impedance. This was triggering the driver's on-board protection circuit. But after removing the chip and clean its pads, it was up and running.

    I have managed to fit the ESC in such a small area by soldering parts on both sides of the PCB and using the smallest footprints I could find! Both the MCU and motor driver have a 3x3mm qfn package and most of the other discrete components are 0201s! 

    I'm currently making another video explaining how i design this driver and what were the challenges involved! So I will be releasing its schematics and gerber files in the next few days :)

  • SUPER tiny 6-layer PCB Motor

    Carl Bugeja4 days ago 0 comments

    Today I have received my super tiny 6-layer PCB stator measuring 11mm in diameter. 

    This is how it cimpares to my 4-layer prototype. 

    I'm super excited to test this thing out and see it run, but unfortunately the magnets still haven't arrived yet :/ stay tuned for more updates!

    JLCPCB was cool enough to sponsor and manufacture this tiny 6-layer PCB Motor! I highly recommend them if your looking for super cheap pcb prototypes. 

  • 6-layers

    Carl Bugeja10/02/2018 at 19:46 3 comments

    I love designing electronics that fit in very tiny space. My 4-layer brushless PCB Motor is currently 16mm in diameter. So how can I make it smaller?

    This 16mm design is already pushing the limits by having 4mils (0.1mm) track width and clearance. Using thinner pcb traces is possible, but would make its price (for prototyping) explode. My intent is to make this open source motor accessible to others, so it doesn't makes much sens to go in this direction. So I'm sticking to 4/4mil traces.

    My motor has around 40 turns, so going much lower than that would make the coils too inefficient and the pcb would heat up way to much. Based on a my pcb coils tests the minimum number of turns for 4mil should be 40 turns and for 5mil it should be 60 turns, not to exceed 70°C with a constant (100% duty cycle) supply. 

    The only remaining option to try and make it smaller, is to increase the number of layers to decrease the number of turns per layer. The current design has 10 turns per layer, so for this tiny 6-layer motor I  decided to go for 6 turns per layer, having a total of 36 turns. Setting a tight clearance of 4mil, the total diameter of the motor end up being 11mm.

    The extra two layer, increased the number of vias in the middle of each coil to three. This naturally formed the spiral to have a triangular shape which use the area of the magnetic field more efficiently.

    Another natural advantage of using a 6-layer pcb, is that the thickness between each layer is much smaller which increases the magnetic field strength.

    For this design I had to make some changes on the rotor, because I couldn't find a bearing small enough to fit at the center of the pcb (smallest bearing available is 2mm). So what i decided to do is extended a stationary-shaft from the pcb, and connect the bearing on the rotor. I'm still designing the 3d-printed part, so I will post more info on that soon.

    I have just ordered this 6-layer pcb motor from JLCPCB which were kind enough to sponsor this design. 

    We'll see how it goes!

  • Project Update

    Carl Bugeja10/02/2018 at 17:07 0 comments

    Here's a quick update video on my brushless PCB Motor project, with a list of things I was working on and what I plan to do next.

  • IEEE Spectrum - “The Printable Motor.”​

    Carl Bugeja08/29/2018 at 18:09 0 comments

    My PCB Motor got featured on IEEE Spectrum! Check out their article bellow :)

    https://spectrum.ieee.org/geek-life/hands-on/how-to-print-an-electric-motor

    It will also appear in the September print issue as “The Printable Motor.” 

  • New PCB Soldering

    Carl Bugeja08/22/2018 at 22:05 0 comments

    Soldering of the new pcb is done! I still have to test all the components though 


  • New PCBs

    Carl Bugeja08/09/2018 at 20:06 0 comments

    The new PCBs have arrived! The rest of the components should be delivered by next week 

    The silkscreen on the coil traces looks a little crappy but its my fault for not checking the manufacturer's print resolution. 

  • PCB Motors HackChat

    Carl Bugeja08/09/2018 at 00:19 0 comments

    Next Friday there's going to be a HackChat on my PCB Motor! Join the event to ask me any questions on the project! 

    https://hackaday.io/event/160136-pcb-motors-hack-chat

  • How i came up with the idea?

    Carl Bugeja07/15/2018 at 06:23 0 comments

    This is the drone concept that gave me the idea of trying to create the PCB motor and spherical folding propeller! Both of these projects need a lot more work and improvement to make this drone feasible but at least now I have a starting point :)

  • New PCB Motor with Driver

    Carl Bugeja07/12/2018 at 23:24 1 comment

    I finally ordered a new PCB motor with an integrated ESC. I have managed to package the circuit in a very small space,  30x16mm including the stator. For now I have ordered the same star winding configuration that i've used in the first prototype. I'll be ordering more configurations soon.

    The circuit basically consists from:

     Hall Sensor (US1881) to detect the magnets inside the rotor.

    • MCU (PIC16F1503) - I have shifted from the DSPIC33EP128 to the PIC16F1503. This MCU has less computational power (not much is required since I am no longer considering sensorless control) but is packaged in 3x3mm chip and is around $2 cheaper
    • 3-Phase Motor Driver (STSPIN230) - which is rated at 1.3Arms, and has several types of fault protection build-in.
    • A filtering circuit to supply the micro.

    I will upload all the source code and gerber files once the PCB arrives and verify its functionality. Keep tuned! 

View all 22 project logs

  • 1
    Step 1

    Its this simple:

View all instructions

Enjoy this project?

Share

Discussions

Michael Graham wrote 9 hours ago point

HI Carl, I love your projects, very creative! Just curious if you have experimented with stacking these things? 

 You could ~double your torque if you stack a second stator to sandwich ether side of your rotor.  Connect the stators together in parallel with the headers
 The result would still have your nice flat profile (thicker but no diameter change) and it would support the output shaft on either side making it more robust. 
 It would prevent you from attatching a fan but the rotor could still be used as a gear/pulley.

  Are you sure? yes | no

majolillo wrote 09/18/2018 at 18:21 point

Have you considered rebuilding to a switched reluctance motor instead of a bldc? My gut feeling tells me this could be done slightly cheaper and more efficient. What would be required:

- Keep the ferrite sheet in the back

- Ferrite core in each winding

- Replace permanent magnet with reluctance core patterns to match the amount of windings. Probably 3d printed in ferrite, any high permeability low conductive material. A pattern like one that is shown in the end of this video: https://www.youtube.com/watch?v=qDon7Nrj1Tk

As for the required torque, you might want to consider a 3d printed planetary gear

https://www.thingiverse.com/thing:53451

  Are you sure? yes | no

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

Similar Projects

Does this project spark your interest?

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