I’ve owned a stylus force scale for about as long as I’ve owned a turntable. they’re cheap as chips, though for me have one major disadvantage. That being a tiny screen that I could neither see, nor read with the aid of a smartphone camera. I’ve been forced to rely on a third party (usually my long suffering and – it has to be said – extraordinarily patient) Dad to adjust my turntable to perfection. I decided I wanted a talking scale, but given that such a thing doesn’t exist in the pocket-sized ‘jewellery scale’ form factor I would have to make my own.
This project was initially based on a Raspberry Pi as I had one to hand, but the Pi is not at all suited to this project. For one thing it must be properly booted and shut down which takes time, extra controls and status indication. It relies on SD card storage for its software which isn’t at all ideal in a permanent project. And the footprint is too large, even that of the tiny Pi Zero.
Given the resources I have available, and my desire to avoid custom PCB fabrication and complex micro controller programming, the Arduino therefore is the best solution. I thought however it would involve significantly more programming effort and, or so I initially thought, more custom circuitry. This turned out not to be the case, thanks to the Talkie library. The library hasn’t been officially updated in some time, this link is to an updated version fixed to compile with the latest Arduino IDE.
I bought a knockoff Arduino Nano, an HX711 module, and a scale from which I pulled the load cell and stainless steel weighing platform. A 5V booster module is used to boost the voltage from 2x AA batteries, which are more than adequate to meet the very small current demands of this circuit. The user interface is simple; a button for power and another to tare or enter calibration mode.
The code uses the HX711 library to control the sensor module and the Talkie library for speech synthesis. I run my speaker directly from one of the Arduino digital pins, which given a speaker of high enough sensitivity produces more than enough volume to be audible. You may wish to include a small amplifier such as one of the modules based on an LM386 to improve sound output. The rest is a basic Arduino sketch to bring it all together. You can download the code Here if you want to try this yourself.
The scale is fitted into this Project Box, with extensive shielding to minimise the impact of electromagnetic interference from both the cartridge and loudspeaker on the load cell. As machining the box to include a cover for the platform wasn’t practical, I designed da wooden case to hold the scale when not in use which provides plenty of protection.
More detail and a full build blog Here
Software update: Version 2 of the software adds a tare function and a better calibration button routine. Available for download Here
Software update: Version 3.0 of the software is a major update. It adds a better speech translation function, improves the calibration and measurement functions, and greatly improves reading accuracy. The program can now handle numbers up to 1 million as well as minus figures, so can be used in larger scales to weigh heavier weights. Available for download Here
Software update: Version 4 is a major update which further improves calibration and measurement routines, speeds up the initialisation, tidies up the code and replaces the clunky user interface with a neat one-button menu. Available for download Here.
This video shows the scale weighing its own 5 gram calibration weight.