This is the kind of article that can let you independently choose your own way of working with sensors on your projects, or next time when you watch a tutorial, you will ask: “Why did we choose this and not that?”
I love engineering, and I mostly implement it in almost every aspect of my life. It all starts with curiosity and problem-solving. If I face a problem, how will I solve it? Well, the same way I thought about choosing sensors.
I was disappointed in how we were taught about sensors. In each session, we just tried memorizing each sensor when we actually had to know why we chose it in the first place, what separates it from others, and how we can actually know each sensor and each model we can choose instead of going back to the same one we were taught before.
You need to recognize the problem, then ask yourself questions. So here’s how I formed an engineered system to choose the most suitable sensor, with a real-world example I have been in, of course.
Question 1: What physical quantity am I trying to measure?
This is a main question, and with it, you can see what physical aspect you want to measure. Is it distance? temperature? light intensity? force? humidity? gas/chemicals? position? and so on.
There is another sub-question for this one once you choose what physical quantity you want.
Complementary question: What’s the type of data I need?
- Binary: yes/no (e.g., “Is there an object in front?”)
- Relative: more/less (e.g., “Object is closer than before”)
- Absolute: exact value (e.g., “Object is 32.5 cm away”)
Question 2: What are the requirements?
Requirements here usually depend on the robot’s mission and your budget, but we can go further.
Try asking yourself:
- Range (min/max measurable value)
- Accuracy/Precision (how close and how repeatable)
- Response time (fast enough for real-time control?)
- Operating conditions (indoor/outdoor, temperature, vibration, humidity… etc.)
- Cost
- Power consumption (important for battery-powered robots)
Then see what you should prioritize, some can be tolerated, others should be focused on.
Here’s a quick example: for an obstacle-avoidance robot, you might only need 1–2 m detection range, ±2 cm accuracy, response <50 ms, and <100 mW power draw.
Next Step: List possible sensor categories
With the question “What physical quantity am I trying to measure?”, you have narrowed a huge range of sensors, giving you just a few to choose from. You can take this table as an example of common sensor types for each physical quantity:
Physical Quantity | Common Sensor Types |
---|---|
Distance/Proximity | ultrasonic, LiDAR, ToF, IR, stereo camera |
Position/Rotation | encoders, IMUs, GPS |
Light | LDRs, photodiodes, color sensors, spectrometers |
Temperature | Thermistors, RTDs, Infrared thermometers |
Force/Weight | load cells, FSRs, piezo sensors |
Gas/Chemicals | MQ-series, Electrochemical, NDIR |
Then, once you come up with the category, check for models of that type.
This step requires you to make a search on your search engine, or you can use LLMs like ChatGPT to make it easier. Try checking for possible models, then see their characteristics and what they can do, and check their range.
You can also import datasheets of models you have on your list and make the AI chatbot list the characteristics for you to facilitate the selection process.
Going back to the example of the obstacle-avoidance robot, you can use this prompt:
“Summarize this [sensor model] datasheet for me with range, accuracy, FOV, and power in simple terms.”
Eliminate by Constraints
Using the answers to your question “What are the requirements?” and the previous step, you will filter each model until you come up with what suits you. For example:
- Remove sensors above your budget.
- Remove those requiring more processing than your microcontroller can handle.
- Remove those not suited for your environment.
- Remove those failing accuracy/speed requirements.
A real use case of this methodology
We want, for example, to make a car that goes in a straight line and checks for obstacles on its right and left sides. If found, it turns and goes for it.
To detect the obstacle, we need a sensor that checks if there’s an object nearby, so we can assume we want: ultrasonic sensor, LiDAR, IR sensor, camera, etc.
We then eliminate choices depending on cases like whether we prioritize performance, cost, or consumption. For example, if we want just a simple robot car with Arduino, then the camera is out because it depends on computer vision (an MCU isn’t capable of that). LiDAR is also not suitable because it’s expensive.
We have IR sensors and ultrasonic sensors. Now, is the obstacle something that can be detected by an IR sensor and at the distances we need? If yes, choose the IR sensor. If no, then ultrasonic is the best choice.
Now the model: should I use something like an HC-SR04, or should I go for a ToF? For my case, I want precise detection at 90 degrees so I can turn for it easily and eliminate it. Since the HC-SR04 has a range of 15 degrees, it may detect the object way early, while ToF here can be useful. So overall, I’ll choose a ToF.

Key Takeaways
- Always start with what you need to measure, not what you already have.
- Requirements like range, accuracy, and environment decide your options.
- Datasheets are your best friend, and AI can help you read them faster.
- Testing in real conditions is non-negotiable.
No comments yet