OpenLSM is an experimental project with the objective of designing low-cost permanent magnet linear motors for Cartesian motion systems such as pick-and-place machines or CNC machines. The project will fulfill this goal by using readily available materials and tooling, combined with analytical and hybrid models.
This project has no commercial aspirations. Its contents will remain available under the
MITLicense.
- [x] Support voltage bus ranges of `12 V_dc` and `24 V_dc`.
- [/] Achieve a target force per amp of `3.0 N/A_rms`.
- [/] Reach an asymptote temperature of `60°C` under standard use-cases.
- [/] Validate the TeensySFOC, armature, and encoder board for linear motor applications.
- [ ] Validate motor performance and generate performance curves for each voltage range.
- [ ] Scope a `Prototype Gamma` as an entry point for contributors to extend beyond OpenLSM.
(Note).
[ ]Not started.[/]In progress.[x]Complete.
(Conceptual). Revision 2 of the ironless tubular linear motor design. Not for fabrication.
(WIP). Revision 3 is a work in progress and will be fabricated.
An ironless tubular linear motor with a carbon fibre nylon (PA6-CF) armature featuring 12 slots, mechanically wound using 0.4 mm diameter enameled copper wire, with 4 slots in-series per phase (WYE). The stator, unlike the armature, is made of layered carbon fibre epoxy to form a tube with an internal radius of 5 mm and outer radius of 6 mm. The poles are 20 mm in length and 5 mm in radius such that they can be inserted into the stator tube in this pole arrangement (N-S|S-N), using generic superglue to secure the end poles.
See the
motor design notesfor the full electromagnetic and thermal rationale ofRevision 2.
The radial heat-sink is made of aluminium with radial fins pitched at 1.50 mm, axial thickness of 0.50 mm, and radial thickness of 7.30 mm. The thermal interface material is still to be determined. This is expected to improve thermal steady-state conditions, though both this assumption and the analytical eddy-current model remain to be validated experimentally.
An ironless planar linear motor with a polylactic acid (PLA) armature featuring 6 slots, hand wound using 0.2 mm diameter enameled copper wire and 5 mm wide Kapton tape, with 2 slots in-series per phase (WYE). The stator, similar to the armature, was printed in PLA and had 4 pole pairs per armature length and 10 pole pairs total. The motor produced measurable force, although the force output was not quantified before the PLA coil forms deformed due to thermal stress.
The main conclusion from Prototype Alpha is that planar linear motors likely require laminated silicon steel armatures to produce force efficiently. In response, Prototype Beta shifts to an ironless tubular topology with the goal of quantifying force output and thermal performance.
See the alpha notes for the full report on Prototype Alpha.
This analytical model uses inverse Clarke and Park transforms to compute the phase current based on position, then uses 1D field approximations to compute the magnetic co-energy, and finally uses its spatial derivative over the z-axis to compute force.
(Work in progress). This hybrid simulation is currently being designed and implemented.
A hybrid model using FEMM to compute the stator field, then uses the Biot–Savart law with a parametric slot geometry to compute the armature field.
The magnetic co-energy is then calculated assuming uniform magnetic permeability, and finally the spatial derivative over the z-axis is used to compute force.
See 01_simulation for more details.
(Work in progress). The armature board revision 2 is a work in progress
(Validation). The encoder board revision 0 has been populated and requires validation.
The integrated sensor boards are a platform for measuring the motor's position, acceleration, and thermal profile T(z, t).
The system consists of two boards: an encoder board with an estimated accuracy of 10–20 µm, and a sensor board featuring a thermistor array, 3-axis SPI accelerometer, encoder interface, and RS-485/RS-422 output, all controlled via an STM32.
The TeensySFOC board is a breakout board for the Teensy 4.1 and SimpleFOC Arduino shield with step/dir input.
It is a development board that is not intended for long-term usage.
See 03_boards for the supporting PCB and 04_fixtures for validation setup.
Each section of the repo is self-documenting.
For internal documentation, credits, and contributors, refer to 00_docs.
@misc{openLSM_2026,
author = {William Bowley},
title = {openLSM: Low-Cost Linear Synchronous Permanent-Magnet Motor Platform},
url = {https://github.com/wgbowley/openLSM},
year = {2026},
note = {GitHub repository},
license = {MIT}
}






