PCB Motor

A smaller and cheaper open source brushless motor.

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


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


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

  • Torque

    Carl Bugeja4 days ago 0 comments

    So torque is the biggest weakness of my tiny PCB motor. This was measured it to be 0.9gcm.

    But it is something that can be improved. These are three ways how I tried to improve it:

    • Double Rotor - Some people in the comments suggested to try and use a double rotor. This will increase the magnetic field produced by the neodymium magnets and therefore will also increase the motor's torque. But in practice this was not the case and  it barely had any effect. The measured torque was 0.9gcm (the same as with one rotor).
    • Ferrite Sheet - This was used as a core to increase the strength of the magnetic field inside the printed windings. Two different shaped cores were tested. The uncut one gave a higher torque value and has increased it from 0.9gcm to 1.5gcm. The only down side of this is that It has also increased the pcb's temperature from 70°C to 90°C due to eddy current losses.
    • Delta configuration - Other simple way to increase the torque is by changing the configuration to a delta winding. This way the coils will be powered with a higher voltage, so it will also increases the torque and temperature (hopefully not by much). This approach was not tested yet.

    Check out the full tested video:

  • Update

    Carl Bugeja06/08/2018 at 22:35 0 comments

    A quick update on my PCB Motor prototype:

    • Dimensions - 16x17x5mm (excluding the shaft)
    • Weight - 1.6grams
    • PCB Stator - 6 Poles connected in a delta configuration, with 40 turns each with 4/4mil traces.
    • 3D Printed Rotor - 4 Poles
    • Bearings - Stainless Steel
    • Phase Resistance - 19.3 ohms
    • Power Rating - 1W
    • Maximum Temperature - 70°C (at 5V)
    • Maximum Torque - 0.9

    Improvements that I'm planning to test:

    • Torque
    • Temperature
    • Increase the winding's magnetic field strength by reducing the PCB thickness
    • Use ceramic instead of stainless steel bearings to reduce friction
    • Experiment with different trace winding's clearance and thickness. Increasing it to 5/5mil from 4/4mil will reduce the pcb's cost at low volumes. However, this would also enlarge the motor's diameter to reach same parameter's of the 40turn 4/4mil coil.

  • Thermal Testing

    Carl Bugeja05/27/2018 at 21:21 0 comments

    How hot is my pcb motor getting? With a direct 5v supply on the windings it reached a maximum of 70°C after 13 minutes of continuous voltage.

    How to improve this? For the next prototype I'm going to use more vias and a copper plane on all four layers to conduct heat on a larger area. 

  • Closed-loop Control

    Carl Bugeja03/27/2018 at 20:09 0 comments

    My plan for speed controlling the PCB Motor was to implement a sensorless back-emf speed controller, which works just like every other brushless ESC. It measures the time it takes to detect the zero-crossing point from the under-driven phase, and adjust the commutation waveforms according. However, during testing the back-emf generated in the windings of the PCB motor was a little weak.

    Plan-B is to use a hall sensor to implement the closed loop speed controller. This will be a little more pricey but will also include positional sensing.

  • New Rotor

    Carl Bugeja03/05/2018 at 00:33 1 comment

    This is my new 3D printed rotor prototype with a snap-hook shaft and press-fit circular magnets! 

    Unlike the old prototype, the new rotor has a uniform magnetic field across its whole area.

    The metallic shaft was also eliminated. Instead it was made part of the 3D rotor model, At the end of this shaft are two snap-hooks that lock the rotor inside the bearing. 

    This feature makes the brushless PCB motor cheaper and very easy to assemble!

  • PCB Motor - Explained

    Carl Bugeja02/25/2018 at 13:58 0 comments

    This video briefly describes how my brushless PCB motor works.

  • Open Source Files

    Carl Bugeja02/07/2018 at 23:09 0 comments

    The gerber files and STL file for the first PCB-Motor prototype are now available for download.  

    If you don't have access to a 3d printter, you can purchase the rotor here:  

  • How I design the PCB stator

    Carl Bugeja01/27/2018 at 09:37 1 comment

    This project started with me trying to design a small cheap drone. Dc brushed motors are typically used for micro-drone designs since they are much cheaper than brushless motors. But these motors were not compact enough for my application. So I started looking into ways to make a custom brushless motors which is smaller, cheaper and easier to manufacture. 

    A normal outrunner brushless motor is made from a stator, a rotor and a shaft that connects the two via a bearing. Its stator has windings around an iron core to rotate the magnets on the rotor. The high magnetic permeability of the iron core creates a strong magnetic field around each coil, which improves the motor's torque strength. 

    I had this idea of making the stator embeeded in the PCB itself. My only concern was that to make it small, it had to be core-less. I decided to try it out and see if it had enough strength to rotate a small propeller (spoilers - it did).

    PCB stator vs ADH30S's stator
    PCB stator vs ADH30S's stator

    I wanted the first prototype to have the best possible chance of working, while still being as small as possible. So I set the trace spacing and thickness to 0.1mm and the via's drill size to 0.15mm. Although these parameters would increase the manufacturing costs of the PCB, it was the safest starting point for my PCB motor design.

    I decided to make my motor have a 4-layer 6-pole stator, to have as many windings as possible. The star type stator configuration was used to limit the phase voltage, hence limiting the overall power of the motor (more power = more heating in stator coils).

    Gerber Files of the 4-layer Stator
    Gerber Files of the 4-layer Stator

    There is alot more of experimentation and testing that I need to do before trying to integrate it with a drone. I want to find the best "turns-to-size" ratio and how does that effect the motor's torque. I would also like to test the delta configuration and a PCB-motor with a 9-pole stator. 

  • Propeller Test!

    Carl Bugeja01/24/2018 at 20:34 0 comments

    Testing my brushless PCB-Motor with RX2535W propeller.

  • Dimensions

    Carl Bugeja01/23/2018 at 18:46 0 comments

    The first PCB Motor prototype measures 16x17x5mm (excluding the shaft) and weighs 1.5 grams.

View all 12 project logs

  • 1
    Step 1

    Its this simple:

View all instructions

Enjoy this project?



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


  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 

  Are you sure? yes | no

jkocurek wrote 6 days ago 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 instead of printed rotor I am using PCB rotor (3 layers of 1mm PCB and 5x3mm magnets)

  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? 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:

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.

  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 (

  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

CWC wrote 01/24/2018 at 21:42 point

Hello Carl. Congratulations on your excellent work! Please let us know if you plan to sell your motors. I like the idea of putting the stator on the ESC PCB.

  Are you sure? yes | no

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

Hi :) i will release open source parts very soon so you can build your own

  Are you sure? yes | no

spillikinaerospace wrote 01/24/2018 at 21:26 point

Hi Carl excellent work! one question: why didn't you make the rotor from a PCB? it seems to me that would be better than 3d printing.

  Are you sure? yes | no

Prof. Fartsparkle wrote 01/24/2018 at 21:30 point

Good question, I mean air flow would be an obvious reason but at this stage I doubt that would be much of an issue.

  Are you sure? yes | no

Carl Bugeja wrote 01/24/2018 at 21:33 point

Hi! the rotor needs to hold the magnets in place that's why its 3d-printed. But make a pcb on top of the rotor is certainly possible. The only problem would be passing signals and giving power to that board.. But with a little imagination I think it can be solved :)

  Are you sure? yes | no

alexwhittemore wrote 01/24/2018 at 22:53 point

This was my question as well. I think what he means is to pocket-mill recesses in a similarly sized PCB to fit the magnets, making a roughly equivalent structure from FR4 instead of plastic. An FR4 magnet carrier would ultimately be stronger than the plastic version, and practical to fabricate since it doesn't require any complicated 3D geometry, only standard controlled-depth milling. And really, you wouldn't necessarily need that either - you could use through-routes on one PCB and leave it at that with the magnets glued in by the sides, or glue the milled PCB to a flat one of the same diameter to make fake pocket mills. Making such a through-milled magnet carrier would also enable Daren's idea above of adding a second stator to double torque. 

  Are you sure? yes | no

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

The problem with a pcb rotor is actually keeping the magnets in place .. its certainly possible to have them press fitted inside but having the rotor spinning at high speed it would be safer to have a cover over them.. 

  Are you sure? yes | no

Sean Weppner wrote 01/24/2018 at 21:13 point

Would be cool to see this type of approach applied to creating a micro linear actuator

  Are you sure? yes | no

Carl Bugeja wrote 01/24/2018 at 21:38 point

Hi Sean a micro linear actuator seems feasible with this technology.. However it would have a weak torque since it don't have a metalic core.

  Are you sure? yes | no

eekster wrote 01/24/2018 at 19:08 point

I'll buy ten of them! That or make the cad files and bill of materials available, perhaps? Please?

  Are you sure? yes | no

openube wrote 01/24/2018 at 21:23 point

I second this. I'll buy or BOM please?

  Are you sure? yes | no

Carl Bugeja wrote 01/24/2018 at 21:41 point

Hi! Thanks for your kind comments :)  I think I will eventually open source this design.. It just needs a little more testing

  Are you sure? yes | no

ActualDragon wrote 01/23/2018 at 23:32 point

It almost needs another row of headers on the other side, just for support. It might be helpful

  Are you sure? yes | no

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

Hi 🙂 the headers are just a temporary solution. My plan is to put the stator on the esc pcb. 

  Are you sure? yes | no

Carl Bugeja wrote 01/24/2018 at 07:02 point

This would make the whole setup light and more compact

  Are you sure? yes | no

ActualDragon wrote 01/24/2018 at 10:50 point

could you put the headers on the other side, then slide the esc under and solder it? that would be sweet

  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