Part selection
Please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.
Learning Objectives
In this exercise, you'll get some experience doing one of the most common things as an engineer: selecting parts or components.
Part Selection
In developing a system, we need to figure out the bits and pieces that go into, whether those are HW or SW. Here we focus on HW, in part because we tend to have less experience with it.
Let's be clear: picking parts is hard.
Have you ever spent an hour or two trying to find something on Amazon, looking through different options, trading off price, reviews, availability, and so on? Well, picking parts is like that except harder. Because each type of part, be it a resistor, sensor, microcontroller, connector, gasket, etc., has its own language and key parameters that one needs to understand in order to choose it. As a random example, here is a 300-page book telling you how to pick O-rings. Yes, O-rings. And you can meet people who are experts at doing this after years of experience.
So yes, picking parts is hard, but the way to learn is to just start doing it. And, I should add, it's alot of fun. Sure, you can read some Dostoevsky or Nabokov and learn about the human experience. But we get to read datasheets! I love spending hours going thru datasheets to learn about parts and figure out the right one for my task. We hope you find it interesting as well.
Speccing a RH/T sensor
On the sensor board that we are designing in EX01 is a sensor that measures temperature (T) and relative humidity (RH). Temperature sensing is the "Hello World" of environmental sensing, and humidity is a pretty common measurement alongside it. So it's a good way to get going, and we'll use that example here.
If we want to measure RH/T, what component should we select? We need specifications. You will be developing specs for your semester project, and if your project needs a particular functionality (like measuring RH/T, or a big metal object) you'll need to decide on the specifications that the subsystem should meet. Let's go thru some of them for an RH/T sensor.
- Temperature range & accuracy: This is what it sounds like. Over what range can the sensor operate, and how accurate is the measurement. We're not doing anything crazy, just measuring outdoor temp, so let's pick -20 C to 50 C, which should cover the expected outdoor temperatures around here. In terms of accuracy, let's choose +/- 0.5 deg F, which translates to \leq +/- 0.28 deg C.
- RH range and accuracy: Similarly for RH, we need to spec the same thing. 100% humidity is basically rain, so let's go 0-100%. RH is harder to measure accurately, so let's choose an accuracy of \leq +/- 2%.
These first two specs are quite specific to the type of component, in this case RH/T sensor. Many of the following specs will be more broadly applicable to parts you might need to specify.
- Availability: It's not useful if the ideal part is not in stock. So let's make sure we pick a part that is in stock. We like to buy electronics from Digikey, because it is reputable, has fast shipping, deals with low-volume orders, is domestic. One further note is that Digikey allows so-called "Marketplace" products, which is like Amazon Marketplace, basically Digikey is the portal but you're buying the part from a 3rd-party. Let's not do that. Sometimes this is a good idea, especially if you're already committed to a part or working on a legacy system, but in general things that are on Marketplace are not in the regular system for a reason (reaching end-of-life and/or not actually manufactured anymore).
- Back-Order, "Lead-Time is X", and/or "Contact Supplier": If you see this just treat it as if it is not in stock. This is like waiting on somebody to finish up their current relationship to get into a relationship with you. It will lead only to heartbreak. The only exception is if you've found "the one," but that likely won't happen to you here.
- Supply Voltage: We should pick a part that works easily with the rest of our system, which runs off 3.3V.
- Power: We want to conserve energy, so let's choose a power consumption of \leq 1 mW. Like many electronics, we'll find that there are a variety of operating modes for these sensors, all with different power consumption. So let's spec our power for a typical RH/T measurement (not sleeping or idle, and not using a heater or anything like that).
- Communciations: Our sensor has to communicate its data with the MCU. There are many ways to do that. It could send the data as analog signals (where voltage or current would encode the values) or any number of digital protocols. A super common one for sensors with modest amount of data is I2C. We've already used I2C in lab. So let's pick a sensor that has I2C comms. It can also have other comms on it (sometimes they'll support both SPI and I2C for example) so don't necessarily rule things out if they over-deliver.
- Package: The package is often a big differentiator. Remember that Pebble teardown and how they had to cram all those components into a tiny board? For them choosing a part with the abolutely smallest package was key. For us it's a bit different: we want a package that is relatively easy to hand-solder. There are dozens of different electronics packages. We know we want a surface mount (SMT) package and not a thru-hole one. With SMT, some packages that are relatively straightforward for us to solder are SOIC, DFN, QFN, even BGA.
- Cost: This is critical. We want our systems to be as inexpensive as possible. Let's choose a maximum price of \leq $1.50 when purchased at Digikey at 1000 part quantities. We need to specify the quantity since the price varies dramatically depending on how many you buy.
- "Tariffs May Apply": The site has been saying this for years. Don't worry about this.
We could keep adding to the specs. But for the purposes of this exercise we have enough.
Finding Parts
Now that we know the type of part and its specs, we need to compare options.
A very good way to start to narrow down parts is to use Digikey's parametric search. If you go to Digikey's Humidity, Moisture Sensors" page you'll see that there are 1385 options. That's alot.
You'll also see a number of columns where you can choose specs, which will narrow down the options, until you have a reasonable number to choose from. Then you need to get into the datasheets.
To keep things simple enough for a pset, we've chosen 5 parts for you to compare:
- Honeywell HIH8120-021-001
- Honeywell HIH7130-000-001
- Sciosense ENS210-LQFM
- Sensirion SHT30-ARP-B10KS
- Sensirion SHT40-AD1B-R3
Your job is to look through each of these parts to figure out which one meets our spec. Only one does.
To keep things interesting, you'll also need to figure out which specs each failing part does NOT meet.
Here's a suggested approach:
-
Find the part on the digikey website. When you get to the product page, Digikey will list a number of the specs for that part. So you can read those off easily.
-
Not every spec is on that page. So you'll also need to open up the datasheet and read through it to find some of the other specs.
As a reminder, here is our spec list:
- Operating temperature: -20 C to 50 C
- Temperature accuracy: \leq +/- 0.3 deg C
- Humidity range: 0-100% RH
- Humidity accuracy: \leq +/- 2%.
- Supply voltage: 3.3 V
- Output type: I2C this is how they refer to the comms protocol
- Power consumption: \leq 1 mW under typical active measurement (no heating)
- Mounting Type: Surface Mount (not Through Hole)
- Package/Case: DFN, QFN, SOIC, or BGA
- Cost: \leq 1.50 @ 1000 part quantities. If there's a minimum order of >1000 parts, then it won't meet our cost spec.
- Availability: "In stock"
In the questions below, you'll enter a list of the specs that each part DOES NOT meet. So if the Honeywell HIH8120-021-001 does not meet the supply voltage and power consumption specs, you would enter [5,7].
For the one part that meets all the specs, you enter an empty list [].
IRL
There are a few important differences I'd like to point out when you go to select parts for your semester project, or in industry.
First, you'll likely start with the parametric search in order to get to a reasonable list to look through, rather than have 5 carefully curated options to choose from.
Second, in many situations there is more than one part that meets spec. If that's the case, take the "W" and move on. Choose the cheapest option, or the most popular one (usually the one with most stock).
Third, sometimes there are no options that meet spec. So you need to revisit your specs and relax one or more of them, which might involve talking with a team member, or another team, or the customer.