Build It
Do-it-yourself science and technology projects: physics experiments, electronics, home lab, software and sensors.
Build a Precision Scale With a Load Cell and an HX711
Questions and answers on building a load-cell scale with an HX711: the Wheatstone bridge, calibration with a known mass, how much noise…
Self-Host a Service With Docker Compose: Volumes and Backups
A worked Docker Compose file for a self-hosted service: compose anatomy, named volumes, restart policies, healthchecks, updating images with pull and up,…
Build a Raspberry Pi Pico W Temperature Web Server in MicroPython
A MicroPython tutorial for a Pico W web page that shows temperature, using the on-chip sensor or a DS18B20, with code adapted…
How a ZFS Home NAS Protects Data, and Why It Is Not a Backup
Checksums, scrubs, snapshots and RAID-Z explained from the OpenZFS and TrueNAS docs, with a mirror vs RAID-Z1 vs RAID-Z2 table and the…
Measure Earth’s Magnetic Field With a Phone Magnetometer
Answers to common questions on measuring Earth's field with a phone: expected strength, a flip trick that cancels sensor offset, what disturbs…
Build a Hall-Effect RPM Tachometer With an Arduino
A build guide for an Arduino tachometer using a Hall switch and a magnet: how the sensor responds, interrupt-based pulse timing, the…
Why Is My Python Code Slow? cProfile, py-spy and Flame Graphs
Answers to the questions people ask when Python runs slowly: how to read cProfile output, tottime versus cumtime, sampling versus deterministic profiling,…
How to Install Home Assistant on a Raspberry Pi
Which Home Assistant install methods the official docs support on a Raspberry Pi, the Imager steps, first boot, three first integrations, and…
Turn an Old ATX Power Supply Into a Bench Supply Safely
How the green PS_ON wire starts an ATX supply, which wires carry 3.3, 5 and 12 V, why a minimum load matters,…
Log Temperature, Humidity and Pressure With a BME280 and Python
Wire a BME280 to a Raspberry Pi, log readings to CSV with Python, and plot them with matplotlib, with the datasheet's accuracy…
