Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mplogas/smartmass

Making every Gram count!
https://github.com/mplogas/smartmass

arduino esp32 esp8266 hx711 iot load-cell mqtt oled rfid-rc522 smartmass ssd1306

Last synced: 3 months ago
JSON representation

Making every Gram count!

Awesome Lists containing this project

README

        

# SmartMass
## Make every gram count!

### A smart weighing solution for almost anything, but FDM filament spools in particular.

*pre-release quick project overview*

#### Motivation

The almighty YT algorithm suggested a 3D filament weighing solution to me recently, and as I have quite a few "almost empty" filament spools laying around I reached out to the maker. Unfortunately, no part of the suggested solution was open source so I decided to start my own open source solution. From a simple local solution with a tiny OLED display, the scope quickly escalated with (useful?) features such as MQTT read/write or RFID read/write. The planned feature list can be found on the projects page.

As of now, the SmartMass device connects to an MQTT broker via WiFi and posts events to the ```smartmass/``` topic. The scale can be configured, calibrated and tared via MQTT using the documented payload in the `./payload` folder. It also supports reading (and writing) filament spool metadata on Mifare 1K S50 tags (they're available as stickers!) with an RFID-RC522 module.

#### BOM (bill of materials)

- a 2kg / 3kg load cell
- an HX711 signal ampifier
- an 0.96" 128x64 OLED display
- an RFID-RC522 module
- an ESP32-WROOM / ESP8266
- PLA / PETG / ... to print the models

#### Getting started

**Broker**
1. Set up an MQTT broker (mosquitto, emqx, hive, ...) and create a user for the device

**Hardware**

*TODO*

**Code:**
1. Open the project with platformio, I'm using the platformio plugin in VSCode.
2. copy ```configuration.h.template``` to ```configuration.h``` and fill in WiFi, MQTT and PIN information
1. *TODO: add detailed guide for options*
3. build and upload the code