EnduraOMP: Controlled Lubrication for Rotary Engines
My MEng individual project: an electronically controlled oil metering system for rotary engines, built as a machined prototype.
On this page
EnduraOMP is my MEng individual project at the University of Strathclyde: a lubrication system for rotary (Wankel) engines built around an electronically controlled gear pump, a dedicated clean-oil tank and a dashboard oil-level gauge. The project ran from problem research through to a machined and assembled prototype of the pump, tank and gauge.
The problem
Rotary engines are compact, smooth and power-dense, which is why they keep coming back, from Mazda’s MX-30 R-EV range extender to UAV propulsion and generator sets. But they have never shaken their reputation for being short-lived, and the causes are closely linked:
- Seal wear and compression loss. Apex, side and corner seals slide at high speed against the housings and wear down, costing compression and power.
- Oil consumption and carbon build-up. Oil is deliberately burned in the chambers, and conventional crankcase oils leave ash deposits that foul plugs and stick seals.
- Thermal distortion. Large temperature differences across the housings distort sealing surfaces and accelerate the cycle.
Through teardown work, user research with rotary specialists and benchmarking, I identified internal lubrication as the place where an intervention would do the most good. It drives seal wear, deposits and thermal behaviour directly, yet the stock system gives the user no visibility and limited control.
The stock system’s delivery
Mazda doesn’t publish how much oil the stock pump delivers, and I haven’t measured it. For sizing I worked to an assumed schedule rising from about 0.15 mL/min at idle to about 6.5 mL/min at 9,500 rpm. How I log a running engine, and what the commanded pump step read, is in my 13B-MSP engine data notes.
Design development
The pump
The pump is an external gear pump driven by a 12 V brushed DC gearmotor. It delivers a repeatable volume per revolution and is controlled by PWM, so delivery isn’t slaved to engine speed. A first concept ran the oil through a central gear pump surrounded by coolant channels, but it proved impractical to seal and machine. After four iterations I settled on a sectioned housing, much as a rotary engine is built up in layers, so coolant channels surround the pump cavity to warm the oil on a cold start while the oil and coolant loops stay sealed from each other. A flow simulation showed continuous coolant flow around the pump with no stagnant regions and a temperature drop of about 10 K across the path.
The housing and coolant plate are CNC-machined 6063 aluminium, chosen from a materials screening for corrosion resistance and machinable sealing faces. Brass slide plates act as sacrificial wear faces, the covers are 3D-printed ASA, and NBR perimeter gaskets replaced the individual O-rings of the first design to cut the number of leak paths. Two O-rings remain, in grooves on the coolant plate. The pump mounts on the original oil pump interface through an aluminium bracket that also blanks off the old oil galleries. I settled the 30° upward angle of the mount with clay models, because it gave the clearest access to the bolts and hoses.
Control
The control board is an ESP32 PCB built into the pump body. The idea is that a calibrated map, not a fixed mechanical relationship, sets the flow from engine speed and condition: higher flow for cold starts, stable low flow at hot idle and scaled delivery under high load. The architecture reads engine speed, oil temperature, oil pressure and tank level. The prototype firmware is a simpler feed-forward map from engine speed, taken from tachometer pulses, with corrections for cranking, high load and hot running. It also runs a short priming event at ignition and has a limp mode for critically low oil and a fault state for implausible sensor readings. I haven’t tested those responses on an engine.
The same hardware is meant to suit automotive, generator and UAV duty, with only the calibration maps and protective actions changing. I have only worked with the 13B-MSP.
Tank and gauge
The tank is a dedicated 1 L external reservoir, so the engine injects clean, purpose-chosen oil rather than drawing from the sump. I chose Renewable Lubricants’ Bio-Rotary, an ashless, ester-based oil made for rotary engines, because ash from crankcase oil is a major source of deposits. A float-type resistive sender low in the tank warns of low oil before the pump can ingest air, a mesh filter sits in the filler neck, and mirrored outlet ports let the same tank serve either side of an installation.
The gauge is a separate dashboard module with a 12-segment LED bar, driven by an LM3914 from a PWM signal and zoned green, amber and red. I chose an analogue bar driver over a digitally addressed display so the indicator depends as little as possible on firmware. Rotary ownership normally means careful dipstick checks, and this puts the oil level where you can see it.
Prototyping
The boards were manufactured by JLCPCB and hand-assembled. The pump housing, coolant plate and slide plates were CNC-machined externally and anodised, gaskets were cut by hand from 1 mm NBR sheet, and the remaining parts were printed in ASA. An early translucent 3D-printed gear pump had already checked that the gears meshed and the gasket sealed. The tank is an existing tank modified to take the level sender, with a machined cap, and the gauge base is laser-cut steel that bends to fit different mounting surfaces.
For the one-off pump I controlled only the functionally important features tightly and left the rest at ±0.1 mm, biasing the slide plates slightly undersize and the housing slightly oversize so that it would go together. That choice cost efficiency later.
Testing
I tested the prototype subsystem by subsystem.
- Electronics. The motor control board ran the motor smoothly across the PWM range. The gauge board had its data-connector ground missing from the regulator ground, which I fixed with a jumper, and its bar was jittery until I averaged the PWM signal over a longer window. Both fixes are planned for the next board revision.
- Engine fitment. The pump mounted on the OEM pump interface with practical hose and tool access, and the original seal sealed against the engine. This was a fitment check.
- Fluid. The coolant loop flowed smoothly with no external leaks, and the pump moved oil from the tank through the circuit. I didn’t measure the volume, and the flow was less consistent than intended, most likely from internal leakage across the slide-plate interfaces. There was no leakage between the oil and coolant loops.
Outcome
The tests showed that the design can be built, assembled, mounted on the engine, controlled and fluid-tested at prototype level. The installed system is estimated at about 1.9 kg including 860 g of oil in a full tank, against about 2.9 kg for the stock pump and its drive, a saving of about 1 kg. A design-stage costing came to about £330 a unit to manufacture. I also took the concept back to rotary specialists, vehicle mechanics and an engineer. They were broadly positive about the dedicated tank and the visible oil level, and raised the same practical points as the tests: tolerance control in the pump, positive gasket location and electrical grounding.
The pump hasn’t yet run on an engine as a complete system, so there is no durability result. What the project shows is that treating rotary lubrication as a controlled, testable, user-visible subsystem is a buildable route to a more reliable rotary engine.
Further development
The main next step is an instrumented on-engine test of the pump, to assess flow, thermal behaviour, transient response and fault handling under real load. Tighter control of the slide-plate faces would improve volumetric efficiency, and the electronics need a larger ground pour and better filtering. After that come a direct ECU interface so engine signals can be used without extra sensing, fault logging, and calibration maps for automotive, generator and UAV duty.
Technical review: