Skip to content

πŸ“± Transform'r Android phone into a precision digital scale u'g advanced touch pressure algorithms. Features physics-based measurements, dual calibration system, and modern Material Design 3 UI. Safely measure objects up to 300g with real-time force visualization. Built w'h Kotlin Jetpack Compose.

License

Notifications You must be signed in to change notification settings

EXELANCE-LLC/Dahmer-Weight-VT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± Dahmer - Digital Scale App

Transform your Android phone into a precision digital scale using advanced touch pressure algorithms.

Android Kotlin Jetpack Compose Material Design

License: MIT API

🎯 About

Dahmer is an innovative Android application that leverages your device's touch pressure sensors and accelerometer to create a functional digital scale. Using advanced physics algorithms and machine learning techniques, it can accurately measure small objects up to 300 grams.

✨ Key Features

  • πŸ”¬ Physics-Based Measurement: Implements proper Force = Pressure Γ— Area calculations
  • βš–οΈ Dual Calibration System: Zero-point and weight-based calibration for accuracy
  • πŸ“Š Real-time Visualization: Live force index and weight display with smooth animations
  • πŸ›‘οΈ Safety Warnings: Automatic alerts for weights that could damage your screen
  • 🎨 Modern UI: Beautiful Material Design 3 interface with landscape optimization
  • πŸ“± Multi-Device Support: Works on phones and tablets with pressure sensors
  • πŸ’Ύ Persistent Calibration: Saves your calibration settings between sessions
  • πŸ”„ Unit Conversion: Switch between grams and ounces

πŸš€ How It Works

Physics Algorithm

Force Index = Average Touch Pressure Γ— Contact Area
Weight (grams) = Force Index Γ· Calibration Factor

The app uses a sophisticated two-step calibration process:

  1. Zero Calibration: Establishes baseline when screen is empty
  2. Weight Calibration: Uses known reference weight to calculate conversion factor

Supported Weight Range

  • Minimum: 0.5 grams (detection threshold)
  • Recommended: Up to 200 grams
  • Maximum Safe: 300 grams (with warnings)

πŸ“‹ Requirements

  • Android 7.0 (API level 24) or higher
  • Touch Pressure Sensor (most modern Android devices)
  • Accelerometer (standard on all Android devices)
  • 4GB RAM recommended for smooth operation

Device Compatibility

βœ… Samsung Galaxy series (S8+, Note 8+)
βœ… Google Pixel series
βœ… OnePlus devices
βœ… Most flagship Android phones from 2017+
❓ Check app compatibility before installation

πŸ› οΈ Installation

Option 1: Download APK

  1. Go to Releases
  2. Download the latest APK file
  3. Enable "Install from Unknown Sources" in Android settings
  4. Install the APK

Option 2: Build from Source

# Clone the repository
git clone https://github.com/EXELANCE-LLC/Dahmer-Weight-VT.git
cd Dahmer-Weight-VT

# Open in Android Studio
# Build and run on your device

πŸ“– Usage Guide

Initial Setup

  1. Launch the app and grant necessary permissions
  2. Check compatibility - app will notify if sensors are unavailable
  3. Start scale by tapping the START SCALE button

Calibration Process

  1. Zero Calibration:

    • Ensure screen is completely clean and empty
    • Tap "Calibration" β†’ "Zero Cal."
    • Wait for confirmation
  2. Weight Calibration:

    • Place a known-weight object (recommended: 5-20g coin)
    • Enter the exact weight in the dialog
    • Tap "Weight Cal."
    • Calibration complete! βœ…

Measuring Objects

  1. Clean the screen thoroughly
  2. Place object gently in the center of the weighing area
  3. Apply gentle pressure for stable reading
  4. Read the measurement in the main display

Best Practices

  • 🧽 Keep screen clean for accurate readings
  • πŸͺΆ Use light pressure - excessive force can damage screen
  • πŸ“ Center objects on the weighing area
  • ⏱️ Wait for stabilization (2-3 seconds)
  • πŸ”„ Re-calibrate periodically for best accuracy

⚠️ Safety Guidelines

Important Warnings

  • Maximum 300g: Exceeding this may damage your screen
  • No sharp objects: Use protective layer if needed
  • Gentle pressure only: Let object's weight do the measuring
  • Clean surface: Dust/debris affects accuracy
  • Room temperature: Extreme temperatures affect sensors

Not Suitable For

❌ Heavy objects (>300g)
❌ Sharp or pointed items
❌ Wet or liquid materials
❌ Professional/commercial weighing
❌ Medical dosage measurements

πŸ—οΈ Technical Architecture

Core Components

  • TouchPressureManager: Sensor data processing and physics calculations
  • ScaleViewModel: Business logic and state management
  • ScaleScreen: Modern Compose UI with real-time updates
  • PreferencesManager: Calibration data persistence

Technologies Used

  • Kotlin: 100% Kotlin codebase
  • Jetpack Compose: Modern declarative UI
  • Coroutines: Asynchronous programming
  • StateFlow: Reactive state management
  • Material Design 3: Latest design system
  • Android Sensors API: Hardware sensor access

🀝 Contributing

We welcome contributions! Here's how you can help:

Development Setup

# Fork the repository
# Clone your fork
git clone https://github.com/EXELANCE-LLC/Dahmer-Weight-VT.git

# Create feature branch
git checkout -b feature/amazing-feature

# Make your changes
# Test thoroughly on real devices

# Commit and push
git commit -m "Add amazing feature"
git push origin feature/amazing-feature

# Create Pull Request

Areas for Contribution

  • πŸ› Bug fixes and stability improvements
  • πŸ“± Device compatibility testing and fixes
  • 🎨 UI/UX enhancements and animations
  • πŸ”¬ Algorithm improvements and accuracy tuning
  • 🌍 Internationalization and translations
  • πŸ“š Documentation and tutorials

πŸ“Š Accuracy & Limitations

Expected Accuracy

  • Β±2-5 grams for objects 10-100g
  • Β±5-10 grams for objects 100-300g
  • Better accuracy with proper calibration

Factors Affecting Accuracy

  • Device quality: Premium phones have better sensors
  • Calibration: Regular re-calibration improves accuracy
  • Environment: Temperature, humidity, vibrations
  • Object properties: Shape, material, surface contact

This is NOT a Professional Scale

βš–οΈ This app is designed for approximate measurements and educational purposes. For precision weighing needs (jewelry, medication, etc.), please use a professional digital scale.

πŸ“ License

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

πŸ‘¨β€πŸ’» Authors

EXELANCE LLC

πŸ™ Acknowledgments

  • Android Sensors API documentation and community
  • Material Design 3 guidelines and components
  • Physics algorithms and calibration techniques research
  • Beta testers and community feedback

πŸ“± Screenshots

Main Scale Interface
image

Screenshots showing the modern Material Design 3 interface

πŸ”„ Version History

v1.0.0 (Latest)

  • βœ… Initial release with core functionality
  • βœ… Physics-based measurement algorithm
  • βœ… Dual calibration system
  • βœ… Material Design 3 UI
  • βœ… Safety warnings and limits
  • βœ… Landscape mode optimization

Upcoming Features

  • πŸ”œ Multi-language support
  • πŸ”œ Measurement history and export
  • πŸ”œ Advanced statistics and analytics
  • πŸ”œ Cloud sync for calibration data
  • πŸ”œ Voice commands and accessibility

⭐ Star this repository if you find it useful!

Made with ❀️ by EXELANCE LLC

About

πŸ“± Transform'r Android phone into a precision digital scale u'g advanced touch pressure algorithms. Features physics-based measurements, dual calibration system, and modern Material Design 3 UI. Safely measure objects up to 300g with real-time force visualization. Built w'h Kotlin Jetpack Compose.

Topics

Resources

License

Stars

Watchers

Forks

Languages