Measuring Mass Without a Strain Gauge

For a sensing lab project, we built a motorized lever balance that inferred mass from the counterweight position. I implemented the control algorithm, Kalman filtering, and serial communication on Arduino UNO.

An attitude sensor detected the lever’s tilt, and a stepper motor moved the counterweight toward equilibrium. Motor step counts supplied displacement without another distance sensor. Averaging equilibrium positions approached from opposite directions compensated for friction-induced bias.

Turning Motion into a Calibrated Measurement

The reported tests covered 75–750 g with relative error within ±1%. A linear calibration mapped motor position to mass, while filtering stabilized the angle signal used to detect balance.

The prototype also announced measurements through a voice module. Combining hardware and software serial kept sensing, output, and debugging available within the controller’s limited interfaces.