Chain Flight Sludge Scraper
Continuous sludge and scum collection for rectangular settling tanks, driven slowly and steadily by heavy-duty chains.
Sludge collection for rectangular tanks
Adroit’s Chain Flight Sludge Scraper collects settled sludge and floating scum in rectangular sedimentation tanks. Scraper flights, carried by chains along the tank, push sludge on the floor to a hopper and move scum on the surface to a scum trough, in one continuous movement.
It is used in water treatment plants, sewage treatment plants and industrial effluent plants that use rectangular clarifiers, including layouts where adjoining tanks share common walls.

Where a chain and flight scraper is used
Application
Rectangular tanks need a different collector from circular ones. A chain and flight scraper covers the whole floor of a long tank, moving sludge steadily to one end without stirring up the settled layer. It is used for primary and secondary sedimentation tanks and for settling basins in process industries.
How the chain flight scraper works
Operation
Heavy-duty chains run in a loop around sprockets fixed to the tank walls. Scraper flights are attached across the tank between the chains.
On the bottom run, the flights travel slowly along the tank floor and push settled sludge towards the hopper. On the return run near the surface, the same flights push floating scum towards the scum trough. The chains move slowly so the settled sludge is moved without being disturbed and carried back into suspension. A low-speed drive keeps power use and wear low.
Where chain flight scrapers are used
Application areas
Municipal sewage treatment plants
Primary and secondary rectangular sedimentation tanks.
Water treatment plants
Rectangular sedimentation tanks.
Industrial effluent treatment plants
Sludge and scum removal in ETP settling tanks.
Process industries
Clarifiers and settling basins.
Why choose Adroit's chain flight scraper
Features & advantages
Sludge and scum in one system
Floor sludge and surface scum removed by the same flights.
Continuous operation
Steady sludge collection without batch cleaning.
Corrosion-resistant chains and flights
Heavy-duty components for long life in wastewater.
Low speed, low energy
Less wear and lower power consumption.
Easy maintenance
Minimal downtime for routine checks.
Made to fit
Designed for rectangular tanks of different lengths, widths and depths.
Design basis
Dimensions & manufacturing
Rectangular sedimentation tank / clarifier
Tank type
Chains, sprockets and scraper flights
Arrangement
Low-speed geared drive
Drive
Designed to suit the tank
Tank dimensions
Corrosion-resistant chains and flights
Materials
Frequently asked questions
FAQ
What is a chain flight sludge scraper?
It is a sludge collector for rectangular tanks. Flights carried by chains scrape settled sludge along the floor to a hopper and move floating scum to a trough.
Can it remove scum as well as sludge?
Yes. On the return run near the surface, the flights push scum to the scum trough.
Why is it run so slowly?
Slow movement moves the sludge without stirring it back into the water, and reduces wear and power.
What does routine maintenance involve?
Checking chain tension and alignment, flights, sprockets, wear shoes and the drive.
How is it sized?
From tank length, width and depth, sludge load and hopper position.
Brochures, datasheets & media
Downloads
Documents
files
Photos
photos
Videos
videos
Explore more solutions
Related technologies
Grit Mechanism (Detritor)
Square detritor with rotating scraper and reciprocating rake classifier that settles, collects and washes grit before it can wear out pumps and fill up tanks.
Clarifier
Scraper mechanisms for circular primary and secondary clarifiers, with bridge and drive arrangements matched to tank size.
Clariflocculator
Flocculation and clarification in one circular tank, designed to CPHEEO guidelines, in full bridge, half bridge, central and peripheral drive versions up to 60 m diameter.
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 Chain Flight Sludge Scraper
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();
}
})();