New OpenGrab EPM V3 for UAV cargo holding

NicaDrone is announcing the 3rd generation of electro permanent magnet developed with Zubax Robotics with a bunch of new features.

First a crappy video: 


The OpenGrab EPM v3 is an electropermanent magnet, combining the advantages of electro and permanent magnets. The device creates a very strong magnetic contact with a ferrous target. It supports UAVCAN, RC PWM and push button operation. OpenGrab EPM v3 has been developed by NicaDrone in cooperation with Zubax Robotics.

Theory of operation

The NXP LPC11C24 MCU drives a mosfet connected to a transformer in a flyback configuration to charge the main PET capacitors up to 475 V.

A thyristor bridge is used to discharge the capacitor in either direction through the winding inside the AlNiCo material. This results in a short, 20 us 300 A pulse creating a 100 kAm field in the AlNiCo material. This causes the magnetic domains in the AlNiCo magnets to align in a particular orientation to form a magnetic circuit with a ferrous target.

An ON command results in the charging and discharging the capacitors 3 times to achieve full magnetization.

An OFF command results in charging and discharging the capacitors several times with changing direction and decreasing amplitude, effectively degaussing the AlNiCo material.


  • Cargo lifting in UAV and robotic applications.
  • Robot workholding.
  • Education, demonstration of magnetic properties.


  • Steady state power under 50 mW
  • Short cycle time
  • Variety of interfaces:
    • RC PWM
    • UAVCAN
    • Push button
  • Open source firmware and hardware
  • 5 V supply voltage, can be powered via RC PWM connector or via UAVCAN port

Mechanical properties

The bottom surface of the magnet should be kept clean, because dirt or metal shavings can be crushed into the surface when the magnet is turning on, causing an insulation breakdown.

The diagrams below document the mechanical arrangement and dimensions (click to enlarge):

pinout.jpg EPM_V3_simple.jpg


Tcycle(ON)Time to complete one cycle0.75s
Tcycle(OFF)Time to complete one cycle1.2s
FmaxMax holding force200N
VsupplyOperating voltage4.755.05.5V
IsteadySteady state current draw10mA
IpeakPeak current draw during cycle execution1000mA
mMass of the device65g
toperatingOperating temperature-40+70°C
RHoperatingOperating humidity (non-condensing)075%


For debugging we recommend the Zubax DroneCode Probe, a multi-purpose debugger for STM32 and other Cortex-M based microcontrollers. It allows one to test and debug firmware on the microcontroller and is compatible with majority of IDEs (Eclipse and derivatives, CodeBlocks, etc.). Zubax DroneCode Probe is equipped with DroneCode-approved connectors which enables seamless compatibility with DroneCode projects such as Pixhawk  and NicaDrones EPM V3.


E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Hello JB

    A pickup would be easy to do if you got accurate positioning and can hover. 

    I'd say fix the weight, fix the charge time in the firmware and my guess is that we can get it reliably within 100ms. 



  • Thanks my two V1s still working great!

  • Hi Andreas

    Our original use case would have been for last years Australian Outback Challenge where we needed to accurately drop 500ml of water in a crush proof bottle. The winner CUAV managed to get it within 2.5m using a parachute and two stage release using a fixed wing flying at around 50kmh. Timing is obviously critical at those speeds.

    Currently the challenge for next year doesn't require a drop, rather a pickup. But I'm thinking we might see another drop required in the future and your system looks like a clean solution aerodynamically, provided it can be triggered accurately. 

    There's no issue in the delay itself provided the delay is always consistent ie it takes the same time every time to effect a release after it's triggered. All that needs to be done in the targeting code is to allow for whatever delay is required to offset the time it takes between trigger and release.

    So I suppose, the real question is if your system can produce reliable and repeatable release timings regardless of the load (mass/aerodynamic load) and system setup (input voltage etc).

    BTW feel free to PM me your response in German if that helps. 

    Regards JB

  • Thats is an interesting use case. 

    Also the the time would not only depend on the the mass attached but also on the input voltage. 

    On top of my head I don't see any easy way to get this within 500ms. But please chat me up on skype and we can discuss it further



  • Very nice! Again!

    Is it possible to get feedback of release to the autopilot? I was also wondering if the release timing depends on it's mass and if this can be timed/configured accurately for precision drops in fast forward flight. If it takes up to 1.2seconds on release, does that mean a heavy item could release nearly a second earlier than a light item that requires the full 3 pulses to degauss? 1 second is otherwise 28m out at 100kmh. I'm hoping there a way to consistently and accurately time the drop.

    Regards JB

This reply was deleted.