Cameras & SecurityTechnician

Package Delivery and Pickup Alert with a Smart Weight Mat

Load cells under a board on your porch tell you when a package lands — and when it leaves, so you know if it was taken.

LevelTechnician
Time2.5 h
Est. cost~$69
Steps5

Cameras see a lot, but weight is simpler: a box makes the reading jump and pickup makes it fall. ESPHome reads an HX711 load-cell amplifier, and Home Assistant decides whether to notify you.

⚠ SAFETY
Outdoors, rain and electricity don't mix: use only low-voltage USB power, keep all electronics in a sealed box and plug the adapter into a GFCI-protected, weather-covered outlet.

Mission steps

  1. Build the platform

    Place the four load cells at the corners between two rigid boards (or 3D-printed cell mounts) so all the weight passes through them.

  2. Wire the HX711

    Connect the four half-bridge cells to the HX711 in the standard bridge pattern, then DT to GPIO4, SCK to GPIO5, VCC to 3V3 and GND.

  3. Flash and calibrate

    Flash the config, note the raw value empty and with a known weight, and put both into calibrate_linear.

  4. Create the alerts

    In Home Assistant: weight rises over 0.3 kg → 'Package delivered'; weight drops back to zero while nobody is home → 'Package picked up'.

  5. Weatherproof it

    Put the ESP32 and HX711 in a sealed box under the mat and run a USB cable to a covered outdoor-rated outlet or indoors.

Code

esphome:
  name: porch-mat

esp32:
  board: esp32-s3-devkitc-1

logger:
api:
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

sensor:
  - platform: hx711
    name: "Porch mat weight"
    dout_pin: GPIO4
    clk_pin: GPIO5
    gain: 128
    update_interval: 2s
    unit_of_measurement: kg
    accuracy_decimals: 2
    filters:
      - median:
          window_size: 5
          send_every: 1
      - calibrate_linear:          # replace with your own readings
          - 120000 -> 0
          - 520000 -> 2.0

Tip: test every script on the bench before installing it in a moving machine.

Questions

Will a cat set it off?

It can. Add a minimum duration (for example 30 seconds) before the alert, or require a camera snapshot to confirm the package.