Submersible Mixer
Compact underwater mixer that keeps solids in suspension and tank contents uniform, installed and lifted out on a guide rail.
Mixing below the surface
Adroit’s Submersible Mixer keeps solids in suspension and the contents of a tank uniformly mixed. The motor and propeller sit underwater, so there is no bridge or superstructure over the tank, and the mixer can be lifted out on its guide rail for service without draining the tank.
It is used in wastewater treatment to stop sludge settling, in industrial processes to blend chemicals and liquids, and in agriculture to homogenise slurry for easier handling.

Where submersible mixers are needed
Application
Any tank where solids must not settle needs mixing. In an STP that includes anoxic tanks, equalisation tanks, sludge holding tanks and the non-aerated phases of SBR cycles. In industry, submersible mixers blend chemicals and keep process fluids consistent.
How a submersible mixer works
Operation
A sealed, submersible motor drives a propeller directly or through a gearbox. The propeller pushes a strong horizontal jet of liquid across the tank, which sets up a circulation pattern through the whole volume. That flow keeps solids moving and prevents dead zones.
The mixer is mounted on a vertical guide rail fixed to the tank wall. It can be lowered into place and set at the depth and angle needed, then raised along the rail when maintenance is due.
Where Adroit submersible mixers are used
Application areas
Municipal sewage treatment plants
Anoxic tanks, equalisation tanks and sludge holding tanks.
Municipal water treatment plants
Mixing in process and sludge tanks.
Effluent treatment plants
Homogenisation and solids suspension.
Food and beverage industry
Process and wastewater mixing.
Chemical processing plants
Blending chemicals and keeping fluids consistent.
Agricultural lagoons
Homogenising slurry for handling and irrigation.
Why choose Adroit's submersible mixer
Features & advantages
Low energy consumption
Efficient propeller design moves large volumes of liquid for little power.
Anti-clogging design
Propeller shape sheds rags and fibres.
Guide rail system
Easy installation, adjustment and removal for maintenance.
Compact structure
No bridge or superstructure needed over the tank.
Long service life
Built for continuous duty in wastewater.
Motor options
Motor rating and propeller selected for each tank.
Submersible mixer specifications
Dimensions & manufacturing
Guide rail with lifting arrangement
Installation
Tank size and shape, liquid depth, solids concentration, required flow velocity
Selection basis
Frequently asked questions
FAQ
What does a submersible mixer do in wastewater treatment?
It keeps solids in suspension and circulates the tank contents so the whole tank stays uniformly mixed.
Does a submersible mixer aerate the water?
No. It mixes but does not add oxygen. For aeration, use an aerator such as the Cycloxyâ„¢ jet aspirator.
Where are submersible mixers used in an STP?
Mainly in anoxic tanks, equalisation tanks, sludge holding tanks and SBR basins during non-aerated phases.
How is a mixer selected?
From the tank dimensions and shape, liquid depth, solids concentration and the flow velocity needed to keep solids moving.
Can the mixer be serviced without draining the tank?
Yes. It is lifted out along its guide rail.
Brochures, datasheets & media
Downloads
Documents
files
Photos
photos
Videos
videos
Explore more solutions
Related technologies
Cycloxy Batchflow® SBR
SBR system using Cycloxy™ jet aspirators for aeration and mixing, with the Batchflow® floating weir decanter for controlled decanting.
Batchflow® SBR
Sequencing batch reactor (SBR) system with a floating weir decanter built specifically for SBR plants.
Agitator & Flash Mixer
Dynamically balanced flash mixers and agitators for coagulant dosing, chemical preparation and process mixing, for plants up to 150 MLD.
Cycloxyâ„¢ Jet Aspirator
Aeration and mixing from one machine. Draws in atmospheric air through a hollow shaft and breaks it into fine bubbles underwater, with no blower and no diffuser grid.
Need fine screening sized for your inlet works?
Send us your flow rate, channel dimensions and the fine-solids you need to capture — our engineers will recommend the right Stepflow configuration.
Call us
+91 70248-48383Email
[email protected]
Enquire about Submersible Mixer
Product enquiry
Tell us about your requirement and we’ll respond with specifications, references and pricing.
Request a quotation
Fields marked * are required. We typically respond within one business day.
(() => {
if (window.adroitEnquiryButtonsReady) return;
window.adroitEnquiryButtonsReady = true;
const rootSelector = ".adroit-contact-form";
const buttonSelector = [
"#wsf-1-field-38",
"#wsf-1-field-39",
].join(", ");
const values = {
"wsf-1-field-38": "Product Enquiry",
"wsf-1-field-39": "Service Request",
};
function getFormRoot(element) {
return element.closest(rootSelector);
}
function getHiddenField(form) {
let field = form.querySelector(
'input[data-enquiry-type-field="true"]'
);
if (!field) {
field = document.createElement("input");
field.type = "hidden";
field.name = "inquiry_type";
field.dataset.enquiryTypeField = "true";
form.appendChild(field);
}
return field;
}
function getErrorRow(formRoot) {
let errorRow = formRoot.querySelector(
'[data-enquiry-error-row="true"]'
);
if (errorRow) return errorRow;
const fieldsGrid = formRoot.querySelector(".wsf-fields");
const firstField = formRoot.querySelector(
"#wsf-1-field-wrapper-20"
);
if (!fieldsGrid || !firstField) return null;
errorRow = document.createElement("div");
errorRow.className =
"wsf-extra-small-12 wsf-tile wsf-field-wrapper";
errorRow.dataset.enquiryErrorRow = "true";
errorRow.hidden = true;
const errorMessage = document.createElement("div");
errorMessage.className = "wsf-invalid-feedback";
errorMessage.textContent = "This field is required.";
errorMessage.setAttribute("aria-live", "polite");
errorRow.appendChild(errorMessage);
fieldsGrid.insertBefore(errorRow, firstField);
return errorRow;
}
function showError(formRoot) {
const errorRow = getErrorRow(formRoot);
if (!errorRow) return;
errorRow.hidden = false;
const errorMessage = errorRow.querySelector(
".wsf-invalid-feedback"
);
if (errorMessage) {
errorMessage.style.display = "block";
}
formRoot.querySelectorAll(buttonSelector).forEach((button) => {
button.classList.add("is-invalid");
button.setAttribute("aria-invalid", "true");
});
}
function clearError(formRoot) {
const errorRow = formRoot.querySelector(
'[data-enquiry-error-row="true"]'
);
if (errorRow) {
errorRow.hidden = true;
}
formRoot.querySelectorAll(buttonSelector).forEach((button) => {
button.classList.remove("is-invalid");
button.removeAttribute("aria-invalid");
});
}
function hasSelection(formRoot) {
return Boolean(
formRoot.querySelector(
"#wsf-1-field-38.is-selected, #wsf-1-field-39.is-selected"
)
);
}
function validateEnquiry(formRoot) {
if (hasSelection(formRoot)) {
clearError(formRoot);
return true;
}
showError(formRoot);
return false;
}
function selectButton(button) {
const formRoot = getFormRoot(button);
const form = button.closest("form");
if (!formRoot || !form) return;
formRoot.querySelectorAll(buttonSelector).forEach((item) => {
const isSelected = item === button;
item.classList.toggle("is-selected", isSelected);
item.setAttribute("aria-pressed", String(isSelected));
});
getHiddenField(form).value = values[button.id] || "";
clearError(formRoot);
}
/*
* Window capture runs before WS Form's button click handler.
* This stops WS Form AJAX submission only when enquiry type is missing.
*/
window.addEventListener(
"click",
(event) => {
const enquiryButton = event.target.closest(
`${rootSelector} #wsf-1-field-38, ${rootSelector} #wsf-1-field-39`
);
if (enquiryButton) {
selectButton(enquiryButton);
return;
}
const submitButton = event.target.closest(
`${rootSelector} button[type="submit"], ${rootSelector} input[type="submit"]`
);
if (!submitButton) return;
const formRoot = getFormRoot(submitButton);
if (!formRoot) return;
if (validateEnquiry(formRoot)) return;
event.preventDefault();
event.stopImmediatePropagation();
},
true
);
/*
* Covers pressing Enter in a form field.
*/
window.addEventListener(
"submit",
(event) => {
const form = event.target;
if (!(form instanceof HTMLFormElement)) return;
const formRoot = getFormRoot(form);
if (!formRoot) return;
if (validateEnquiry(formRoot)) return;
event.preventDefault();
event.stopImmediatePropagation();
},
true
);
function initialize() {
document.querySelectorAll(rootSelector).forEach((formRoot) => {
const form = formRoot.querySelector("form");
formRoot.querySelectorAll(buttonSelector).forEach((button) => {
button.classList.remove("is-selected", "is-invalid");
button.removeAttribute("aria-invalid");
button.setAttribute("aria-pressed", "false");
});
clearError(formRoot);
if (form) {
getHiddenField(form).value = "";
}
});
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", initialize, {
once: true,
});
} else {
initialize();
}
})();