Skip to content

nathandao/coffee-drip-scale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bluetooth Coffee Drip Scale

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.

demo

Video Version

Components:

  • 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.

Prerequisites

You'll need to have these software installed:

  • Arduino IDE to flash the Wemos R32

  • NodeJS to run the web application.

Hardware setup

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.

wiring

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".

Web interface

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

Development

To develop the frontend, use

npm run dev

License

This project is licensed under the MIT License - see the LICENSE file for details