In the world of hardware development, a technical specification (technical assignment, or TZ) is often viewed as the foundation of any serious project. It defines requirements, timelines, interfaces, and acceptance criteria. But what happens when you skip that step entirely? A recent article on Habr, titled Detector of life without technical specification, demonstrates exactly that: a developer decided to build a life-detection device without formal requirements, relying instead on intuition, experimentation, and iterative refinement. This approach is not only viable — it can lead to surprising discoveries and creative solutions.
In this guide, we will explore the concept behind life detectors, why starting without a technical specification can be a powerful strategy, and how you can build your own presence-sensing prototype using affordable components and open-source tools. Whether you are a hobbyist, an engineer, or someone interested in smart-home and rescue technologies, this article will give you a practical roadmap.
What Is a Life Detector and Why Does It Matter?
A life detector, in the broadest sense, is a device that identifies the presence of a living being — usually a human — in a given area. Unlike motion detectors that trigger on any movement, life detectors focus on subtle signs of life, such as breathing, heartbeat, or small muscle tremors. This capability has critical applications:
- Search and rescue: Detecting survivors trapped under rubble after earthquakes or explosions.
- Smart homes: Automating lighting, heating, or security systems based on occupancy and vital signs.
- Elderly care: Monitoring elderly people for falls, abnormal breathing, or prolonged inactivity.
- Vehicle safety: Detecting a child or pet left inside a parked car.
Traditional motion sensors, like passive infrared (PIR) detectors, are cheap and widely used, but they only trigger on significant changes in infrared radiation. A person sitting still or lying still — possibly unconscious — may not be detected. That is why engineers have turned to more advanced technologies.
What Does "Without a Technical Specification" Mean?
The Habr article that inspired this guide explores a project where the developer did not start with a formal document. Instead of a predefined list of requirements, the project began with a simple question: "Can I detect life using inexpensive sensors?" The developer then iteratively tested different sensors, adjusted sensitivity, and refined the detection logic through trial and error. This approach is sometimes called exploratory prototyping or constructive design research.
Skipping the technical specification has several advantages:
- Freedom to experiment: Without strict constraints, you can try unconventional ideas.
- Faster initial results: You start building immediately, rather than spending weeks writing documents.
- Learning-oriented: Every failure becomes a lesson that shapes the final product.
The downside is risk: without clear goals, you may end up with a device that does not solve anyone's actual problem. In the Habr article, the developer mitigated this by focusing on a single core scenario — detecting a person who is stationary but alive. That focused, even informal, approach kept the project on track.
Technologies for Life Detection
Before building your own life detector, it is important to understand the available sensing technologies. The table below compares the most common options for hobbyist and industrial prototypes.
| Technology | Principle | Cost Range | Sensitivity to Breathing | False Positives | Power Consumption |
|---|---|---|---|---|---|
| Passive Infrared (PIR) | Detects changes in infrared heat | $2–$10 | Low | Medium (movement only) | Very low |
| Microwave Radar (e.g., Doppler modules) | Detects movement via reflected microwaves | $10–$30 | Medium | High (even small movements) | Medium |
| mmWave Radar (e.g., 60 GHz modules) | Measures micro-Doppler signatures | $30–$150 | High | Low | Medium |
| Thermal Imaging | Captures heat map, detects body heat even in darkness | $50–$500+ | Medium | Low | High |
| Ultrasonic | Measures distance/reflection changes due to breathing | $5–$20 | Low–Medium | High (air turbulence) | Low |
For a citizen-level project, the most interesting choice is mmWave radar because it can detect tiny movements like chest expansion during breathing. Modules from companies such as Silicon Labs or Texas Instruments are now available on breakout boards, and some can even estimate heart rate. However, mmWave radar requires more complex signal processing. If you are new to this field, start with a PIR sensor, then graduate to a microwave Doppler module.
Step-by-Step Guide: Build A Simple Life Detector Without a Spec
This tutorial follows the spirit of the Habr article: no formal requirements, just a clear goal and a willingness to iterate. We will build a device that detects whether a person is stationary but alive, using an ESP32 microcontroller and a microwave radar sensor (e.g., the common HB100 Doppler module). The same logic applies to mmWave sensors with minor modifications.
Step 1: Define the Core Idea in One Sentence
Without a technical specification, you need a mission statement. For this project, the mission is: "Detect the presence of a living person who is lying or sitting still, and trigger an alert if no signs of life are found for 60 seconds."
Write down your own mission. It must be clear enough to guide your decisions, but flexible enough to accommodate new ideas.
Step 2: Gather the Hardware
Here is the minimal component list:
- ESP32 development board ($5–$10)
- HB100 microwave Doppler sensor or similar ($5–$15)
- A small OLED display or an LED (for feedback)
- Jumper wires and breadboard
- A 5V power source (USB power bank works fine)
Optional: an MQ-7 or other environmental sensor if you want to track air quality as an additional life-assurance parameter.
Step 3: Connect the Sensor
The HB100 sensor has three pins: GND, VCC (5V), and IF (output). Connect GND to ESP32 GND, VCC to a 5V pin (or directly to the USB 5V line), and IF to a GPIO pin that supports analog input (e.g., GPIO36 on ESP32). Since the IF output is a small AC signal, you should add a simple RC filter (10 kΩ resistor and 10 µF capacitor) between IF and GPIO to smooth the signal. The following schematic can help:
HB100 IF o---[10k]---+---[10µF]---+
| |
GPIO36 GND
Step 4: Write the Basic Detection Code
The HB100 Doppler sensor outputs a voltage proportional to motion velocity. When a person is completely still, the output is nearly constant. When they breathe, the chest movement creates a small but detectable fluctuation. The trick is to measure the variation of the signal over a short window.
Below is a simple MicroPython script for the ESP32. It samples the analog input, computes the standard deviation of the last 50 samples, and treats a value above a threshold as a sign of life.
import machine
import time
import math
SENSOR_PIN = 36
THRESHOLD = 20 # Will be adjusted after experimentation
WINDOW_SIZE = 50
adc = machine.ADC(machine.Pin(SENSOR_PIN))
adc.atten(machine.ADC.ATTN_11DB) # 0-3.6V range
values = []
while True:
# Read and store a new sample
values.append(adc.read())
if len(values) > WINDOW_SIZE:
values.pop(0)
if len(values) == WINDOW_SIZE:
mean = sum(values) / WINDOW_SIZE
variance = sum((x - mean) ** 2 for x in values) / WINDOW_SIZE
std_dev = math.sqrt(variance)
if std_dev > THRESHOLD:
print("Life detected! std_dev =", std_dev)
else:
print("No movement...")
time.sleep(0.1)
This code is intentionally minimal. In a real project, you would use digital signal processing, such as a Fast Fourier Transform (FFT), to isolate the frequency band associated with breathing (0.2–0.5 Hz). But for a first prototype, standard deviation works surprisingly well.
Step 5: Calibrate the Threshold Through Experimentation
Now comes the fun part — and where the "no technical specification" aspect shines. Run the script and observe the printed std_dev values under three conditions:
- Empty room: std_dev should be low, ideally near zero.
- Sitting still and breathing normally: std_dev will rise slightly above the baseline.
- Talking or moving: std_dev will be significantly higher.
Set your THRESHOLD between the empty-room value and the breathing-only value. In practice, you may need to test multiple people and room positions. Document your findings in a short log. This log is your de facto technical specification, built from empirical data rather than assumptions.
Step 6: Add a Life-Lost Alert
The goal is to detect when no movement is detected for too long. Extend the script to track the last time a "life" event occurred.
last_life_time = time.time()
ALERT_TIMEOUT = 60
while True:
# ... sampling code ...
if std_dev > THRESHOLD:
last_life_time = time.time()
print("Life detected")
if time.time() - last_life_time > ALERT_TIMEOUT:
print("ALERT: No life signs for 60 seconds")
# Here you can turn on an LED, send a notification, etc.
For a real rescue application, this feature would connect to a communication module. You could integrate the ESP32 with a cloud service to send push notifications, but that is beyond this tutorial.
Step 7: Iterate and Expand
Once the basic prototype works, consider these improvements:
- Use a mmWave radar module (e.g., BGT60LTR11AIP) to detect breathing more reliably.
- Add a temperature sensor to differentiate a living human from a warm inanimate object.
- Implement a simple DFT (Discrete Fourier Transform) to filter out noise.
- Build a small enclosure to protect the sensor from drafts and external interference.
Each iteration is a learning cycle, just like the project described in the Habr source article.
Practical Tips: Pitfalls to Avoid
Building a life detector without a spec means you will encounter issues that a traditional requirements document might have anticipated. Here are the most common pitfalls and how to handle them.
1. False Positives from Fan or Window Drafts
Microwave sensors can detect the movement of air? Not directly, but they can detect a moving object like a curtain or a spinning fan. Place the sensor away from windows, vents, and rotating objects. If necessary, use an acrylic shield that is transparent to microwaves but blocks air movement.
2. Sensitivity Drift Over Time
The ADC readings may shift due to temperature changes or power supply fluctuations. Instead of using an absolute threshold, continuously update a moving baseline. For example, compute the median of the last 500 samples and use the deviation from that median.
3. Detection Range and Angle
Most radar modules have a narrow beam. The Habr project likely required a directional antenna. Test the sensor at different distances and angles. The HB100 module, for instance, has a detection range of about 2–16 meters, but its sensitivity to breathing drops significantly beyond 3 meters.
4. Power Consumption for Battery Operation
If your device runs on batteries, the ESP32's active mode consumes too much power. Use deep sleep between samples (for example, wake up every 2 seconds, take a quick reading, and go back to sleep). This approach can extend battery life from a few days to several weeks.
5. Ethical and Privacy Concerns
Life detectors, especially those using radar, can potentially monitor people without their consent. Always disclose the presence of such devices when used in shared spaces, and process data locally when possible.
From the Habr News Article: A Real-World Example
As the source article illustrates, a developer without a formal technical specification created a functional life detector that could identify a stationary person. The project emerged from a simple problem — how to tell if someone in a chair is just resting or has lost consciousness. The developer experimented with an off-the-shelf sensor, adjusted the detection algorithms, and ended up with a device that meets the core need. This is a perfect example of how agile, exploratory development can accelerate innovation in the hardware space.
We recommend reading the original publication for more technical details: Source.
Is Skipping the Technical Specification Right for You?
The answer depends on the context. For a regulated medical life detector, a complete technical specification is non-negotiable. But for a citizen project, a hypothesis-driven setup can be more efficient. The key is to balance freedom with a clear core question. Write down your mission, set up a simple test protocol, and iterate.
If you are planning to integrate your life detector with a home automation platform, consider using standard communication protocols like MQTT or REST. Many platforms, including those used by certain AI-course providers, support connecting custom IoT devices via APIs. For example, ASI Biont supports connecting to various services through API integration — see more on asibiont.com/courses. This can enable you to send life-alert notifications to your smartphone or a monitoring dashboard.
Conclusion
Building a life detector without a technical specification is not only possible; it can be an empowering experience. The method taught in the Habr article demonstrates that a well-defined mission and iterative experimentation can outweigh a thick stack of documents. By following the practical steps above, you can create a simple but effective presence-sensing device that truly performs. Start with a basic sensor, refine your thresholds, and gradually add complexity. The field of life detection is growing rapidly, and your independent experiments may contribute to safer homes and more effective rescue operations.
Remember: a technical specification is a tool, not a prerequisite. Sometimes the most valuable discoveries come from projects that begin with just a question and a willingness to experiment.
This article is based on a public news story from Habr. All facts presented here reflect the source material as understood by the author. Product names and sensor models mentioned are for educational purposes only.
Comments