DIY Laundry Weight + Detergent Auto-Measure Module (Step-by-Step)
Save detergent, avoid over/under-dosing, and make laundry foolproof with a small module that measures drum/hamper weight and dispenses the correct detergent dose automatically. This DIY guide shows parts, wiring, calibration, enclosure ideas, and safety tips so you can build a reliable auto-measure module for your washer.
🔍 What This Module Does
The module measures the weight of laundry, calculates the detergent required (based on settings you define: load type, fabric, soil level), and then triggers an electronic dispenser to release the correct amount. It can be used as a standalone smart accessory or integrated with a smart home hub.
🌟 Applications & Benefits
- Consistent detergent dosing (saves product & money)
- Better washing results (avoids over-sudsing)
- Useful for laundromats, families, and care homes
- Reduces environmental impact
- Optional data logging for usage tracking
🧰 Parts & Components
- Load cell (5kg–50kg) with HX711 amplifier
- Microcontroller: ESP32 (Wi-Fi) or Arduino Nano (no Wi-Fi)
- Peristaltic pump or small DC dosing pump (food-safe)
- Solenoid valve (for gravity feed systems)
- 12V DC power supply (or USB power for controller + separate pump supply)
- Buttons or rotary switch for mode selection
- OLED or LCD display for weight & dose readout
- Enclosure (ABS plastic or 3D printed) and mounting hardware
- Tubing & connectors (food-safe PVC or silicone)
- Optional: RTC module, Wi-Fi/Bluetooth for app integration, flow sensor for verification
⚙️ How It Works — System Overview
- Load cell under laundry platform or built into hamper measures weight.
- HX711 reads load cell and sends stable weight value to microcontroller.
- Microcontroller applies a dosing algorithm (g/weight or ml/kg) based on selected mode.
- Controller runs pump or opens valve for an exact time (calibrated) to deliver the required detergent volume.
- Optional: send usage data to phone/app or log to SD card for analysis.
🔧 Step-by-Step Build Instructions
1. Mechanical Platform & Load Cell Mounting
- Mount the load cell on a rigid base. If measuring hamper weight, place load cell under a small platform sized to hold laundry pile.
- Use rubber pads to isolate vibration. Ensure the platform can move slightly so the load cell reads accurately.
- Protect the load cell from moisture (use a small plastic cover) and avoid direct detergent spills.
2. Electronics Wiring (Basic)
- Connect load cell to HX711 amplifier (E+, E-, A+, A- or B+/B- per module spec).
- HX711 -> microcontroller (DT, SCK pins to digital IO).
- Pump/solenoid relay -> transistor or MOSFET driver (with flyback diode) if using DC pump.
- OLED/LCD -> I2C (SDA/SCL) or parallel connection.
- Buttons/switches -> digital inputs with pull-ups.
3. Microcontroller Logic (Pseudo-Flow)
1. Read stable weight (average multiple samples) 2. Subtract tare/empty weight (tare button) 3. Determine load class (small/medium/large) or exact grams 4. Apply dosing formula: dose_ml = base_ml + (weight_kg * ml_per_kg) + soil_adjust 5. Convert dose_ml to pump_time (pump_flow_ml_per_sec known): pump_time_s = dose_ml / pump_flow_ml_per_sec 6. Activate pump for pump_time_s 7. Display results & log event
4. Calibration
- Place known weights and record raw ADC values; build a calibration curve (HX711 -> grams).
- Measure pump flow: run pump for 10s into a measuring cup and compute ml/sec.
- Set base_ml and ml_per_kg empirically (example: 20 ml base + 30 ml per kg).
5. Enclosure & Mounting
- Design an enclosure that keeps electronics away from splashes; place pump near detergent container.
- Use quick-connect tubing and secure clamps to avoid leaks.
- Consider a snap-in mount or adhesive feet to attach the module to a laundry cabinet or near washer.
🧪 Safety & Best Practices
- Use food-safe tubing and pumps if detergent contacts components.
- Keep electronics dry and use proper insulation for AC mains or higher voltages.
- Install a manual override to dispense or stop the pump anytime.
- Prevent overflow: add a float sensor or use a transparent tubing loop to monitor level.
- Label detergent container clearly and secure it so it cannot tip over.
📶 Optional Smart Features
- Wi-Fi (ESP32): push usage stats to the cloud or a phone app and receive firmware updates.
- Bluetooth: local mobile control and manual dispense.
- Voice assistants: integrate with Home Assistant, Alexa, or Google Home.
- Auto-learning: adjust dosing based on wash outcomes or user feedback.
🔍 Example Code Snippet (Arduino/ESP)
// pseudo-example for reading HX711 and running pump (Arduino-style)
#include "HX711.h"
HX711 scale;
const int PUMP_PIN = 5;
float grams_per_count = 0.002; // set by calibration
float pump_flow_ml_s = 1.2; // measured value
void setup(){
pinMode(PUMP_PIN, OUTPUT);
digitalWrite(PUMP_PIN, LOW);
scale.begin(DT_PIN, SCK_PIN);
// tare: set tare offset after powering up
}
void loop(){
long raw = scale.read_average(10);
float grams = (raw - offset) * grams_per_count;
float kg = grams / 1000.0;
float dose_ml = 20 + (kg * 30); // sample formula
float pump_time = dose_ml / pump_flow_ml_s;
digitalWrite(PUMP_PIN, HIGH);
delay((int)(pump_time * 1000));
digitalWrite(PUMP_PIN, LOW);
delay(2000);
}
⚙️ Troubleshooting & Tips
- Unstable weight readings: isolate from vibrations, increase averaging, check wiring.
- Pump under/over-dispenses: re-calibrate pump_flow_ml_s and check for air in tubing.
- Leak: use hose clamps and test for several cycles before regular use.
- False dosing: add debounce and confirmation (e.g., only dispense if weight stable for N seconds).
🎯 Final Thoughts
A laundry weight + detergent auto-measure module is a practical, low-cost retrofit that reduces waste and improves wash results. Start with a simple prototype (load cell + pump) and add smart features later. With careful calibration and safety checks, this module becomes a great addition for homes and small laundromats.
