NOTICE: This website will be shut down in the near future. Product content has moved to Forum content and FAQs have been moved to We encourage you to create a user account on to use the new community forums and access NXP microcontroller content. We greatly appreciate your contributions and look forward to seeing you at our new web location.


LPC1500 Motor Control Solutions - Motion Control Simplified!

The LPC1500 microcontroller series are optimized for fast, easy, and high-precision motor control. Incorporating all the features required for high-accuracy sensored and sensorless motor control, the LPC1500 enables simultaneous control of multiple motors in highly flexible configurations. Based on the ARM® Cortex™-M3 processor, the LPC1500 series has two 12-bit, 12-channel, 2 Msps ADCs and an on-chip quadrature encoder interface (QEI) to enable highly accurate control of both sensored and sensorless motor combinations. With four on-chip comparators enable fast-response over-current/voltage monitoring and protection and four flexible SCTimer/PWM timers to provide up to 28 PWM channels in a tightly coupled analog and timing subsystem with minimal load on the CPU, the LPC1500 are ideal for use with a wide range of brushless DC (BLDC) motors, permanent-magnet synchronous motors (PMSM), and AC induction motors (ACIM) commonly found in products such as large home appliances, HVAC, industrial pumps and generators, and more. They are also well suited for industrial applications requiring high-precision data sampling and real-time control, such as digital power and instrumentation. The LPC1500 microcontrollers are fully supported by the LPC software ecosystem and an extensive collection of tools, drivers and middleware.

With ultra-efficient motor control firmware, easy-to-use GUI-based tuning tools, and two new motor control solution kits, NXP's LPC1500 microcontrollers simplify evaluation and development of motor control applications, without requiring deep motor control experience. 

Features of LPC1500 :

  • 72 MHz ARM Cortex-M3 processor
  • Upto 256 kB on-chip flash programming memory
  • Upto 36 kB SRAM 
  • 4kB EEPROM
  • Memory Protection Unit(MPU)
  • USB/SPI/I2C drivers
  • DMA drivers
  • C-CAN drivers
  • Four SCTimers/PWM
  • Two 12-bit ADC and One 12-bit DAC

The Motor Control Kits need to be correctly programmed before use to avoid heating of the brake resistors. Please update the firmware on the LPC1549 LPCXpresso board in your kit, as described in the application note for your kit below, before attempting to control a motor.

Brushless DC Motor (BLDC) Solution

The LPC1549 Brushless DC motor control solution helps you get started with motor control protoyping immediately.  It utilizes the SCTimer/PWM available on the LPC1549 MCU for the motor operation.The SCTimer/PWM combines the features of a timer and a state machine making possible to develop sophisticated solutions in the digital control field.

The project is implemented on the LPC1549 BLDC Motor Control Kit, which includes an LPC1549 LPCXpresso board. The joystick present on the motor control kit is used to control the speed and direction of the motor. It is possible to define a more complex sequence of events, having the SCTimer/PWM evolve autonomously through the state machine over time, in response to the time-based or I/O defined events. This typically implies that less CPU interventions are needed, since the SCTimer/PWM is able to handle most of the control sequence in hardware. Using the SCTimer/PWM also reduces the code size. BLDC Motor Control firmware is available at

The firmware package contains the project implemented in Keil IDE as well as in LPCXpresso IDE. The package also contains an application note which decribes the motor control operation using the SCTimer/PWM in detail.



 Permanent-Magnet Synchronous Motor (PMSM) Control Solution

The LPC1549 PMSM motor control solution provides a Field-Oriented Control (FOC) example to get you started with motor control prototyping. This example utilizes the QEI feature on the LPC1500 to monitor the position and velocity of the motor for both sensor and sensorless modes. The additional advanced features of the LPC1500 including the SCTimer/PWM and high speed ADC ensures easy and reliable control of time critical peripherals, and a mechanism for sychronization of the ADC's with the PWM for exact timing of the sample moments.

FOC is a more advanced approach where each phase is driven sinusoidally and permanently powered so the magnetic field inside the motor is regulated to the most optimal value.  The project is implemented on the LPC1549 PMSM Motor Control Kit, which includes an LPC1549 LPCXpresso board.

Download package include firmware source code and an application note which describes the sensored motor control operation using the QEI and SCTimer/PWM in detail. You can download package from bottom of this page.

This solution also comes with a GUI interface, which is developed to tune motor parameters in FOC firmware. 


                                        FOC Control Block Diagram



                                                Demo Setup                                                       Teknic PMSM Connections



                                                   GUI Interface



Motor Control Solution Overview Video

Useful Links :

LPC1500 MCU Product Pages

LPC1549 LPCXpresso Board

LPC1549 BLDC Motor Control Kit  (OM13068)

LPC1549 PMSM Motor Control Kit (OM13067)

Schematics for OM13067/OM13068

PMSM Motor(Teknic M2310P-LN-04K) datasheet

LPC1500 Datasheet

LPC1500 User Manual

Your rating: None