Lifting Electromagnet –

The lifting electromagnet article I posted years ago ( has been more popular that it should have been. It is not particularly detailed, and in desperate need of revision. This is the updated version, giving more details, seriatim tips and tricks.

What’s behind this rescript?

I have been experimenting with lifting/holding electromagnets for my simple pick and place tasks. I was interested in using dedicated integrated circuits to control the electromagnets. In doing research I found a vast number of useful articles about the correct way to drive electromagnets using special controller chips. This drastically improves the overall performance and reduces the total energy consumption. The spotlit ICs are L9822E (octal serial solenoid driver), MPQ6610 (high-performance solenoid drive), and the DRV103 (pwm low-side driver for solenoids, valves, heaters, etc).




I could not find a reliable source to get them all to my doorstep at a reasonable price. So, I queued up for a purchase plan and looked for some alternative ideas. In this post, you can see my random thoughts related to those quick and dirty attempts.

What’s a lifting electromagnet?

A lifting electromagnet will lift any material made out of metal that can be attracted to a magnetic field. The main advantage of an electromagnet over a permanent magnet is that the magnetic field can be quickly changed by controlling the amount of electric current in the winding. However, unlike a permanent magnet that needs no power, an electromagnet requires a continuous supply of current to maintain the magnetic field. The lifting electromagnet is in fact a portative electromagnet designed to just hold a material in place.

You can see a Round Electro Lifting Magnet (RELM) below. It provides concentrated holding power and a deep reaching magnetic field to lift thick, ferrous items. This electromagnetic lift is an extremely useful material handling tool as it also has a control switch mounted on the top of the unit for the “on-off-release” functions of the magnet.

Lifting Electromagnets/Magnetic Lifters are versatile work handling devices that can be used to move a variety of ferrous materials. When used to replace slings and chains, lifting electromagnets can improve overall productivity by allowing a single person to lift a load that may have required two or more people the old way!

How to drive a lifting electromagnet?

Lifting electromagnets employ electricity to charge the magnet and hold the material to the magnet face. Electromagnets use an energized electrical coil wrapped around a steel core to orient particles within ferrous materials in a common direction, thus creating a magnetic field. Growth, lifting electromagnets require a constant power source, but the ability to vary the current being supplied to the lifting electromagnet allows the user more flexibility than a permanent magnet affords.

The easiest way to drive a lifting electromagnet is to directly feed power from an appropriate dc power supply. The attraction and holding of the ferromagnetic material are made when the coil is turned on, and when the coil is turned off, the object drops. Simple, right?

At this point, it is worth noting that a suitable power resistor (or a rheostat) can be wired in series with the lifting electromagnet to limit the operating current.

Remember that when the supply is switched off, the magnetic field will tend to collapse and in doing so will generate a back EMF (BEMF) or counter EMF (CEMF) in the electromagnet coil windings. If this back EMF is not suppressed it will generate very large voltages that in turn can damage the associated electrical/electronic parts. A flywheel diode does a very good job of suppressing the back EMF and clamps the voltage to around a one volt or so, and this is quite good for small electromagnets. It’s also okay to connect a metal oxide varistor (MOV) with a rated voltage slightly higher than the normal supply voltage across the coil of the electromagnet (just like the flywheel diode) for back EMF suppression ( /wiki/Counter-electromotive_force).

Something else that can be done is the employment of a constant current source to feed the lifting electromagnet (look below) but I’m not going to go too deeply into it at this time. Here’s a link for further reading

How to build a lifting electromagnet controller?

For the following sessions, I’m using a small lifting electromagnet. Most dc lifting electromagnets tend to use a voltage anywhere from 5V up. 12V and 24V are very common. The one I have is a minuscule 2.5kg type with the following specifications:

  • Item: DC 12V KK-P20/15 2.5kg Lifting Solenoid Electromagnet
  • Operating Voltage: 12V DC
  • Operating Current: <200mA
  • Lifting Capacity: 2.5kg
  • Size (D x L): 20 x 15 mm
  • Standard Accessory: M4 Bolt with Washer x1

Microcontrollers are limited in the voltage and current they can cater. For example, an Arduino can provide 5V at a maximum of 40mA from an I/O pin. Note that the 40mA is the absolute maximum rating and ideally the current draw should be kept to around 20mA. So, for a power-hungry device like a lifting electromagnet, we need a separate power supply and a way of controlling it.

There’re so many bipolar junction transistors and power mosfets you can use as the control/switch device here. Just pick the right one depending on the voltage and current you need to handle – that’s all (see below). Be aware that transistors are current driven devices thus require a current limiting resistor on the base pin, while mosfets are voltage driven devices and require hardly any current on the gate pin but does need ample gate voltage. I do not go into the full details on how to pick and use a BJT or MOSFET. There are much better explanations online.

In these times, you don’t need to build a lifting electromagnet driver circuit using discrete components for your hobby projects because there are countless pre-wired modules available for online buy. Usually such a compact module comprises a small lifting electromagnet, the driver element, and a buck/boost voltage regulator.

Most of them are optimized for simple digital control (on/off) mode only. So, I rigged up a new version myself which hopefully lets you control the strength of your lifting electromagnet through pulse width modulation (pwm) technique. Below is the first schematic (subject to revision) version of the Arduino Lifting Electromagnet Controller!

Here is the adapted Arduino Sketch (490Hz/0-100% PWM):



* PWM Signal Generator v1

* Adjustable PWM Drive
for Lifting Electromagnets

* Additional Driver
Hardware Required – Read the article first!

* Experimental Arduino
Uno/Nano Sketch by TKHareendran/4-2021


int drivePin = 9; //PWM OUT

int PreviousPotValue = 0;

int Threshold = 0;

void setup()




void loop()


int PotValue =
analogRead(A0); //POT IN

int PWMValue = PotValue
/ 4;


Threshold = abs(PotValue
– PreviousPotValue);

if (Threshold >= 10)

int PWM_DutyCycle =
((float)PWMValue / 255.0) * 100.0;

Duty Cycle = “);



PreviousPotValue =





See the serial monitor:

This is my test setup (Arduino Uno + Proto Shield):

Closing Remarks

Even with small lifting electromagnets, you can build useful things like magnetic lifters, pick and place lift magnets, little cranes, hook-up accessories, auto-throttle switches, electro-magnetic displays, electro-mechanical chess boards, etc.

Additionally, remotely operated lifting magnets can be controlled through a common wired electric switch, a wireless remote-control handset or a smart IoT device. Note that when lifting or handling heavy loads a minimum-security margin must be respected, the weight of the load cannot exceed 33% (or so) of the magnetic force.

In the next part of this series, I will focus on getting started with some major-level lifting electromagnet driver/controller projects. Prepare to inspire and amaze!

Special Thanks!

Leave a Comment