Linear PCB Motor

An Open Source Linear Actuator

Similar projects worth following

Inspired from my pcb motor project (, this project is aimed to make a very thin low-torque linear pcb actuator. 

The coils of this motors are made from 5/5mil coreless pcb windings. A 3d-printed rig with magnets is used to slide across the pcb and is actuated by the winding's magnetic field. 

 All design files for this project are also open source.

Thank you for supporting this project.

RAR Archive - 864.30 kB - 06/11/2018 at 20:23


  • Linear PCB Motor vs Flexible PCB Actuator

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

    In this video, I have tested my Flexible PCB actuator and also compared it to my Linear PCB Motor which has the same dimensions but different layer count. 

    The measured data is shown bellow:

     4-Layer Linear PCB Motor2-Layer Flex PCB Actuator
    Maximum Temperature @ 5V51°C76°C

    The flex PCB has half the turns, so its resistance is lower. This means that more current can pass through it, so obviously it gets a little hotter. This means that this flexible pcb actuator can be used with lower voltages. The thin dielectric of this pcb also improves the coupling of the magnetic field.

  • Flexible PCB Actuator!

    Carl Bugeja07/24/2018 at 17:48 0 comments

    Ok so lets be honest. I did not expected this thing to work. I was afraid that its resistance is going to be too small that it will over heat. But it actually didn't.

    The pcb is dual layer and is 0.13mm thick. Although it only has 70 turns, the thin dielectric will improve the coupling. The flex PCB is made from a polyimide material which is highly resistant to heat, which makes the surface barely hot.

    In the video I am driving with a 5V voltage supply and it is drawing around 600mA.

    Comparison with the Linear PCB Motor prototype:

  • Flexible PCB!

    Carl Bugeja07/09/2018 at 16:56 0 comments

    I have just ordered a flexible pcb prototype for this project!

    The pcb is dual layer and is 0.13mm thick. Although the number of turns have now reduced to 70, the thin dielectric will improve the coupling.

    If this works it could open a whole other dimension of applications. 

  • First Test with Slider!

    Carl Bugeja06/27/2018 at 23:02 0 comments

  • New Slider

    Carl Bugeja06/27/2018 at 21:58 0 comments

    Ok so I had to make some modifications to the slider design. The major issue was that I did not leave enough clearance for the pcb, so the slider was getting stuck in some regions. 

    The second prototype of the slider has less friction and houses a larger rectangular magnet.

  • New Test Board

    Carl Bugeja06/26/2018 at 20:22 0 comments

    Today i have ordered some new test boards with a total of 9 pcb coils. These have different turns, to try and find the best size-to-strength ratio. Three of these coils also have a 5mm diameter hole in the middle to test them with an iron core.

  • Moving Ferrofluid!

    Carl Bugeja06/16/2018 at 16:57 0 comments

    The magnetic field of the windings need to be a little stronger but the concept seems to be working.  The idea is to have ferrofluid dancing around from a simple PCB. This is obviously just a concept but with more windings and perhaps with a core in the middle of these printed windings, it can be possible. (Also, I need to find a way not to stain the container with the ferrofluid .. its a little messy)

    Since this does not actually have to do with the Linear PCB motor (although same pcb), I have set up a different project page for this:

  • Wiring & Driving Circuirty

    Carl Bugeja06/16/2018 at 11:54 0 comments

    The first prototype of my Linear PCB motor has 12 coils. To simplify the electronics i have connected these in sets of 3, each having 4 coils in parallel for maximum current, and then in a delta configuration.

    I am then using the STSPIN230 3-phase driver (available on the X-NUCLEO-IHM11M1 dev board) and controlling it with a DSPIC33EP128MC202-I/SP microcontroller.

  • PCB coil Testing

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

    The pcb coils have a total a 140 turns on 4-layers. These are creating a total resistance of 31.9ohms.

    This is the current-voltage curve of an individual coil:

  • Jumping Magnets!

    Carl Bugeja06/12/2018 at 00:18 0 comments

    I accidentally made magnets jump when testing my Linear PCB Motor PCBs. This happened when I placed a small spherical neodymium magnet in the middle of the coil and alternating its magnetic field.

View all 17 project logs

Enjoy this project?



casper2002casper wrote 02/11/2021 at 14:09 point

Hey what were your findings about using an iron core?

  Are you sure? yes | no

Patrick Ryan wrote 02/01/2020 at 23:58 point

Looked at this awhile ago but moving forward with a split of this project. Linear motor + Air bearing + Magnetic encoder

  Are you sure? yes | no

tconnelly15 wrote 06/18/2019 at 16:08 point

Your creativity is exciting. Can the circuits be printed on a silicone membrane? Stretching too much would break the circuit, of course. However, if stretching is kept to a minimum, would we get little mounds instead of ripples?

  Are you sure? yes | no

jwanga wrote 12/27/2018 at 05:45 point

Thank you @Carl Bugeja for this amazing project! However, Im getting the following when i attempt to upload the gerbers to OSH Park. Is it just asking me to convert  pcb1.g1 -> pcb1.g2l and pcb1.g2 ->  pcb1.g3l ? :

Warning (non-critical)

Detected multiple internal layer 1 layers. Renaming or deleting may be required. pcb1.g2 pcb1.g1.

Failure (critical)

Sorry, we couldn't determine internal layer order. Please rename to G2L and G3L.

  Are you sure? yes | no

Rodolfo wrote 11/28/2018 at 15:53 point

This is an exciting project and I am really happy to see the progress from the initial motor to this outstanding actuator.

As I am in China, I tried to proctor it in a local  PCB factory. In half dozen of them already, they tell me that this is not easy to manufacture. The main reason is that the shape of the tracks cannot be done by their machines. 

I wonder if anyone else went through this struggle and anyone knows what’s a plausible explanation.

  Are you sure? yes | no

sean9898 wrote 11/19/2018 at 00:15 point

are the middle layers of the 4 layer PCB motor included in the Gerber files? I  did not see them (I am new at this so I apologize if this is a stupid question)

  Are you sure? yes | no

K.C. Lee wrote 06/16/2018 at 14:07 point

The next step, make a 2D arrangement of coils. Stagger the coils in adjacent rows..  :)

  Are you sure? yes | no

K.C. Lee wrote 06/15/2018 at 01:46 point

Have you consider making the coils rectangular shape so that they can be closer to the adjacent one and also make better use of space?

  Are you sure? yes | no

Carl Bugeja wrote 06/16/2018 at 11:35 point

Hi! My initial design was with rectangular coils but you can get more turns with circular coils rather then squarish coils. 

  Are you sure? yes | no

K.C. Lee wrote 06/16/2018 at 14:01 point

If you take a cross section along the diameter of a circular coil, then stretch the cross-section out horizontally.  i.e. replace each of the short tracks in the intersection with a much longer one.  Think of it as an expandable table.

The number of tracks (hence the number of turns) should remain the same.  It is not like the tract to track spacing has changed.  Use 90 degrees or 45 degrees corners.

  Are you sure? yes | no

JuPrgn wrote 06/12/2018 at 21:23 point

Do you plan to use also bottom coils to add intermediate steps and increase resolution while reducing dumping ? 

  Are you sure? yes | no

Carl Bugeja wrote 06/13/2018 at 20:32 point

The bottom coils are the same as the top coils. Micro stepping could be an option 

  Are you sure? yes | no

danjovic wrote 06/12/2018 at 16:22 point

This is so cool that should become a clock in no time!

  Are you sure? yes | no

Carl Bugeja wrote 06/13/2018 at 20:33 point

Cool idea!

  Are you sure? yes | no

cubeberg wrote 06/12/2018 at 12:53 point

I'd suggest SMD pads on the bottom for your wires - that will help avoid shorts on the top of the PCBs.  Cool project so far though!

  Are you sure? yes | no

Carl Bugeja wrote 06/12/2018 at 16:38 point

Yeap .. wires are just a temporary solution though 

  Are you sure? yes | no

oshpark wrote 06/12/2018 at 06:56 point

Amazing project!

  Are you sure? yes | no

Carl Bugeja wrote 06/12/2018 at 16:38 point


  Are you sure? yes | no

Michael R Colton wrote 06/12/2018 at 00:00 point

You might be able to do something similar to how digital calipers work on the same PCB, that would give you excellent positional feedback to the coil driver, allowing very precise and repeatable movements.

Also, are you driving the coils individually, or in groups. You'd probably only need three sets of coils, so driving it would be easier, but you'd consume more power....

  Are you sure? yes | no

Carl Bugeja wrote 06/13/2018 at 20:40 point

Hi! Interesting and very cheap idea but it would increase the friction of the slider. But its something that's worth testing :) The twelve coils are connected in three set all in parallel to drive them with a higher voltage.

  Are you sure? yes | no

Sophi Kravitz wrote 06/11/2018 at 22:30 point

This is so freaking cool! I'm going to add this idea to my toolbox. Thanks for making it open source :)

  Are you sure? yes | no

Clara Hobbs wrote 06/12/2018 at 00:16 point

Is it though?  The only files I see here are gerbers, which aren't exactly source.  I consider it akin to writing a piece of software in C++, compiling it to assembly, releasing that, and calling it "open source".

EDIT: Also, I see no license on those gerbers.  Without a license allowing modification and redistribution, it absolutely is not open source in any sense of the term.

  Are you sure? yes | no

Ted Yapo wrote 06/12/2018 at 01:25 point

Real hackers write gerbers (and assembly) by hand :-)

  Are you sure? yes | no

Sophi Kravitz wrote 06/12/2018 at 13:43 point

Yeah, it would be easier to replicate if the files were not just Gerber files, but just a little extra work. It is a little bit false advertising to call this open source since the open source expectation is that you can easily replicate it. 

To replicate this actuator, you have to have some knowledge of what you're looking at already. @Carl Bugeja is just using the words "Open Source" to attract extra attention. Unnecessarily too, as this project stands alone without that.

At the heart of open source is that everyone can educate themselves on the concepts, not so that people can download someone else's file and "just print it".  Where is the education in that?

  Are you sure? yes | no

Carl Bugeja wrote 06/16/2018 at 11:40 point

Not exactly sure what other type of open source files you're requesting.. With these gerber files you can easily order some pcbs from any manufacturer and start testing

  Are you sure? yes | no

Kevin Osborn wrote 07/30/2018 at 18:42 point

For some reason I couldn't reply to Carl's response. What type of open source file? the EDA files (Kicad, eagle, whatever you used) Gerbers are hard to build on/modify. Yes, I can build exactly what you built from the gerbers but it is hard to derive something new from them.

  Are you sure? yes | no

Steven wrote 06/11/2018 at 20:52 point

Hi, amazing can you post about your drive circuit. What sort of current are you putting through them? 

  Are you sure? yes | no

Carl Bugeja wrote 06/12/2018 at 16:43 point

In the video i have wired the coils in a parallel and in a delta config. By applying a six-step waveform it will have one coil north, one south pole and the other unpowered. There are better ways to drive it but for now this is how i’m producing the sliding effect. The jumping behavior of the spherical magnets was observed with the same waveform. The voltage was set to 8v. I should upload a project log on this in the next few days

  Are you sure? yes | no

bholroyd wrote 06/11/2018 at 12:01 point

I'm quite interested in this project. The project I'm working on is somewhat similar (

What plans do you have for sensors, my understanding was you couldn't do a sensorless design with linear motors (or are you just timing it)?

And what plans do you have for motor control? I've looked around and haven't really seen any code for linear motors specifically. I've got some STM8s on order (they're supposed to have some good motor control features, and also cheap).

Any way good luck. hopefully I'll be able to move on with mine when everything shows up.

  Are you sure? yes | no

Carl Bugeja wrote 06/16/2018 at 11:43 point

Cool project! Currently i'm just timing it and using the same circuity of my PCB motor project ( driving in with a 6-step waveform.

  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