Skip to content

serialprint/Electronic_Scale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Electronic Scale

PlatformIO Arduino License: MIT Repo

Digital kitchen / lab scale firmware using HX711 load-cell amplifier, SSD1306 OLED (128×32), Arduino Nano, DS18B20 temperature sensor, battery gauge, charging indicator, tare, temperature-aware calibration, and EEPROM storage of the calibration factor.

Author: @serialprint

Step-by-step build (photos & instructions): Precision Weighing With OLED Display on Instructables — same project, detailed walkthrough.


Full documentation, photos & extra files

All project assets (Fritzing, Gerber, schematics, many photos, OLED bitmap sources, G-code, extra STLs at repo root, etc.) are not only in this README — they live in the repository folder below. Open this path on GitHub to browse and download everything:

Location What you will find
Bitmap/ OLED PNG/BMP sources, calibration screen graphics, build photos, WhatsApp/test images, Fritzing PDF copy, etc.
Proje Resimleri/ Same kind of photos duplicated for convenience
Şematik/ (folder Şematik) Schematic PDFs (MCU.pdf, SENS.pdf)
Repo root in that folder Fritzing.pdf, Loadcell.fzz, Hassas_Tarti GERBER.zip, İnfo.pdf, top_3d.gcode, bottom_3d.gcode, top_3d.stl, bottom_3d.stl, …
3B Modeller/Tartı_Scad/ 3D-printable enclosure caps only: Üst_Kapak.stl, Alt_Kapak.stl (+ top.scad / bottom.scad)

Large file note: one huge STL (Tartı5.stl, ~103 MB) is not in the repo — see docs/hardware/GITHUB_SIZE_LIMIT.md.


Preview (gallery)

PCB render Test photo
PCB Test

Schematic overview:

Schematic


Features

Feature Description
Weight HX711 + load cell; scale.get_units() in grams
Display SSD1306 128×32, I²C (0x3C typical)
Temperature DS18B20; used in calibration compensation
Battery Analog read on A0, averaged, mapped to %; icon on the right
Charging When CHARGE_PIN (D10) reads HIGH, charging bitmap is shown
Tare D5 button → scale.tare()
Calibration D6 or invalid EEPROM; on-screen flow K1→K4
Persistence float calibration_factor at EEPROM address 0

Hardware

  • MCU: Arduino Nano (ATmega328) — nanoatmega328new in platformio.ini
  • Load cell + HX711: see pin table
  • OLED: SSD1306 128×32, SDA→A4, SCL→A5
  • DS18B20: 1-Wire (4.7 kΩ pull-up recommended)
  • Buttons: normally INPUT_PULLUP (pressed = LOW)
  • Battery / charge: divider to A0; charge sense on D10 (depends on your PCB)

Pin map

Signal Pin Macro
HX711 DOUT D2 LOADCELL_DOUT_PIN
HX711 SCK D3 LOADCELL_SCK_PIN
DS18B20 data D4 DS18B20_PIN
Tare button D5 DARA_BUTTON_PIN
Calibration button D6 KALIBRASYON_BUTTON_PIN
Battery voltage A0 VOLTAGE_PIN / analogPin
Charge status D10 CHARGE_PIN
LED (optional) D13 HIGH in setup

Software

PlatformIO + Arduino. Libraries are listed in platformio.ini (lib_deps):

  • Adafruit SSD1306, Adafruit GFX
  • HX711
  • OneWire, DallasTemperature
  • EEPROM (AVR)

Serial: 9600 baud.


Build & flash

  1. Open this folder in PlatformIO.
  2. Select env nanoatmega328new.
  3. Build / Upload to the Nano.
git clone https://github.com/serialprint/Electronic_Scale.git
cd Electronic_Scale

Usage (short)

  1. Splash bitmap ~5 s, then measurement unless EEPROM needs calibration.
  2. D5: tare (shows D bitmap briefly).
  3. D6: full calibration (K1…K4 screens).

Calibration core:

calibration_factor = (reading / numeric_value) * (1 + 0.0008 * (28.12 - temperature))

Default reference mass in code: 100 g (numeric_value).


Documentation bundle (summary)

Same as the big table above. Short list:

  • Instructables tutorial: Precision Weighing With OLED Display
  • Fritzing: Fritzing.pdf, Loadcell.fzz
  • Gerber: Hassas_Tarti GERBER.zip
  • 3D: G-code (top_3d.gcode, bottom_3d.gcode), top_3d.stl / bottom_3d.stl in bundle root; enclosure caps in 3B Modeller/Tartı_Scad/ → only Üst_Kapak.stl and Alt_Kapak.stl
  • Bitmap: PNG/BMP assets for OLED, many project photos under Bitmap/
  • Photos: also Proje Resimleri/

See docs/hardware/GITHUB_SIZE_LIMIT.md for the >100 MB STL not stored on GitHub.


License

MIT — see LICENSE.





Elektronik Tartı

PlatformIO Arduino License: MIT Repo

HX711 yük hücresi modülü, SSD1306 OLED (128×32) ve Arduino Nano ile çalışan dijital tartı projesi. Ağırlık gösterimi, pil seviyesi, şarj durumu, dara (tare), sıcaklığa bağlı kalibrasyon ve kalibrasyon değerinin EEPROM’da saklanması desteklenir.

Geliştirici: @serialprint

Adım adım yapım (fotoğraf ve anlatım): Precision Weighing With OLED Display — Instructables — aynı proje, detaylı anlatım.


Tüm dokümanlar, fotoğraflar ve ek dosyalar

Bu README’deki birkaç görsel dışında tüm proje dosyaları (Fritzing, Gerber, şemalar, çok sayıda fotoğraf, OLED bitmap kaynakları, G-code, vb.) repoda şu klasörde:

Konum İçerik
Bitmap/ OLED PNG/BMP kaynakları, kalibrasyon ekran görselleri, test/build fotoğrafları, Fritzing PDF kopyası vb.
Proje Resimleri/ Ek proje fotoğrafları (benzer içerik)
Şematik/ Şema PDF’leri (MCU.pdf, SENS.pdf)
Bu klasörün kökü Fritzing.pdf, Loadcell.fzz, Hassas_Tarti GERBER.zip, İnfo.pdf, top_3d.gcode, bottom_3d.gcode, top_3d.stl, bottom_3d.stl, …
3B Modeller/Tartı_Scad/ Sadece üst/alt kapak STL: Üst_Kapak.stl, Alt_Kapak.stl (yanında top.scad / bottom.scad)

Büyük dosya: ~103 MB Tartı5.stl GitHub’da yok — docs/hardware/GITHUB_SIZE_LIMIT.md.


Önizleme (galeri)

PCB görünümü Test fotoğrafı
PCB Test

Şema özeti:

Şema


Özellikler

Özellik Açıklama
Ağırlık HX711 + yük hücresi; gram
OLED SSD1306 128×32, I²C
Sıcaklık DS18B20; kalibrasyon düzeltmesi
Pil A0 voltajı, ortalama, yüzde; sağda ikon
Şarj D10 = HIGH → şarj bitmap’i
Dara D5
Kalibrasyon D6 veya geçersiz EEPROM; K1–K4
Saklama EEPROM adres 0calibration_factor (float)

Donanım & pinler

  • Nanoplatformio.ini: nanoatmega328new
  • OLED: SDA→A4, SCL→A5
  • DS18B20: 4.7 kΩ pull-up önerilir
Sinyal Pin
HX711 DOUT D2
HX711 SCK D3
DS18B20 D4
Dara D5
Kalibrasyon D6
Pil (ADC) A0
Şarj D10
LED D13 (isteğe bağlı)

Kurulum

  1. PlatformIO ile bu klasörü açın.
  2. Ortam: nanoatmega328new.
  3. Upload ile Nano’ya yükleyin.
  4. Seri port: 9600 baud.
git clone https://github.com/serialprint/Electronic_Scale.git
cd Electronic_Scale

Kalibrasyon (özet)

calibration_factor = (reading / numeric_value) * (1 + 0.0008 * (28.12 - temperature))

Referans ağırlık varsayılan: 100 g (numeric_value).


docs/hardware/loadcell özeti

Yukarıdaki tabloya bakın. Kısa liste:


Lisans

MIT — bakınız LICENSE.


Repository: github.com/serialprint/Electronic_Scale

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors