July 6, 2020
Description
Seeing how smart espresso or coffee scales can cost hundreds of dollars, I decided to build my own. I designed all of the 3D files and created a companion web-app that runs in any browser that supports the Bluetooth API (Chrome would be my choice).
The open-source code for the app and firmware can be found at https://github.com/beeb/coffee-scale-app
I sourced the springs and contacts for the 18650 Li-ion cell from some AA batteries holder I had laying around, see picture attached (you lift the small rivet prongs with a blade to remove it from the plastic housing, then transfer to the printed base and bend them back outwards to secure them.
Bill of Materials:
The OLED screen, HX711 breakout board, and ESP32 are held in place with thin double-sided sticky tape (a small surface on either extremity is enough). Depending on the thickness of the tape, you might need to sand down the button cap a little bit so that it doesn't depress the button in its resting position.
NOTE: If your HX711 breakout board has separate VCC and VDD pins, one user mentioned they had to short/bridge the two pins together in order to have correct readings.
Since my power switch was so big, I couldn't fit it nicely on the sides of the scale, so I decided to make it accessible from the bottom.
The ESP32 Thing has a built-in charging circuit which means that USB can charge the Li-ion cell when the switch is in the ON position.
The battery voltage is in the range of 2.5V to 4.2V which exceeds the maximum 3.6V of the ESP32 pins. As such, I made a very basic voltage divider with 2 resistors having the same value. I directly soldered the resistors on the GND + VBAT pins and ran a couple of wires to the sensing pin. The resulting sensed voltage between the two resistors will be half of the real voltage. The code has a lookup table (with interpolation) to determine the remaining capacity percentage.
Printed in PolyMax PLA but pretty much any material should work.
No supports needed, overhangs print as bridges.
License:
Creative Commons — Attribution — Noncommercial — Share Alike