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.
Aeration and mixing without blowers or diffusers
Cycloxy™ is Adroit’s jet aspirator for wastewater and effluent treatment. A high-speed rotor draws atmospheric air down a hollow shaft and releases it underwater as fine bubbles, while the same thrust mixes the tank. Oxygen transfer and mixing come from a single unit, so there is no blower house, no air header and no diffuser grid on the tank floor to clog or replace.
It is a practical choice for aerated lagoons, equalisation tanks and aeration tanks in STPs and ETPs, and for upgrading existing plants where installing blowers and diffusers would mean draining tanks and civil work.

Where a jet aspirator helps
Application
Biological treatment needs oxygen, and it needs the tank contents kept moving so solids stay in suspension and there are no dead zones. Cycloxy™ provides both. It is used to aerate and mix aerated lagoons and aeration tanks, to keep equalisation tanks fresh and mixed, and to add aeration capacity to existing plants that are overloaded.
Because it can be float-mounted, it can be added to a working tank without draining it.
How Cycloxy™ works
Operation
A motor mounted above the water drives a hollow shaft set at an angle into the tank. At the lower end, a propeller turns at about 1400 rpm and creates a low-pressure zone behind it.
That vacuum draws atmospheric air in through the top of the hollow shaft. The air leaves through a specially designed jet nozzle under the water, where the propeller shears it into fine bubbles. The bubbles give up oxygen as they travel through the tank, while the propeller’s thrust drives a strong current that mixes the tank and prevents settling.
Where Cycloxy™ is used
Application areas
Sewage treatment plants
Aeration and mixing for biological treatment.
ETPs and CETPs
Oxygen transfer and mixing for industrial and common effluent.
Industrial wastewater treatment
Aeration of process effluent in open tanks.
Aerated lagoons and equalisation tanks
Aeration and circulation in large or shallow basins.
Plant upgrades
Adds aeration capacity to existing tanks, often without draining them.
Why choose Cycloxy™
Features & advantages
Two jobs, one machine
Aeration and mixing in a single unit.
No blower, no diffusers
Air is drawn in by the rotor. Nothing on the tank floor to clog.
High oxygen transfer
Up to 2.0 kg O₂/kWh (1.8 to 2.0 kg O₂/kWh).
Flexible mounting
Float, wall or bridge mounted, and suitable for retrofitting in existing basins.
Stainless wetted parts
SS 304 or SS 316 for all submerged parts; coated mild steel for supports.
Low maintenance, controlled noise
Simple design with few wearing parts; noise kept below 85 dBA.
Cycloxy™ specifications
Dimensions & manufacturing
Wetted parts SS 304 / SS 316
Wetted parts
Mild steel with protective coating
Support structure
2.2 kW to 22 kW (selected by tank volume and oxygen demand)
Motor power
About 1400 rpm
Speed
1.8 to 2.0 kg O₂/kWh
Oxygen transfer efficiency
Float / wall / bridge
Mounting
LDPE, PUF-filled for stability
Float (if used)
Below 85 dBA
Noise
2 years against manufacturing defects
Warranty
Frequently asked questions
FAQ
What is a jet aspirator?
It is a mechanical aerator that uses a high-speed propeller on a hollow shaft to draw air from the atmosphere and inject it under the water as fine bubbles, while also mixing the tank.
Does Cycloxy™ need a blower?
No. The propeller creates the suction that draws air down the hollow shaft, so no blower or air piping is needed.
How is the motor size selected?
From the tank volume, the oxygen demand of the wastewater and the mixing needed. Motors range from 2.2 kW to 22 kW, and larger tanks use several units.
Can it be installed in a tank that is already in operation?
Yes. Float-mounted units can be placed in a working tank and anchored, without draining it.
Where is a jet aspirator used?
In sewage treatment plants, ETPs and CETPs, industrial wastewater systems, aerated lagoons and equalisation tanks, and for upgrading existing treatment plants.
What is the warranty?
Two years against manufacturing defects.
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.
Submersible Mixer
Compact underwater mixer that keeps solids in suspension and tank contents uniform, installed and lifted out on a guide rail.
Agitator & Flash Mixer
Dynamically balanced flash mixers and agitators for coagulant dosing, chemical preparation and process mixing, for plants up to 150 MLD.
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 Cycloxy™ Jet Aspirator
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();
}
})();