Skip to main content

Autoflo Technology

Auto-Dosing Unit | Autoflo Technology :root { --accent: #800059; --accent-tint: #FAEEF5; --cta-bg: #FEBE4F; --dark-bg: #2A001D; --bg: #FFFFFF; --text: #111827; --muted: #4B5563; --container: 1240px; --ease: cubic-bezier(0.22, 1, 0.36, 1); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; overflow-x: clip; width: 100%; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; overflow-x: clip; line-height: 1.7; } a { color: inherit; text-decoration: none; } .container { max-width: var(--container); margin: 0 auto; padding: 0 40px; } .page-hero { background: var(--dark-bg); padding: 130px 0 0; position: relative; overflow: hidden; min-height: 550px; } .page-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(42,0,29,0.95) 0%, rgba(128,0,89,0.75) 100%); } .page-hero-inner { position: relative; z-index: 2; padding-bottom: 0; } .breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; font-size: 13px; color: rgba(255,255,255,0.45); flex-wrap: wrap; } .breadcrumb a { color: rgba(255,255,255,0.45); transition: color 0.2s; } .breadcrumb a:hover { color: var(--cta-bg); } .breadcrumb-sep { color: rgba(255,255,255,0.25); } .page-hero-label { display: block; color: var(--cta-bg); font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; } .page-hero h1 { font-family: 'Outfit', sans-serif; font-size: 56px; font-weight: 700; color: #fff; letter-spacing: -0.02em; line-height: 1.08; margin-bottom: 20px; } .page-hero-desc { font-size: 17px; color: rgba(255,255,255,0.7); line-height: 1.65; max-width: 620px; margin-bottom: 40px; } .reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.65s ease, transform 0.65s ease; } .reveal.is-visible { opacity: 1; transform: none; } @media (max-width: 1024px) { .container { padding: 0 24px; } } @media (max-width: 767px) { .page-hero h1 { font-size: 40px; } }
Dosing Technologies

Auto-Dosing Unit

Compact, self-contained dosing systems built around a peristaltic pump and a programmable timer or control board — installed once and left to run. From laundry and dishwashing to enzyme dosing and swimming pool treatment, each unit automates chemical dosing for commercial and industrial sites across Malaysia.

(function () { const obs = new IntersectionObserver(entries => { entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('is-visible'); obs.unobserve(e.target); } }); }, { threshold: 0.08 }); document.querySelectorAll('.reveal').forEach(el => obs.observe(el)); })();
Auto-Dosing Unit | Autoflo Technology :root { --accent: #800059; --accent-tint: #FAEEF5; --cta-bg: #FEBE4F; --cta-text: #331A00; --dark-bg: #2A001D; --bg: #FFFFFF; --bg-alt: #F3F4F6; --text: #111827; --muted: #4B5563; --border: #E5E7EB; --container: 1240px; --ease: cubic-bezier(0.22, 1, 0.36, 1); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; overflow-x: clip; width: 100%; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; overflow-x: clip; line-height: 1.7; } a { color: inherit; text-decoration: none; } img { display: block; max-width: 100%; } button { font-family: inherit; cursor: pointer; border: none; background: none; } .container { max-width: var(--container); margin: 0 auto; padding: 0 40px; } .btn { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; border-radius: 4px; padding: 13px 28px; transition: all 0.3s var(--ease); white-space: nowrap; cursor: pointer; position: relative; overflow: hidden; font-family: inherit; border: none; } .btn::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, transparent, rgba(255,255,255,0.2), transparent); transform: skewX(-25deg); transition: left 0.6s var(--ease); pointer-events: none; } .btn:hover::after { left: 150%; } .btn-accent { background: linear-gradient(135deg, #ffd080, #FEBE4F); color: var(--cta-text); box-shadow: 0 4px 12px rgba(254,190,79,0.2); } .btn-accent:hover { background: linear-gradient(135deg, #ffe9a8, #ffd080); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(254,190,79,0.3); } .cat-intro { padding: 100px 0; background: var(--bg); border-bottom: 1px solid var(--border); } .cat-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; } .cat-intro-image { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 4 / 5; background: var(--bg-alt); box-shadow: 0 24px 48px rgba(0,0,0,0.08); } .cat-intro-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; } .cat-intro-image:hover img { transform: scale(1.03); } .cat-intro-badge { position: absolute; top: 16px; left: 16px; background: var(--dark-bg); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 5px 12px; border-radius: 4px; border: 1px solid rgba(255,255,255,0.15); } .cat-intro-label { font-size: 14px; font-weight: 600; letter-spacing: 0.05em; color: var(--accent); text-transform: uppercase; display: inline-block; margin-bottom: 8px; } .cat-intro-title { font-family: 'Outfit', system-ui, sans-serif; font-size: clamp(32px, 4vw, 40px); font-weight: 600; color: var(--text); letter-spacing: -0.02em; line-height: 1.15; margin-top: 4px; } .cat-intro-desc { font-size: 17px; color: var(--muted); line-height: 1.7; margin-bottom: 24px; } .feature-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; } .feature-item { display: flex; align-items: flex-start; gap: 12px; } .feature-check { width: 20px; height: 20px; border-radius: 50%; background: var(--accent-tint); border: 1px solid rgba(128,0,89,0.2); flex-shrink: 0; margin-top: 1px; display: flex; align-items: center; justify-content: center; } .feature-check svg { width: 11px; height: 11px; color: var(--accent); } .feature-item p { font-size: 15px; color: var(--muted); line-height: 1.6; } .feature-item strong { color: var(--text); font-weight: 600; } .reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.65s ease, transform 0.65s ease; } .reveal.is-visible { opacity: 1; transform: none; } @media (max-width: 1024px) { .container { padding: 0 24px; } } @media (max-width: 900px) { .cat-intro-grid { grid-template-columns: 1fr; gap: 40px; } }
Auto-Dosing Unit
Dosing Technologies
Auto-Dosing Unit

Compact Dosing, Built to Run Unattended

An Auto-Dosing Unit (ADU) pairs a peristaltic dosing pump with a timer, controller, or programmable circuit board inside a single, wall-mountable enclosure. The peristaltic pump moves chemical by compressing a flexible tube against a rotor — a simple mechanism with no seals or check valves in contact with the fluid, which suits viscous, corrosive, or particulate-laden liquids well. The controller decides when and how much to dose: on a repeating schedule, on a signal from host equipment, or from a live process reading.

Peristaltic dosing — a rotor compresses a flexible tube to move chemical, so no pump seals are exposed to the fluid being dosed

Timer or controller-driven — dosing follows a programmable schedule, an external signal, or a live pH/ORP/chlorine reading, depending on the application

Compact and self-contained — pump and control electronics share one IP65-rated enclosure, ready for wall mounting near the point of use

Four application types — Self-Service Laundry, Enzyme Dosing, Dishwashing, and Swimming Pool, each matched to its own dosing profile

Request Engineering Quote
(function () { const obs = new IntersectionObserver(entries => { entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('is-visible'); obs.unobserve(e.target); } }); }, { threshold: 0.08 }); document.querySelectorAll('.reveal').forEach(el => obs.observe(el)); })();
Auto-Dosing Unit | Autoflo Technology :root { --cta-bg: #FEBE4F; --cta-text: #331A00; --dark-bg: #2A001D; --bg: #FFFFFF; --text: #111827; --container: 1240px; --ease: cubic-bezier(0.22, 1, 0.36, 1); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; overflow-x: clip; width: 100%; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; overflow-x: clip; line-height: 1.7; } a { color: inherit; text-decoration: none; } button { font-family: inherit; cursor: pointer; border: none; background: none; } .container { max-width: var(--container); margin: 0 auto; padding: 0 40px; } .btn { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; border-radius: 4px; padding: 13px 28px; transition: all 0.3s var(--ease); white-space: nowrap; cursor: pointer; position: relative; overflow: hidden; font-family: inherit; border: none; } .btn::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, transparent, rgba(255,255,255,0.2), transparent); transform: skewX(-25deg); transition: left 0.6s var(--ease); pointer-events: none; } .btn:hover::after { left: 150%; } .btn-accent { background: linear-gradient(135deg, #ffd080, #FEBE4F); color: var(--cta-text); box-shadow: 0 4px 12px rgba(254,190,79,0.2); } .btn-accent:hover { background: linear-gradient(135deg, #ffe9a8, #ffd080); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(254,190,79,0.3); } .context-strip { background: var(--dark-bg); padding: 0; border-bottom: 1px solid rgba(255,255,255,0.06); } .context-strip-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0; flex-wrap: wrap; } .context-strip-left { display: flex; align-items: center; gap: 16px; } .context-count { font-family: 'Outfit', sans-serif; font-size: 28px; font-weight: 800; color: #fff; line-height: 1; } .context-label { font-size: 13px; color: rgba(255,255,255,0.5); font-weight: 500; } .context-divider { width: 1px; height: 32px; background: rgba(255,255,255,0.15); } .context-cats { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .context-cat-badge { font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cta-bg); background: rgba(254,190,79,0.1); border: 1px solid rgba(254,190,79,0.2); padding: 4px 10px; border-radius: 3px; } @media (max-width: 1024px) { .container { padding: 0 24px; } } @media (max-width: 900px) { .context-strip-inner { flex-direction: column; align-items: flex-start; gap: 12px; } }
4
Application Types
Self-Service Laundry ADU Enzyme Dosing ADU Dishwashing ADU Swimming Pool ADU
Request Engineering Quote
Auto-Dosing Unit | Autoflo Technology :root { --accent: #800059; --accent-dk: #5A003E; --accent-tint: #FAEEF5; --cta-bg: #FEBE4F; --cta-text: #331A00; --dark-bg: #2A001D; --bg: #FFFFFF; --bg-section: #F8F9FA; --bg-alt: #F3F4F6; --text: #111827; --muted: #4B5563; --border: #E5E7EB; --container: 1240px; --ease: cubic-bezier(0.22, 1, 0.36, 1); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; overflow-x: clip; width: 100%; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; overflow-x: clip; line-height: 1.7; } a { color: inherit; text-decoration: none; } img { display: block; max-width: 100%; } ul { list-style: none; } .container { max-width: var(--container); margin: 0 auto; padding: 0 40px; } .product-grid-section { padding: 64px 0 100px; background: var(--bg-section); } .grid-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; } .grid-label { font-size: 14px; font-weight: 600; letter-spacing: 0.05em; color: var(--accent); text-transform: uppercase; display: inline-block; margin-bottom: 8px; } .grid-title { font-family: 'Outfit', sans-serif; font-size: 32px; font-weight: 700; color: var(--text); letter-spacing: -0.02em; } .grid-count-badge { font-size: 13px; font-weight: 700; color: var(--accent); background: var(--accent-tint); border: 1px solid rgba(128,0,89,0.15); padding: 6px 14px; border-radius: 4px; white-space: nowrap; } .filter-bar { display: flex; gap: 8px; margin-bottom: 40px; flex-wrap: wrap; align-items: center; } .product-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .product-card { background: var(--bg); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s; position: relative; } .product-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(to right, var(--accent), var(--accent-dk)); opacity: 0; transition: opacity 0.3s; z-index: 1; } .product-card:hover { border-color: rgba(128,0,89,0.25); box-shadow: 0 12px 32px rgba(0,0,0,0.08); transform: translateY(-4px); } .product-card:hover::before { opacity: 1; } .product-card-image { aspect-ratio: 4/3; overflow: hidden; background: var(--bg-alt); position: relative; } .product-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; } .product-card:hover .product-card-image img { transform: scale(1.06); } .product-card-body { padding: 18px 18px 0; flex: 1; display: flex; flex-direction: column; gap: 6px; } .product-card-tag { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); } .product-card-name { font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 700; color: var(--text); line-height: 1.3; letter-spacing: -0.01em; } .product-card-desc { font-size: 12px; color: var(--muted); line-height: 1.6; flex: 1; margin-top: 4px; } .product-card-footer { padding: 14px 18px 18px; border-top: 1px solid var(--border); margin-top: 14px; } .product-card-cta { display: flex; align-items: center; justify-content: space-between; } .product-card-cta span { font-size: 13px; font-weight: 600; color: var(--accent); display: inline-flex; align-items: center; gap: 5px; transition: gap 0.2s; cursor: pointer; } .product-card:hover .product-card-cta span { gap: 9px; } .product-card-cta svg { width: 13px; height: 13px; } .reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.65s ease, transform 0.65s ease; } .reveal.is-visible { opacity: 1; transform: none; } .stagger > * { opacity: 0; transform: translateY(16px); transition: opacity 0.5s ease, transform 0.5s ease; } .stagger.is-visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:0.04s; } .stagger.is-visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:0.08s; } .stagger.is-visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:0.12s; } .stagger.is-visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:0.16s; } @media (max-width: 1024px) { .container { padding: 0 24px; } .product-cards { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 900px) { .product-cards { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 767px) { .product-cards { grid-template-columns: repeat(2, 1fr); gap: 12px; } .grid-header { flex-direction: column; align-items: flex-start; } } @media (max-width: 480px) { .product-cards { grid-template-columns: 1fr; } }
Browse by Application

All Application Types

4 Types
Self-Service Laundry ADU
Peristaltic Pump + Controller
Self-Service Laundry ADU

Dosing units for coin-op and self-service laundromats, dispensing detergent and softener into each wash cycle on a timed or signal-triggered basis. Multi-pump controllers run several wash programmes from one unit.

Enzyme Dosing ADU
Peristaltic Pump + Controller
Enzyme Dosing ADU

Timed enzyme dosing for grease traps and drain lines in commercial kitchens, breaking down FOG (fats, oils and grease) and keeping lines clear. A weekly programmable timer schedules dosing automatically, with no daily intervention required.

Dishwashing ADU
Peristaltic Pump + Controller
Dishwashing ADU

Dual-pump dosing units for professional dishwashers, metering detergent and rinse aid independently, each set to match wash chemistry and rinse-cycle requirements.

Swimming Pool ADU
Peristaltic Pump + Controller
Swimming Pool ADU

Digital pH, ORP and free-chlorine dosing controllers for pool water treatment, using dosing pumps driven by live probe readings to keep pool chemistry within range automatically.

(function () { const obs = new IntersectionObserver(entries => { entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('is-visible'); obs.unobserve(e.target); } }); }, { threshold: 0.08 }); document.querySelectorAll('.reveal, .stagger').forEach(el => obs.observe(el)); })();
Auto-Dosing Unit | Autoflo Technology :root { --cta-bg: #FEBE4F; --cta-text: #331A00; --dark-bg: #2A001D; --bg: #FFFFFF; --text: #111827; --container: 1240px; --ease: cubic-bezier(0.22, 1, 0.36, 1); --transition: 0.3s cubic-bezier(0.22, 1, 0.36, 1); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; overflow-x: clip; width: 100%; margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; overflow-x: clip; line-height: 1.7; } a { color: inherit; text-decoration: none; } button { font-family: inherit; cursor: pointer; border: none; background: none; } .container { max-width: var(--container); margin: 0 auto; padding: 0 40px; } .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 600; border-radius: 4px; padding: 14px 32px; transition: var(--transition); white-space: nowrap; position: relative; overflow: hidden; font-family: inherit; border: none; cursor: pointer; } .btn::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0) 100%); transform: skewX(-25deg); transition: left 0.6s var(--ease); pointer-events: none; } .btn:hover::after { left: 150%; } .btn-accent { background: linear-gradient(135deg, #ffd080 0%, #FEBE4F 100%); color: var(--cta-text); box-shadow: 0 4px 12px rgba(254,190,79,0.2); border: 1px solid rgba(255,255,255,0.3); } .btn-accent:hover { background: linear-gradient(135deg, #ffe9a8 0%, #ffd080 100%); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(254,190,79,0.3); } .btn-outline-dark { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.35); } .btn-outline-dark:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.6); transform: translateY(-2px); } .footer-cta { background: var(--dark-bg); padding: 60px 0; position: relative; overflow: hidden; } .footer-cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 50% 100% at 20% 50%, rgba(128,0,89,0.45) 0%, transparent 70%); pointer-events: none; } .footer-cta-box { display: flex; align-items: center; justify-content: space-between; gap: 48px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 48px 56px; position: relative; z-index: 2; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } .footer-cta-label { font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cta-bg); margin-bottom: 14px; display: block; } .footer-cta h2 { font-family: 'Outfit', sans-serif; font-size: clamp(22px, 3vw, 34px); font-weight: 700; color: #fff; line-height: 1.25; } .footer-cta p { font-size: 15px; color: rgba(255,255,255,0.55); margin-top: 8px; } .footer-cta-btns { display: flex; gap: 12px; flex-shrink: 0; } @media (max-width: 1024px) { .container { padding: 0 24px; } } @media (max-width: 900px) { .footer-cta-box { flex-direction: column; align-items: flex-start; padding: 32px 28px; } .footer-cta-btns { flex-direction: column; width: 100%; } }