Building Compact Electronic Scales with ATtiny1614 and HX711

Quick Overview & Specifications

AttributeDetails
PublicationVinjo Engineering & Technology
CategoryHardware & IoT
AuthorVinay
Article TypeTechnical Tutorial & Case Study
Published2026-10-20
Last Updated2026-10-20
License / AccessOpen Educational Resource
Core Engineering Highlights:
  1. Verified hardware architecture, schematics, and pinout diagrams.
  2. Comprehensive firmware routines, protocol benchmarks, and build steps.
  3. Production design rules, tolerances, and thermal considerations.
Related Topic Taxonomy:
  • #Hardware
  • #3D Printing
  • #Electronics
  • #Microcontrollers
  • #Sensors

Digital scale projects represent a staple in modern embedded design, bridging analog sensor conditioning with embedded firmware control. When designing portable measurement devices, key selection criteria include low current consumption in idle states, compact form factors, responsive visual feedback, and reliable mechanical load distribution.

Maker John Bradnam has developed a custom set of electronic scales powered by a Microchip ATtiny1614 microprocessor, an HX711 24-bit ADC module, and a standard 5 kg load cell inside a compact 3D-printed enclosure.

Electronic Scales


Quick Take

  • Architecture: Microchip ATtiny1614 paired with an HX711 24-bit ADC amplifier module.
  • Sensor Core: 5 kg aluminum bar load cell configured as a Wheatstone bridge.
  • Display Interface: 0.91-inch 128x32 I2C OLED screen.
  • Power & Efficiency: Single-cell 3.7 V 120 mAh Li-Po battery leveraging ATtiny deep sleep modes.
  • Fabrication: Custom single/double-sided PCB design coupled with 3D-printed load cell mounts and outer housing.

Understanding the Load Cell Architecture

The sensing mechanism relies on an aluminum bar containing four resistive strain gauges wired in a Wheatstone bridge configuration.

How a Load Cell works

At equilibrium without any load applied, each sensor exhibits identical resistance (approximately 1000 ohms). Applying 5 V across the excitation lines (Red/Black) produces 2.5 V at both the Green and White output signal nodes, resulting in a differential reading of 0 V across the bridge. When downward force is exerted, mechanical deflection changes sensor resistance symmetrically—the tensioned sensors increase in resistance while compressed sensors decrease.

Because the resulting differential output voltage is minuscule, amplification is essential. The SparkFun HX711 module conditions the signal using an integrated low-noise amplifier and a 24-bit analog-to-digital converter (ADC) before passing digitized readings over a two-wire interface.

The 5kgm load cell and HX711 module used in this project

Watch Video Demonstration: Calibration and Operation


Circuit Design and Custom PCB Fabrication

The microcontroller handling data collection, zeroing (tare), and display formatting is the ATtiny1614. It was selected specifically for minimal power draw in sleep mode.

Schematic for the display/microprocessor module

The PCB was designed to accommodate Surface Mount Devices (SMD) to keep the internal assembly compact enough to fit inside the 3D-printed enclosure.

SMD components are used for most of the components

Pro-Tip: When populating dense SMD micro-PCBs, applying solder paste and reflowing using an SMD hot plate significantly speeds up assembly compared to hand-soldering each discrete passives reel.


Assembly Steps

1. Board Soldering and Connectors

Surface mount passives, the ATtiny1614 microcontroller, wire links (for single-sided etchings), the 4-pin right-angle male header for the HX711, and the battery JST socket are soldered directly onto the PCB.

Add SMD components, links and headers

2. Display and Tactile Switch Integration

An unpinned header is glued underneath the display area to serve as a mechanical spacer, followed by mounting the 0.91-inch I2C OLED display and a 6x6mm momentary tactile push-button switch.

Glue display support and add OLED screen & switch

3. Firmware Flashing via UPDI

Because modern ATtiny series microcontrollers use the unified program and debug interface (UPDI) via the reset pin, an external UPDI programmer is required. A temporary lead is tacked to the UPDI pad on the PCB to upload the Arduino C++ sketch before case enclosure.

Connect to UPDI programmer and upload software

4. Mechanical Mounting and Sensor Wiring

The load cell is oriented according to its directional load arrow and fastened with four 12 mm M4 flat head (countersunk) machine screws between the base plate and the top weighing platform.

Load Cell Wiring to HX711:
- Red   -> E+
- Black -> E-
- Green -> A+
- White -> A-

HX711 Wiring to Controller:
- Red   -> VCC
- Black -> GND
- Green -> SCK (PA3)
- White -> DT  (PA2)

Assemble Load Cell and wire to HX711 board

5. Final Enclosure Assembly

The internal electronics are connected to a 3.7 V 120 mAh Li-Po cell, and the front case shell is press-fitted onto the base unit without pinching internal wiring.

Screw in PCB and hook up to HX711 and Battery


Component & Print Specifications

Component / File Specifications Notes / Settings
Microcontroller Microchip ATtiny1614 (20 MHz internal) Programmed via UPDI interface
ADC / Sensor HX711 module + 5 kg Strain Gauge Bar 24-bit resolution, Wheatstone bridge
Display 0.91" Monochrome OLED (128x32) I2C bus interface
Power Supply 3.7 V 120 mAh Li-Po Battery Deep sleep power-down mode
LoadCellBase V2.stl FDM 3D Printed 0.20 mm layer height, full supports
TopPlate V2.stl FDM 3D Printed 0.20 mm layer height, no supports
CaseFront.stl FDM 3D Printed 0.15 mm layer height, no supports

Project Retrospective & Recommendations

While the compact form factor makes for an elegant handheld scale, the author noted that the mechanical footprint of the base exhibits tipping tendencies when loads approach the upper limits of the 5 kg capacity. For future design revisions handling higher masses, extending the front support legs further forward or repurposing the enclosure specifically for 1 kg capacity cells yields significantly better physical stability.


Discussion

Have you integrated load cells or the HX711 ADC into your custom embedded hardware? What strategies do you use for mechanical stabilization in 3D-printed enclosures? Let us know in the comments below!