A bluetooth scale to keep track of your hand brew process. This may be useful if you're brewing your coffee with a V60, Chemex, etc...
Disclaimer: As this is a tinkering project it is not meant for production use, and so far has only been tested a few times on my Linux machine. By following the instructions here, you agree that I am not responsible to any damage done in any form, including your coffee :D
This repository contains both the code for hardware and the web interface for the scale.
-
Wemos R32: Basically an ESP32 in an Arduino Uno board. The reason I go with this is because of the built in 5v output required for the HX711. But any other ESP board and external power supply with 5v should work too.
-
A load cell: Usually these come with a load cell amplifier (the HX711), so you may not need to buy them separately.
-
HX711: load cell amplifier. As the name suggests, it amplifies tiny currents coming from the the load cell make it possible for th eWemos R32 to read the signal.
-
A laptop with bluetooth connection to run the web interface. The Wemos R32 is going to send its data to the web backend via Bluetooth Serial.
You'll need to have these software installed:
-
Arduino IDE to flash the Wemos R32
-
NodeJS to run the web application.
Wiring
This wiring requires no modification to the code, but if you're using a different wiring, make sure pin numbers are updated accordingly in the Arduino sketches.
Install Arduino Libraries:
-
HX711: Download the Arduino HX711 library by downloading the zip file code from here. Open Arduino IDE, go to menu
Sketch > Include Library > Add .ZIP Library > choose the HX711 zip file
. -
Install the esp32 Arduino libraries: follow instruction from the repository's Readme
Add ESP32 boards to Arduino Board Manager
To check, from the top menu, go to File > Preferences
. In the Settings
tab, there should be this link https://dl.espressif.com/dl/package_esp32_index.json
in the Additional Board Manager URLs
. If not, insert the link there, then go to Tools > Board > Boards Manager
, search for esp32
and install.
Now in Tools > Boards
you should be able to see ESP32 Dev Module
in the list. Select it.
Calibrate the load cell & flash the scale sketch
The calibration is needed only once to figure out the CALIBRATION_FACTOR that is specific to your load cell. To do this, follow instruction in this file: ./SparkFun_HX711_Calibration/SparkFun_HX711_Calibration.ino
Then, update CALIBRATION_FACTOR
number in coffee_scale_btserial/coffee_scale_btserial.ino
.
Finally flash your Wemos again with coffee_scale_btserial/coffee_scale_btserial.ino
.
Now the scale readings can be access via a Bluetooth Serial connection with the device "CoffeeScale".
Power on the Wemos.
Once the application started, the app will opens the link http://localhost:8080
automatically in your web browser after successfully connected to the Wemos board.
# enter ./web directory
cd ./web
# install dependencies
npm i
# build the frontend and start the web application.
npm run build && npm start
To develop the frontend, use
npm run dev
This project is licensed under the MIT License - see the LICENSE file for details