• Stars
    star
    127
  • Rank 282,790 (Top 6 %)
  • Language
    C++
  • License
    MIT License
  • Created over 6 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Home automation occupancy sensor using load cells

Load Cell Occupancy Sensor

What is it?

This project is a occupancy sensor that uses a load cell for couches and beds, transmitting data to my Home Assistant server via MQTT over Ethernet.

Why?

Other bed occupancy sensors that I have used in my home automation setup trigger false negatives when rolling around at night. I use bed occupancy to turn on my lights if I get up at night, and I wanted a faster, more accurate solution.

Why PoE?

Wireless home automation devices often make sense only when they are battery powered, if a power cable needs to be run to the device it can carry data too. Designing a low power wireless device is far more complicated than designing a wired device and running an Ethernet cable.

Overview

Load cells β†’ HX711 (ADC) β†’ ATMega328P (MCU) β†’ W5100 (Ethernet) β†’ MQTT Broker β†’ Home Assistant

This sensor takes input from 4 load cells, each supporting one leg of a bed or couch. The load cells are sampled with a ATMega328P (Arduino) using an HX711 load cell ADC. These samples are then transmitted to an MQTT broker via the Wiznet W5100 (same as Arduino Ethernet shield).

Project Contents

  • LoadCell_ArduinoCode - firmware for the ATMega328P
  • LoadCell_Case - 3D printable case designed in OpenSCAD
  • LoadCell_Holder - 3D printable holder for the load cells designed in OpenSCAD
  • LoadCell_HomeAssistant - example Home Assistant configuration
  • LoadCell_KiCAD - schematic and PCB

Media

Home Assistant Card

Front Circuit View

Software Used

Arduino Libraries used

Forks

More Repositories

1

idasen

Python API and CLI for the ikea IDΓ…SEN desk.
Python
119
star
2

monitorcontrol

Python monitor controls using DDC-CI.
Python
113
star
3

w5500-rs

Embedded rust support for the Wiznet W5500 SPI internet offload chip
Rust
34
star
4

hisensetv

Python API to control Hisense brand TVs via their internal MQTT broker.
Python
33
star
5

hackrfone

Rust interface for the HackRF One software defined radio.
Rust
27
star
6

ambientsensor-rs

A rust re-implementation of an old embedded C project.
Rust
18
star
7

FanController

IR remote with Ethernet connectivity for home automation
C++
11
star
8

hisensetv_hass

Custom HomeAssistant component for Hisense televisions
Python
10
star
9

awry

Are we RTOS yet? A simple reckoning of Rust’s readiness for RTOS-related things.
Nix
8
star
10

stm32wl-unlock

Unlock the flash on STM32WL microcontrollers
Rust
8
star
11

esp-rs-nix

esp-rs tools packaged with nix
Nix
7
star
12

stm32wl-lightswitch-demo

Demo project for the stm32wlxx-hal
Rust
7
star
13

ftd2xx-embedded-hal

Implements the rust embedded-hal traits for FTDI devices.
Rust
7
star
14

nix-post-build-hook-queue

A Nix post-build-hook queue to sign and upload store paths.
Nix
6
star
15

bme280-multibus

Embedded rust driver for the Bosch BME280.
Rust
6
star
16

w5500-ll-rs

Low level rust driver for the Wiznet W5500 internet offload chip
5
star
17

stm32-cec

HDMI CEC driver for STM32 microcontrollers
Rust
4
star
18

AmbientSensor

Ambient Environment Sensor for Home Assistant
C
4
star
19

dp800

Rigol DP800 API and DP832 TUI
Rust
3
star
20

nucleo-wl55jc2-rs

Rust boilerplate for the Nucleo-WL55JC2 development board.
Rust
3
star
21

clap-num

clap v3/v4 number parsers
Rust
3
star
22

flake8-bitbucket

A flake8 plugin for bitbucket code insights.
Python
3
star
23

poe-addon

Simple board to add power over Ethernet to a project
Nix
2
star
24

nucleo-h743zi2-rs

Rust boilerplate for the Nucleo-H743ZI2 development board.
Rust
2
star
25

cast2svg

Create an animated SVG from an asciicast.
Rust
2
star
26

cover

A controller to automate my window shades
Python
2
star
27

newam-mqtt

Another incomplete rust crate for MQTT
Rust
2
star
28

corsairmi-rs

Read data from Corsair RMi and HXi series power supplies.
Rust
1
star
29

nixos-bpi-r4

NixOS on the Banana Pi BPI-R4
Nix
1
star
30

eeprom25aa02e48-rs

Platform agnostic Rust driver for the 25AA02E48 serial EEPROM device using embedded-hal traits.
Rust
1
star
31

stm32wl-subghz

Embedded rust driver for the STM32WL series sub-GHz radio peripheral.
Rust
1
star
32

setup

setup for my dotfiles
Shell
1
star