«DiY» WePosture#
Good posture through equilibrium. WIP - Work-In-Progress
Let’s tinker gadgets
Time estimate: One afternoon (net)
Cost estimate: Far below 50 Euro (Raspberry Pi, Monitor, Keyboard, Mouse not included)
Skill level: Intermediate hobby tinkerer
Background#
Recently I met a physician in the field of orthopaedics, sports medicine and performance diagnostics. I learned from him that a good posture is important for our health and well-being. So let’s create some thing!
The Gadget#
With a …
home-made Balance Board (like a Wii Balance Board) with hardware used in digital scales, voltage amplifiers (HX711)
a (little) oversized microcontroller, Raspberry PI 5 (RPI5), we can directly work on, so a full-blown computer.
WebApp (Full-Stack with FARM-Stack: FastAPI, React, MongoDB) to visualize the data and to provide a user interface for the user to interact with the gadget. In the DataBase historical health data can be stored and analyzed.
BOM - Bill Of Material#
Production (and Development):
1x SD-Card 32G
1x Power adapter 5V, enough current for powering RPI5
1x USB-C cable for powering RPI5
1x Breadboard 830 points
Enough Jumper wires male-male
Enough Jumper wires male-female
1x Ebay: Digital Scale Set (4x Load Cell 50kg each, 1x Amplifier HX711)
Development (in addition):
1x Monitor
1x Keyboard
1x Mouse
SBOM - Software Bill Of Material#
Production (and Development):
Python 3 12.5
hx711-multi 1.4.1
Development (in addition):
Visual Studio Code 1.92.2
pipx 1.1.0
Poetry 1.8.3
Resources#
Sketches#
Here some sketches:

Expert Dialogs#
Here some GPT-4o chats:
Insights in Work-In-Progress#

Balance board with top side made of glass waiting and 1k Resistors waiting to get to the four HX711 amplifiers of in the circuit.#

Sketch on UI/UX#

RPI 4B connected to 2x4 HX711, Power, Monitor, Keyboard and Mouse#

Pinout connections 1 of 2#

Pinout connections 2 of 2#
Software (Repository: basejumpa/WeBalance ) already acquires data. Here the continuous output (obsolete, still the output of just 4 load cells connected):
--snip--
read duration: 0.969 seconds, rate: 10.3 Hz
raw ['1990.750', '-28956.286', '-1740.286', '-17075.444']
wt ['1990.750', '-28956.286', '-1740.286', '-17075.444']
read duration: 0.968 seconds, rate: 10.3 Hz
raw ['1995.625', '-28946.571', '-1719.857', '-17096.286']
wt ['1995.625', '-28946.571', '-1719.857', '-17096.286']
read duration: 0.978 seconds, rate: 10.2 Hz
raw ['1998.714', '-28930.429', '-1654.143', '-17004.875']
wt ['1998.714', '-28930.429', '-1654.143', '-17004.875']
--snap--
Next step: connect each load cell to its own HX711 as shown here:

Circuit one cell connected to one hx711. Origin: Arduino Scale with HX711 and 50kg Bathroom Scale Load Cells | Step by Step Guide | Connecting one load cell#
Flash SD-Card with Raspberry Pi OS Lite 64-bit:

Initial OS settings on Raspberry Pi OS Lite 64-bit#